Department of Computer Science
Degrees and Programs
Degrees and programs in the Computer Science Department are designed to offer the advanced principles, applications, and current topics in computer science. Students who obtain their degree will be ready to do significant developmental work in the computer industry. Those who pursue a graduate degree will be well qualified to pursue a Ph.D. For nearly 30 years, a large number of our alumni have been successful in both academia and industry. Some have become college professors, and others have become professionals working at Amazon, Apple, Boeing, Cisco, Facebook, Google, HP, Microsoft, Oracle, Schneider Electric, VMWare, and other firms in software industry.
Bachelor of Science
The bachelor's degree in computer science prepares students for careers in the computing industry or for graduate study. Combined with a minor in another field of study, the bachelor's degree allows students to utilize their computing expertise in a variety of specialized fields. The core and computer science theory courses are excellent preparation for students who intend to pursue an advanced degree in computer science.
For the computer science major, the department offers courses that represent both the core of study considered essential to all aspects of computing and advanced study sequences in particular fields of interest. The core classes introduce all majors to the spectrum of thought represented in computing. The advanced sequences allow individual students to pursue in-depth work in areas such as computer architecture, artificial intelligence, databases, compilers, operating systems, computer science theory, computer graphics, software engineering, programming languages, networking, distributed systems, and parallel processing. The department also offers topic courses to keep students informed of current advances and methods in computing.
Bachelor of Science Degree Requirements
4-year Freshman BS Roadmap
Transfer Students Roadmap (may vary for different students)
- 3-Year Roadmap for students finished CSci 40
- 2.5-Year Roadmap for students finished CSci 40 and 41
- 2.5-Year Roadmap for students finished CSci 40, 41, 75
- 2.5-Year Roadmap for students finished CSci 40, 41, 75, 76
Certificates: Please refer to the Certificates tab and the university catalog.
Computer Science Graduate Program
Established in 1991, as one of the very first Computer Science master's programs in the CSU and on the West Coast, the Master of Science in Computer Science is designed to offer advanced principles, applications, and current topics in computer science. Students who obtain the M.S. will be ready to do significant developmental work in the computer industry or in an important application area and will also be well qualified to pursue a Ph.D.
For nearly 30 years, many of our alumni have been successful in both academia and industry. Some have become college professors, and others have become professionals working at Amazon, Apple, Boeing, Cisco, Facebook, Google, HP, Microsoft, Oracle, Schneider Electric, VMWare, and other firms in the software industry.
The Master of Science degree program in Computer Science is designed to offer advanced principles, applications, and current topics in the field. Students who obtain the M.S. will be ready to do significant developmental work in the computer industry or in an important application area and will also be well qualified to pursue a Ph.D.
Applicants may hold an acceptable bachelor's degree in any field of study and must submit Graduate Record Examination (GRE) scores.
Application and Master's Degree Requirements
Current students may refer to the master's degree requirements in the university catalog.
Prospective students may refer to the application requirements in the university catalog and the application process at the Division of Research and Graduate Studies. International applicants may also contact the International Office for additional information.
Policies
- Important University and Department Policies Download
- CSci 297/298/299 Policies Download
- CSci 299 Guidelines Download
- CSci 298 Guidelines Download
- CSci 298/299 Proposal Template Download
- CSci 298/299 Report Template Download
- CSci 290 Proposal Template Download
- CSci 194i policies
Important Deadlines
- TBA
Finish In Five Program
Finish In Five is a streamlined educational pathway that allows motivated students to earn both a Bachelor’s and Master’s degree in just five years. By blending undergraduate and graduate coursework, students can fast-track their education, saving both time and money.
Computer Science Minor
The CSCI minor program is a perfect fit for students who would like to extend their interest to certain specific areas of Computer Science, such as Artificial Intelligence, Computer Architecture, Computer Graphics, Computer Languages, Database, Scientific Computation, Secondary Teaching, Software Engineering, System Software, and Theory of Computation. Please meet with an adviser to discuss these options.
Artificial Intelligence Minor
The purpose of this minor is to offer non-computer science students an opportunity
to earn a minor in AI. Although a Computer Science minor has been established, we,
the department, believe that an AI minor is a well-designed, streamlined pathway to
help students build fundamental knowledge and skills in AI, thereby enhancing their
job-market readiness in their own field. Please refer to the catalog for details.
AI and Machine Learning Certificate
The Certificate in Artificial Intelligence and Machine Learning is designed for students interested in a broad range of advanced topics in AI and
its sub-areas. The certificate focuses on preparing students for the AI workforce
upon graduation. The skills and knowledge acquired through the composite courses will
better prepare students for the technical and scientific aspects of AI.
Required Courses (Complete 9 or 12 units from the courses below) :
CSCI 164, CSCI 165, CSCI 166, CSCI 167.
Other courses from which at most 3 units may be earned:
CSCI 198*
Total (12 units)
For those who have completed the requirements above, please apply for your certificate.
*For students who select CSCI 198 to earn a certificate, the topics must be relevant to AI or its sub-areas. Enrollment in CSCI 198 requires prior approval from the Department.
Algorithms and Analytics Certificate
The Certificate in Algorithms and Analytics is designed for students interested in a broad range of advanced topics in algorithms, big data analytics, bioinformatics computing, and simulation. The certificate focuses on preparing students for the algorithms and analytics workforce upon graduation. The skills and knowledge acquired through the composite courses will better prepare students for the technical and scientific aspects in these areas.
Required Courses (Complete 9 or 12 units from the courses below) :
CSCI 154, CSCI 168E, CSCI 174, CSCI 175.
Other courses from which at most 3 units may be earned:
CSCI 198*
Total (12 units)
For those who have completed the requirements above, please apply for your certificate.
*For students who select CSCI 198 to earn a certificate, the topics must be relevant to computer graphics and game development. Enrollment in CSCI 198 requires prior approval from the Department.
Applications (Software Engineering) Certificate
The Certificate in Applications in Computer Science is designed for students interested in a broad range of advanced topics in databases, web development, software engineering, and other computer science applications. The certificate focuses on preparing students for the full-stack computer science workforce upon graduation. The skills and knowledge acquired through the composite courses will better prepare students for the technical and scientific aspects of computer science applications.
Required Courses (at least 9 units, students may choose all 12 units from here) :
CSCI 126, CSCI 130, CSCI 150, CSCI 152E.
Elective Courses (maximum of 3 units, students may choose 0 units):
CSCI 198*
Total (12 units)
For those who have completed the requirements above, please apply for your certificate.
*For students who select CSCI 198 to earn a certificate, the topics must be relevant to computer science applications (e.g., databases, web development, and software engineering). Enrollment in CSCI 198 requires prior approval from the Department.
Computer Graphics and Game Development Certificate
The Certificate in Computer Graphics and Game Development is designed for students interested in a broad range of advanced topics in computer graphics and game development. The certificate focuses on preparing students for the game development workforce upon graduation. The skills and knowledge acquired through the composite courses will better prepare students for the technical and scientific aspects in these areas.
Required Courses (at least 9 units, students may choose all 12 units from here) :
CSCI 172, CSCI 173, CSCI 178, CSCI 179.
Elective Courses (maximum of 3 units, students may choose 0 units):
CSCI 198*
Total (12 units)
For those who have completed the requirements above, please apply for your certificate.
*For students who select CSCI 198 to earn a certificate, the topics must be relevant to computer graphics and game development. Enrollment in CSCI 198 requires prior approval from the Department.
Cybersecurity Certificate
The Certificate in Advanced Cybersecurity is designed for students interested in a broad range of advanced cybersecurity topics. The certificate focuses on preparing students for the cybersecurity workforce upon graduation. The skills and knowledge acquired through the composite courses will better prepare students for both social and technical aspects of cybersecurity.
Required Courses (at least 9 units, students may choose all 12 units from here) :
CRIM 125, CSCI 156, CSCI 157, CSCI 158, CSCI 159*.
Elective Courses (maximum of 3 units, students may choose 0 units):
ECE 150*, ECE 156, IS 141.
Total (12 units)
For those who have completed the requirements above, please apply for your certificate.
* ECE 150 is an equivalent course to CSCI 159. Students may choose either CSCI 159 or ECE 150.
Systems and Theories Certificate
The Certificate in Systems and Theories in Computer Science is designed for students interested in a broad range of advanced topics in computer
systems and computer science theories. The certificate focuses on preparing students
for the systems and theories workforce in computer science upon graduation. The skills
and knowledge acquired through the composite courses will better prepare students
for the technical and scientific aspects in these areas.
Required Courses (at least 9 units, students may choose all 12 units from here) :
CSCI 146, CSCI 148, CSCI 176, CSCI 177, CSCI 186, CSCI 187.
Elective Courses (maximum of 3 units, students may choose 0 units):
CSCI 198*
Total (12 units)
For those who have completed the requirements above, please apply for your certificate.
*For students who select CSCI 198 to earn a certificate, the topics must be relevant to systems and theories. The enrollment of CSCI 198 requires prior approval from the Department.
Advanced Application Development Certificate
The Advanced Application Development Certificate of Advanced Study (CAS) is designed for students interested in a broad range of advanced topics in software engineering and its relevant areas (e.g., databases) at the graduate level. The certificate focuses on preparing students for the software engineering workforce upon graduation. The skills and knowledge acquired through the composite courses will better prepare students for the technical and scientific aspects of software engineering.
Students may complete only one CAS from the Department of Computer Science. Students who wish to pursue an additional CAS within the department must complete an additional 6 units of coursework to ensure that at least 12 units are exclusive to each certificate. The additional 6 units must be approved by the Program Coordinator.
CSCI 217 - Programming Language Principles (or CSCI 215 - Advanced Functional Language)
Units: 3
CSCI 246 - Computer Architecture Units: 3
CSCI 274 - Combinatorial Algorithms Units: 3
Choose 6 units from the following courses:
CSCI 250 - Advanced Software Engineering Units: 3
CSCI 253 - Human-Computer Interaction Units: 3
CSCI 226 - Advanced Database Systems Units: 3
For those who have completed the requirements above, please apply for your certificate.
Advanced Artificial Intelligence Certificate
The Advanced Artificial Intelligence Certificate of Advanced Study (CAS) is designed for students interested in a broad range of advanced topics in AI and its sub-areas at the graduate level. The certificate focuses on preparing students for the AI workforce upon graduation. The skills and knowledge acquired through the composite courses will better prepare students for the technical and scientific aspects of AI.
Students may complete only one CAS from the Department of Computer Science. Students who wish to pursue an additional CAS within the department must complete an additional 6 units of coursework to ensure that at least 12 units are exclusive to each certificate. The additional 6 units must be approved by the Program Coordinator.
CSCI 217 - Programming Language Principles (or CSCI 215 - Advanced Functional Language)
Units: 3
CSCI 246 - Computer Architecture Units: 3
CSCI 274 - Combinatorial Algorithms Units: 3
Choose 6 units from the following courses:
CSCI 264 - Artificial Intelligence Units: 3
CSCI 265 - Reinforcement Learning Units: 3
CSCI 267 - Deep Learning Units: 3
For those who have completed the requirements above, please apply for your certificate.