Computer Science, B.S.
The Bachelor of Science in Computer Science offers students a comprehensive foundation that spans a wide range, from theoretical and algorithmic to cutting-edge developments. This foundation equips them to take on varied categories of work, including the necessary theories, principles and practices to design and implement software.
The curriculum begins with a sequence of courses, covering programming and data structures. If students have knowledge of these topics, but do not have the courses to transfer, nor AP scores to submit, they may take the Computer Science Placement Examination to waive one or more of these courses. The test may be taken only once and scores are valid for two consecutive semesters.
In addition to the requirements for the major, students must meet all other university requirements for a bachelor’s degree. Please consult the Graduation Requirements for the Bachelor’s Degree section in this catalog for complete information.
The Bachelor of Science degree in Computer Science is accredited by the Computing Accreditation Commission of ABET, www.abet.org.
Computer Science Core (48 units)
Lower-Division Core (15 units)
- CPSC 120 - Introduction to Programming (3)
- CPSC 121 - Object-Oriented Programming (3)
- CPSC 131 - Data Structures (3)
- CPSC 223C - C Programming (3) or
- CPSC 223J - Java Programming (3) or
- CPSC 223N - Visual C# Programming (3) or
- CPSC 223P - Python Programming (3)
- CPSC 240 - Computer Organization and Assembly Language (3)
Upper-Division Core (33 units)
- CPSC 315 - Professional Ethics in Computing (3)
- CPSC 323 - Compilers and Languages (3)
- CPSC 332 - File Structures and Database Systems (3)
- CPSC 335 - Algorithm Engineering (3)
- CPSC 351 - Operating Systems Concepts (3)
- CPSC 353 - Introduction to Computer Security (3)
- CPSC 362 - Foundations of Software Engineering (3)
- CPSC 471 - Computer Communications (3)
- CPSC 481 - Artificial Intelligence (3)
- CPSC 490 - Undergraduate Seminar in Computer Science (3)
- CPSC 491 - Senior Capstone Project in Computer Science (3)
Mathematics Requirements (18 units)
- MATH 150A - Calculus I (4)
- MATH 150B - Calculus II (4)
- MATH 270A - Mathematical Structures I (3)
- MATH 270B - Mathematical Structures II (3)
- MATH 338 - Statistics Applied to Natural Sciences (4)
Science and Mathematics Electives (12 units)
- BIOL 101 - Elements of Biology (3)
- BIOL 101L - Elements of Biology Laboratory (1)
- BIOL 151 - Cellular and Molecular Biology (4)
- BIOL 152 - Evolution and Organismal Biology (4)
- CHEM 120A - General Chemistry (5)
- CHEM 120B - General Chemistry (5)
- CHEM 123 - Chemistry for Engineers (3)
- CHEM 125 - General Chemistry B Lecture (3)
- GEOL 101 - Introduction to Geology (3)
- GEOL 101L - Introduction to Geology Laboratory (1)
- GEOL 201 - Earth History (3)
- GEOL 201L - Earth History Supplemental Lab (1)
- MATH 250A - Calculus III (4)
- MATH 250B - Introduction to Linear Algebra and Differential Equations (4)
- PHYS 225 - Fundamental Physics: Mechanics (3)
- PHYS 225L - Fundamental Physics: Laboratory (1)
- PHYS 226 - Fundamental Physics: Electricity and Magnetism (3)
- PHYS 226L - Fundamental Physics: Laboratory (1)
- PHYS 227 - Fundamental Physics: Waves, Optics, and Modern Physics (1-3)
- PHYS 227L - Fundamental Physics: Laboratory (1)
General Education (27 units)
All students at Cal State Fullerton are expected to complete prescribed units of General Education that are made up of courses outside of their chosen disciplines. Students seeking a degree in Computer Science have been provided exceptions from some of the General Education requirements. For this reason, it is important that students take the approved G.E. courses for Computer Science majors that are found in their Titan Degree Audit (TDA). Additionally, they should confirm the G.E. courses that are required within their specific programs with their respective advisers.
Computer Science electives build upon foundational material introduced in the Lower-Division Core. Up to 3 units may be lower-division; the remaining units must be upper-division.
- CPSC 254 - Software Development with Open Source Systems (3)
- CPSC 301 - Programming Lab Practicum (2)
- CPSC 349 - Web Front-End Engineering (3)
- CPSC 375 - Introduction to Data Science and Big Data (3)
- CPSC 386 - Introduction to Game Design and Production (3)
- CPSC 411 - Mobile Device Application Programming (3)
- CPSC 431 - Database and Applications (3)
- CPSC 439 - Theory of Computation (3)
- CPSC 440 - Computer System Architecture (3)
- CPSC 449 - Web Back-End Engineering (3)
- CPSC 452 - Cryptography (3)
- CPSC 454 - Cloud Computing and Security (3)
- CPSC 455 - Web Security (3)
- CPSC 456 - Network Security Fundamentals (3)
- CPSC 458 - Malware Analysis (3)
- CPSC 459 - Blockchain Technologies (3)
- CPSC 462 - Software Design (3)
- CPSC 463 - Software Testing (3)
- CPSC 464 - Software Architecture (3)
- CPSC 466 - Software Process (3)
- CPSC 474 - Parallel and Distributed Computing (3)
- CPSC 479 - Introduction to High Performance Computing (3)
- CPSC 483 - Introduction to Machine Learning (3)
- CPSC 484 - Principles of Computer Graphics (3)
- CPSC 485 - Computational Bioinformatics (3)
- CPSC 486 - Game Programming (3)
- CPSC 489 - Game Development Project (3)
- CPSC 499 - Independent Study (1-3)
- EGGN 495 - Professional Practice (1-3)
- MATH 335 - Mathematical Probability (3)
- MATH 340 - Numerical Analysis (3)
- MATH 370 - Mathematical Model Building (3)
Graduation Requirement (3 units)
- HONR 201B - Honors Seminar: American Institutions and Values since 1900 (3)
- POSC 100 - American Government (3)