The pathway below represents an efficient and effective course taking sequence for this program. Individual circumstances might require some changes to this pathway. It is always recommended that you meet with an academic counselor to develop a personalized educational plan.
The courses have been intentionally placed and should be prioritized in the order in which they appear. If you are unable to take all the courses in a semester, you should prioritize enrolling in the courses in the order below. Some courses have been noted as “Appropriate for Intersession” . Should you need (or want) to take classes in the summer and/or winter intersessions, the program recommends these courses as appropriate for the condensed schedule of the intersessions.
Some pathways combine a “Certificate of Achievement” and an “Associate Degree”. If you are pursuing only the Certificate of Achievement, you are only required to take the courses marked “Program Requirement” .
All pathways include at least one “Gateway Course” which introduces you to the program and/or field of study and helps you decide if you want to continue with this Academic and Career Path.
Most Associate degrees (though not Associate Degrees for Transfer) require satisfying the SMC Global Citizenship requirement. If the Program Requirements do not include a “Global Citizenship course” , be sure to select a General Education course that also satisfies Global Citizenship.
Computer Science majors cover a broad spectrum of courses ranging from core computer science to a variety of branch fields of computer science. This major provides the student with the basic skills required of core computer science. Courses include programming in low-level and essential languages, computer hardware and data structures. Students finishing this major are well equipped to work in the field of computer science as well as transfer to a four-year degree program in this area.
Upon completion of the program, students will:
- Upon completion of this program, students will manage projects, analyze systems, develop software, and program in a variety of computer languages; author Web pages and develop Web applications; utilize computer hardware; and create and manipulate data structures.
Icon Key
-
Gateway Course
-
Program Requirement
-
General Education
-
Appropriate for Intersession
-
Available Online
-
Global Citizenship
Semester 1
15 Units
This is a beginning course intended for students who plan to take additional computer science courses. The course covers an introduction to programming concepts such as designing, coding and testing. Other concepts such as computer hardware, operating systems, compilers and databases are also discussed. The Internet and an introduction to cybersecurity and cloud computing are also included.
An intensive preparation for calculus. This course is intended for computer science, engineering, mathematics and natural science majors. Topics include algebraic, exponential, logarithmic and trigonometric functions and their inverses and identities, conic sections, sequences, series, the binomial theorem and mathematical induction.
- Prerequisite: MATH 20 and
- Prerequisite: MATH 32
- Skills Advisory: Eligibility for ENGL 1
- 2A: Mathematic
- B4 - Mathematics/Quantitative Thinking
- Area IV-B: Language and Rationality (Group B) Option 1
This introductory course in rhetoric emphasizes clear, effective written communication and preparation of the research paper.
- Prerequisite: ENGL 21B or
- Prerequisite: ENGL 22
- Prerequisite: ESL 19B or
- Prerequisite: Group A on the Placement Test
- 1A: English Composition
- A2 - Written Communication
- Area IV-A: Language and Rationality (Group A)
This course provides an exploration of intellectual, psychological, social and physical factors that impact lifelong learning, well-being and success. Topics include motivation and self-efficacy; critical thinking, academic integrity and active study strategies; health issues and lifestyle choices; relating to others as a global citizen; written and oral communication; time management; career exploration; and educational planning.
- E - Lifelong Understanding and Self-Development
Elective Course 1 unit
Semester 2
15 Units
This first course in calculus is intended primarily for science, technology, engineering and mathematics majors. Topics include limits, continuity, and derivatives and integrals of algebraic and trigonometric functions, with mathematical and physical applications.
- Prerequisite: MATH 2 or
- Prerequisite: MATH 3 and
- Prerequisite: MATH 4
- 2A: Mathematic
- B4 - Mathematics/Quantitative Thinking
- Area IV-B: Language and Rationality (Group B) Option 1
This course will include a review of the concepts of structured programming, error checking, sorting, searching, data types, advanced array handling methods, pointers, and data structures. Applications in business, mathematics, and science will be discussed.
- Skills Advisory: CS 3
- Area IV-B: Language and Rationality (Group B) Option 2
ENGL 2 recommended for transfer options
See the full list: SMC GE Area III Course
Elective Course 3 units
Elective Course 1 unit
Semester 3
15 Units
This course is a continuation of C language programming using the C++ superset of C. C++ offers the following enhancements to C: operator and function overloading, information hiding, inheritance, and virtual functions. C++ will be used in the context of both traditional and object-oriented programming.
- Skills Advisory: CS 50
- Area IV-B: Language and Rationality (Group B) Option 2
Java is a general-purpose language for writing platform-independent, robust, secure programs. This course is intended for students who have completed a course in C programming. Students will learn how to develop Java applications and applets. Topics covered include the Java programming language, object-oriented programming (OOP), the Java applications programming interface (API), and graphical user interfaces (GUI's).
- Skills Advisory: CS 19 or
- Skills Advisory: CS 50
- Area IV-B: Language and Rationality (Group B) Option 2
This course provides an introduction to fundamental operations and components that make computers possible. Topics include: number systems; Boolean algebra and logic gates (AND, OR, NOT, XOR, and NAND); simplification of Boolean functions; combination logic; sequential logic; design of the adder, subtractor, ROM, decoder, and multiplexer; register transfer logic; and processor logic, control logic, and microcomputer system design.
- Skills Advisory: MATH 20
SMC GE Area II-B Course 3 units
SMC GE Area I Course 3 units
Elective Course 3 units
Semester 4
15 Units
This advanced programming course will use the C++ language to teach methods of representing and manipulating data within a computer. Topics include stacks, queues, trees, sorting, searching, modeling, and dynamically created storage spaces. Students will learn the problem solving skills necessary to write complex computer programs and to make important software design and maintainability decisions.
- Prerequisite: CS 52
- Area IV-B: Language and Rationality (Group B) Option 2
This course is an introduction into the study of computer algorithms and data structures. This advanced programming course will use the Java language to teach methods of representing and manipulating data within a computer. Topics include stacks, queues, trees, sorting, searching, modeling, and dynamically created storage spaces. Students will learn the problem solving skills necessary to write complex computer programs and to make important software design and maintainability decisions.
- Prerequisite: CS 56
- Area IV-B: Language and Rationality (Group B) Option 2
Assembly Language allows the programmer to fully utilize all of the special features of the computer in the most efficient manner. It also aids the high-level language programmer in writing subroutines. The student will write Assembly Language programs that utilize the Intel Pentium chip architecture.
- Skills Advisory: CS 50
- Area IV-B: Language and Rationality (Group B) Option 2
SMC GE Area II-A Course 3 units
Elective Course 3 units
Elective Course 3 units
Required Concentration Group: Select one of the following groups: (6 units)
6 Units
This advanced programming course will use the C++ language to teach methods of representing and manipulating data within a computer. Topics include stacks, queues, trees, sorting, searching, modeling, and dynamically created storage spaces. Students will learn the problem solving skills necessary to write complex computer programs and to make important software design and maintainability decisions.
- Prerequisite: CS 52
- Area IV-B: Language and Rationality (Group B) Option 2
This course is a continuation of C language programming using the C++ superset of C. C++ offers the following enhancements to C: operator and function overloading, information hiding, inheritance, and virtual functions. C++ will be used in the context of both traditional and object-oriented programming.
- Skills Advisory: CS 50
- Area IV-B: Language and Rationality (Group B) Option 2
This course is an introduction into the study of computer algorithms and data structures. This advanced programming course will use the Java language to teach methods of representing and manipulating data within a computer. Topics include stacks, queues, trees, sorting, searching, modeling, and dynamically created storage spaces. Students will learn the problem solving skills necessary to write complex computer programs and to make important software design and maintainability decisions.
- Prerequisite: CS 56
- Area IV-B: Language and Rationality (Group B) Option 2
Java is a general-purpose language for writing platform-independent, robust, secure programs. This course is intended for students who have completed a course in C programming. Students will learn how to develop Java applications and applets. Topics covered include the Java programming language, object-oriented programming (OOP), the Java applications programming interface (API), and graphical user interfaces (GUI's).
- Skills Advisory: CS 19 or
- Skills Advisory: CS 50
- Area IV-B: Language and Rationality (Group B) Option 2