Bachelor of Science in Computer Science - Quantitative Reasoning Category I/II and ENG 114
120 Total Units Required
Minimum Number of Units in the Major: 71
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) | 3 |
GE Area C | 3 | |
GE Area D | 3 | |
Units | 15 | |
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 D | 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 | |
SF State Studies or University Elective - Take Two | 7 | |
Units | 13 | |
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 | Depending on courses completed through Early Start, students in Pathway/Category III or IV may be required to enroll in a support course to complement their Quantitative Reasoning/B4 requirement. There are multiple course options for this pathway. Before enrolling in a B4 course, students should verify their MATH Pathway/Category in their Student Center. Information regarding the courses that correspond with your MATH Pathway/Category can be found on the Developmental Studies Office Website. |
3 | To avoid taking additional units, it is recommended that you meet SF State Studies requirements (AERM, GP, ES, SJ) within your GE or major. |
4 | Major Electives (12 units) Select four. The courses listed below constitute a partial list of suitable courses for meeting the elective requirements. Most graduate CSC courses may also be used as senior electives. The department frequently offers, under the title of CSC 698, new courses that meet elective requirements. Many students also find that, by their senior year, they are prepared to undertake certain graduate courses in Computer Science. Occasionally, students in good academic standing may take CSC 699 instead of a regularly scheduled course. Students are advised to check university and college regulations regarding academic standing requirements. Finally, it is occasionally possible to use a course taken in a different department or at another university to satisfy elective requirements. Any course substitutions must be approved in advance by a senior advisor. 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) |
5 | CSC 648 serves as the major capstone course. |