Graduation Requirements
Preparation
High school students are encouraged to take four (4) years of English, four (4) years of mathematics including trigonometry, one (1) year of biological science, and one (1) year of physical science. Courses in calculus, physics or chemistry, and computer programming are recommended. Experience in clear, concise, and careful writing is valuable for success in all courses.
Special Conditions for the Bachelor of Science in Software Engineering
All courses counted toward the major, including Preparation for the Major courses, must be completed with a grade of C (2.0) or better. A minimum of fifteen (15) upper-division units counted toward the major must be completed at Cal State San Marcos.
Lower-Division Computing Essential (12 Units)
- CS 111 - Computer Science I Units: 4
- CS 211 - Computer Science II Units: 4
- CS 231 - Assembly Language and Digital Circuits Units: 4
Math and Science Supporting Courses (30 Units)
- BIOL 104 - Principles of Biology: Human Emphasis Units: 4
- MATH 160 - Calculus with Applications, I Units: 5
- MATH 162 - Calculus with Applications, II Units: 4
- MATH 242 - Introduction to Statistics Units: 3
- MATH 264 - Introduction to Linear Algebra Units: 3
- MATH 270 - Basic Discrete Mathematics Units: 3
One of the following PHYS or CHEM sequences:
- PHYS 101 - Introduction to Physics I Units: 4
- PHYS 102 - Introduction to Physics II Units: 4
-
or
- PHYS 201 - Physics of Mechanics and Sound Units: 4
- PHYS 202 - Physics of Electromagnetism and Optics Units: 4
-
or
- CHEM 150 - General Chemistry Units: 4
- CHEM 150L - General Chemistry Lab Units: 1
- CHEM 160 - General Chemistry II Units: 3
Upper-Division Computing Essential (15 Units)
- CS 311 - Data Structures and Algorithms Units: 3 **
- CS 351 - Programming Languages Units: 3
-
One of the following sequences:
- CS 331 - Computer Architecture Units: 3
- CS 433 - Operating Systems Units: 3
- CS 435 - Real-Time Concepts for Embedded Systems Units: 3
-
or
- CS 443 - Fundamentals of Database Systems Units: 3
- CIS 444 - Web Programming Units: 3
- CS 446 - Cloud Computing Units: 3
-
**Satisfies the upper-division General Education units in Area BB (Mathematics or Science)
Upper-Division Software Engineering Core (24 Units)
- PHIL 348 - Ethics in Engineering Units: 3 ***
- SE 370 - Introduction to Software Engineering Units: 3
- SE 451 - Software Requirements and Design Units: 3
- SE 461 - Software Testing and Quality Units: 3
- SE 471 - Software Architecture Units: 3
- SE 481 - Software Project Planning and Management Units: 3
- SE 490 - Senior Project I Units: 3
- SE 491 - Senior Project II Units: 3
-
***Satisfies the upper-division General Education units in Area CC (Arts and Humanities)
Software Engineering Electives (6 Units)
Chosen from CS 331, SE/CS courses numbered 400 or higher, excluding CS 490.