Bachelor of Science in Computer Science Roadmap – Quantitative Reasoning Category I/II and ENG 114
120 Total Units Required
Minimum Number of Units in the Major: 72
This roadmap is a suggested plan of study and does not replace meeting with an advisor. Please note that students may need to adjust the actual sequence of courses based on course availability. Please consult an advisor in your major program for further guidance.
First Semester | Units | |
---|---|---|
CSC 210 | Introduction to Computer Programming (Core Computer Science Requirement) | 3 |
CSC 211 | Introduction to Software Lab (Core Computer Science Requirement) | 1 |
ENG 114 | Writing the First Year: Finding Your Voice (A2) 1 | 3 |
MATH 226 | Calculus I (Major Mathematics and Physics, B4) 2 | 4 |
GE Area A 3 | 3 | |
Units | 14 | |
Second Semester | ||
CSC 220 | Data Structures (Core Computer Science Requirement) | 3 |
MATH 227 | Calculus II (Major Mathematics and Physics) | 4 |
PHYS 220 & PHYS 222 |
General Physics with Calculus I and General Physics with Calculus I Laboratory (Major Mathematics and Physics, B1, B3) |
4 |
GE Area A | 3 | |
GE Area E | 3 | |
Units | 17 | |
Third Semester | ||
CSC 230 | Discrete Mathematical Structures for Computer Science (Core Computer Science Requirement) | 3 |
CSC 317 | Introduction to Web Software Development (Core Computer Science Requirement) | 3 |
PHYS 230 & PHYS 232 |
General Physics with Calculus II and General Physics with Calculus II Laboratory (Major Mathematics and Physics) |
4 |
GE Area C | 3 | |
GE Area D | 3 | |
Units | 16 | |
Fourth Semester | ||
CSC 256 | Machine Structures (Core Computer Science Requirement) | 3 |
CSC 340 | Programming Methodology (Core Computer Science Requirement) | 3 |
MATH 324 | Probability and Statistics with Computing (Major Mathematics and Physics) | 3 |
GE Area B: Life Science (B2) | 3 | |
GE Area C | 3 | |
Units | 15 | |
Fifth Semester | ||
CSC 300GW | Ethics, Communication, and Tools for Software Development - GWAR (Core Computer Science Requirement) | 3 |
CSC 413 | Software Development (Core Computer Science Requirement) | 3 |
MATH 325 | Linear Algebra (Major Mathematics and Physics) | 4 |
GE Area C | 3 | |
GE Area D | 3 | |
Units | 16 | |
Sixth Semester | ||
CSC 415 | Operating System Principles (Advanced Computer Science Requirement) | 3 |
CSC 510 | Analysis of Algorithms I (Advanced Computer Science Requirement) | 3 |
Major Elective (12 Units Total) - Take One 4 | 3 | |
GE Area F ± | 3 | |
GE Area UD-B: Upper-Division Physical and/or Life Sciences (Consider SF State Studies Course) | 3 | |
Units | 15 | |
Seventh Semester | ||
CSC 600 | Programming Paradigms and Languages (Advanced Computer Science Requirement) | 3 |
Major Elective (12 Units Total) - Take Two 4 | 6 | |
GE Area UD-C: Upper-Division Arts and/or Humanities (Consider SF State Studies Course) | 3 | |
GE Area UD-D: Upper-Division Social Sciences (Consider SF State Studies Course) | 3 | |
Units | 15 | |
Eighth Semester | ||
CSC 648 | Software Engineering (Advanced Computer Science Requirement) 5 | 3 |
Major Elective (12 Units Total) - Take One 4 | 3 | |
U.S. and California Government | 3 | |
SF State Studies or University Elective | 3 | |
Units | 12 | |
Total Units | 120 |
1 | ENG 114 can only be taken if you complete Directed Self-Placement (DSP) and select ENG 114; if you choose ENG 104/ENG 105 through DSP you will satisfy A2 upon successful completion of ENG 105 in the second semester; multilingual students may be advised into alternative English courses. |
2 | To determine the best B4 course option, students should complete the online advising activity at mathadvising.sfsu.edu. Questions? Contact Gator Smart Start. |
3 | To avoid taking additional units, it is recommended that you meet the SF State Studies (AERM, GP, ES, SJ) requirements within your GE or major. |
4 | Major Electives (12 units) All students must complete four 3-unit senior electives. At least 9 units must be CSC courses. In addition to the courses listed below, any 600-level CSC course, with the exception of the advanced requirements courses CSC 600 and CSC 648, can be used as an elective. The department also allows one CSC graduate course to be used as a senior elective (700-level or higher, and non-paired excluding CSC 895, CSC 898, CSC 897, and CSC 899). Exceptions must be approved in advance by a senior advisor. CSC 508 Machine Learning and Data Science for Personalized Medicine (3 units) CSC 520 Theory of Computing (3 units) CSC 615 UNIX Programming (3 units) CSC 620 Natural Language Technologies (3 units) CSC 621 Biomedical Imaging and Analysis (3 units) CSC 630 Computer Graphics Systems Design (3 units) CSC 631 Multiplayer Game Development (3 units) CSC 637 Software Techniques for Computer Music (3 units) CSC 641 Computer Performance Evaluation (3 units) CSC 642 Human-Computer Interaction (3 units) CSC 645 Computer Networks (3 units) CSC 651 System Administration (3 units) CSC 652 Introduction to Security and Data Privacy (3 units) CSC 656 Computer Organization (3 units) CSC 658 Programming Cafe (3 units) CSC 664 Multimedia Systems (3 units) CSC 665 Artificial Intelligence (3 units) CSC 667 Internet Application Design and Development (3 units) CSC 668 Advanced Object Oriented Software Design and Development (3 units) CSC 675 Introduction to Database Systems (3 units) CSC 690 Interactive Multimedia Application Development (3 units) CSC 698 Topics in Computing (3 units) CSC 699 Independent Study (1-3 units) MATH 400 Numerical Analysis (3 units) MATH 425 Applied and Computational Linear Algebra (3 units) |
5 | CSC 648 serves as the major capstone course. |
± | Given catalog rights, fall 2022 transfer students do not need to complete an Area F course. |