Computer Science - Bachelor of Science


 Major Requirements - B.S. in Computer Science

(for students who completed CPSC 220-Fall 2010 or earlier and plan to graduate after August 2012)


Suggested Freshman Year Courses:    
MATH 121 CALCULUS I * done need
MATH 122 CALCULUS II * done need
CPSC 120 FUNDAMENTALS OF COMPUTER SCIENCE I * done need
CPSC 170 FUNDAMENTALS OF COMPUTER SCIENCE II done need
Suggested Sophomore Year Courses:    
CPSC 220 FUNDAMENTALS OF COMPUTER SCIENCE III done need
CPSC 270 ALGORITHMS done need
MATH 201 LINEAR ALGEBRA done need
STAT 202 PROBABILITY done need
Suggested Junior/Senior Year Courses:    
CPSC 370 ** COMPUTER ARCHITECTURE & OPERATING SYSTEMS done need
CPSC 430 ** SENIOR SEMINAR done need
CPSC 390 ***THEORY OF COMPUTATION done need
CPSC 425 *** PRINCIPLES OF PROGRAMMING LANGUAGES done need
ELECTIVE **** done need
ELECTIVE **** done need
Senior Year Course:    
CPSC 436 or 435&437 SENIOR RESEARCH done need
Elective Choices Per Major:    
CPSC 301/302 SYSTEMS ADMINISTRATION 1 AND 2 (Offered every year) done need
CPSC 310 TOPICS IN APPLIED COMPUTING done need
CPSC 340 **DATABASE SYSTEMS done need
CPSC 350 HUMAN COMPUTER INTERACTION done need
CPSC 360 NETWORKS done need
CPSC 365 *** SOFTWARE ENGINEERING AND PROJECT DESIGN done need
CPSC 402 NUMERICAL ANALYSIS done need
CPSC 405 INDEPENDENT STUDY AND RESEARCH (1/2 unit) done need
CPSC 406 INDEPENDENT STUDY AND RESEARCH (1 unit) done need
CPSC 407 INDEPENDENT STUDY AND RESEARCH (1/2 unit) done need
CPSC 415 *** WEB PROGRAMMING done need
CPSC 416 INTERNSHIP done need

* CPSC 120, MATH 121, and MATH 122 are not explicitly required for the major but are prerequisites for all required courses in the major.  Students should consult a computer science faculty member about the need to take these courses.  

** Taught in 20011/2012 and alternate years: take either junior or senior year depending upon when offered.

*** Taught in 2012/2013 and alternate years: take either junior or senior year depending upon when offered.

**** Two elective units are required.  One of these units may be either MATH 306 or MATH 361. Electives are taught on a rotation basis, not every year.