Bachelor of Science in Computer Science Roadmap

120 Total Units Required
Minimum Number of Units in the Major: 74

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.

Plan of Study Grid
First SemesterUnits
CSC 101 Introduction to Computing (Core Computer Science Requirement) 3
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 - Take Two 3 6
 Units16
Second Semester
CSC 215 Intermediate Computer Programming (Core Computer Science Requirement) 4
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 E 3
 Units15
Third Semester
CSC 220 Data Structures (Core Computer Science Requirement) 3
CSC 230 Discrete Mathematical Structures for Computer Science (Core Computer Science Requirement) 3
MATH 225 Introduction to Linear Algebra (Major Mathematics and Physics) 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
 Units16
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
 Units15
Fifth Semester
CSC 300GW Ethics, Communication, and Tools for Software Development - GWAR (Core Computer Science Requirement) 3
CSC 317 Introduction to Web Software Development (Core Computer Science Requirement) 3
CSC 510 Analysis of Algorithms I (Advanced Computer Science Requirement) 3
GE Area C 3
GE Area D 3
 Units15
Sixth Semester
CSC 413 Software Development (Core Computer Science Requirement) 3
CSC 415 Operating System Principles (Advanced Computer Science Requirement) 3
Major Elective (15 Units Total) - Take One 4 3
GE Area D 3
GE Area F ± 3
 Units15
Seventh Semester
Major Elective (15 Units Total) - Take Two 4 6
GE Area UD-C: Upper-Division Arts and/or Humanities 3
GE Area UD-D: Upper-Division Social Sciences 3
SF State Studies or University Elective 1
 Units13
Eighth Semester
CSC 648 Software Engineering (Advanced Computer Science Requirement) 5 3
Major Elective (15 Units Total) - Take Two 4 6
U.S. and California Government 3
GE Area UD-B: Upper-Division Physical and/or Life Sciences 3
 Units15
 Total Units120
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 (15 units)

All students must complete five 3-unit senior electives.  At least 12 units must be CSC courses.  In addition to the courses listed below, any 600-level CSC course, with the exception of CSC 601, CSC 602CSC 648, and CSC 694 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, CSC 899).  Exceptions must be approved in advance by a senior advisor.

CSC 520 Theory of Computing (3 units)

CSC 600 Programming Paradigms and Languages (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 641 Computer Performance Evaluation (3 units)

CSC 642 Human-Computer Interaction (3 units)

CSC 645 Computer Networks (3 units)

CSC 647 Introduction to Quantum Computing and Quantum Information Science (3 units)

CSC 649 Search Engines (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 657 Bioinformatics Computing (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 671 Deep Learning (3 units)

CSC 675 Introduction to Database Systems (3 units)

CSC 676 Soft Computing and Decision Support Systems (3 units)

CSC 680 Application Development for Mobile Devices (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)

MATH 448 Introduction to Statistical Learning and Data Mining (3 units)

5

CSC 648 serves as the major capstone course.

±

Given catalog rights, fall 2023 transfer students do not need to complete an Area F course.