Computer Science Major Degree Requirements
This page describes the degree requirements for a bachelor’s of science degree in Computer Science at San Diego State University. In addition to the requirements listed here students have also satisfy the university wide graduation requirements listed in the Graduation Requirements (pdf) section of the SDSU General Catalog. The Computer Science (pdf) section of the General catalog describes the degree requirements and courses offered by the department.
The General Catalog is published each year and is the official SDSU document describing degree requirements for students entering the university that year. See the Graduation Requirements for the rules determining which year of the catalog sets your graduation requirements. There are special rules for California community college students and CSU transfer students. This page describes the computer science major requirements for students starting SDSU any time from 1996 to present.
The degree requirements are divided into four areas:
- Lower Division Requirements
- Science Requirements
- Upper Division Required Courses
- Upper Division Electives
The following courses are required for computer science majors.
- CS 107 Introduction to Computer Programming (3 units)
- CS 108 Intermediate Computer Programming (3 units)
- CS 237 Machine Organization and Assembly Language (3 units)
- MATH 150 Calculus I (4 units)
- MATH 151 Calculus II (4 units)
- MATH 245 Discrete Mathematics (3 units)
- STAT 250 Basic Statistical Methods (3 units) OR STAT 119 Elementary Statistics (3 units)
- MATH 254 Introduction to Linear Algebra (3 units)
Computer science majors must take one of the yearlong sequences of science listed below. You must take a year sequence in the same subject. In addition computer science majors must take additional science course(s) to complete a total of 12 units, selected with approval of a computer science adviser (see below).
Yearlong Science Sequences
Computer science majors must take
- PHYS 195 Principle of Physics (3 units)
- PHYS 195L Principles of Physics (1 unit)
- PHYS 196 Principles of Physics (3 units)
- PHYS 196L Principles of Physics (1 unit)
- CHEM 200 General Chemistry (5 units)
- CHEM 201 General Chemistry (5 units)
- BIOL 203 Principles of Cell and Molecular Biology (3 units)
- BIOL 203L Principles of Cell and Molecular Biology Lab (1 units)
- BIOL 204 Principles of Organismal Biology (3 units)
- BIOL 204L Principles of Organismal Biology Lab (1 units)
Additional Science Coursework
Additional science courses to complete 12 units with approval of a computer science adviser. These must be science courses intended for science or engineering majors with a strong emphasis on quantitative methods. The following courses are approved, with the restrictions given at the bottom of this section.
ANTH 101, 301, 402
ASTR 101, 109, 201
BIOL 100, 100L, 101, 101L, 307, 315, 319, 324, 326, 335, 336
CHEM 100, 102, 300
ENV S 100, 301
GEOG 101, 101L, 103
GEOL 100, 101, 104, 200, 221, 300, 301, 302, 304, 305
NAT SCI 100
OCEAN 100, 320
PHYSICS 180A, 180B, 182A, 182B
You need 12 units of science, including the year-long sequence with labs, which in certain cases can involve 3 rather than 4 courses. If you take Chem 200/201 you need only one additional science course. If you take Biol 203, 203L, 204, 204L and the Chem 200 prerequisite you do not need a fourth course. The additional science courses must be from a department different from the main year-long science sequence. (These statements refer to the requirements for the CS major, not General Education requirements.)
Lower division courses taken to satisfy major requirements may also be used to satisfy general education requirements. If you satisfy the science requirements of the Computer Science B.S. degree without satisfying Gen. Ed. IV.A (such as with the Biology or Chemistry sequence, or by taking an extra lower division science elective), then you need not satisfy Gen. Ed. IV.A. In this case you must substitute an additional course from areas IV.B or IV.C
Computer science majors must take the following courses.
- CS 310 Data Structures
- CS 320 Programming Languages
- CS 370 Computer Architecture
- CS 440 Social, Legal and Ethical Issues in Computing
- CS 490 Senior Seminar
- CS 530 Systems Programming
- CS 560 Algorithms and Their Analysis
- CS 570 Operating Systems
Computer science majors must take one of the following courses.
- STAT 350A Statistical Methods
- MATH 541 Intro to Numerical Analysis and Computing
- STAT 550 Probability
- STAT 551A Mathematical Statistics
- MATH 579 Combinatorics
Computer Science majors must take 12 units of electives with the approval of a computer science major advisor. Possible electives are listed below, and areapproved. All courses listed are 3 units. See the catalog for course descriptions (pdf).
- CS 470 UNIX System Administration
- CS 503 Scientific Database Techniques
- CS 514 Database Theory and Implementation
- CS 520 Advanced Programming Languages
- CS 524 Compiler Construction
- CS 532 Software Engineering
- CS 535 Object Oriented Programming and Design
- CS 537 Programming for GIS
- CS 540 Software Internationalization
- CS 550 Artificial Intelligence
- CS 553 Neural Networks
- CS 556 Robotics: Math Programming and Control
- CS 558 Computer Simulation
- CS 559 Computer Vision
- CS 562 Automata Theory
- CS 572 Microprocessor Architecture
- CS 574 Computer Security
- CS 576 Computer Networks and Distributed Systems
- CS 580 Client-Server Programming
- CS 581 Computational Linguistics
- CS 582 Introduction to Speech Processing
- CS 583 3D Game Programming
- CS 596 Advanced Topics in Computer Science (Topics vary each semester)
The student may not take both CS 503 and CS 514.
CS 301, CS 501, CS 496 and CS 499 are not appropriate CS major electives.
One appropriate elective may be taken outside the CS department, with PRIOR approval of a CS adviser.
The statements found on this page are for informational purposes only. While every effort is made to ensure that this information is up to date and accurate, official information can be found in the university publications.
CS Prerequisite Structure