jump to contentsacramento state - leadership begins here  
sac state homeadmissionsabout sac stategiving a giftsite indexcontact us

Computer Science Undergraduate Electives

In addition to the required lower-division and upper-division Computer Science courses, Computer Science majors must take three additional elective courses, totaling at least nine units, chosen from undergraduate Computer Science courses numbered CSC 140 or above (excluding CSC 192, CSC 194, CSC 195, CSC 195A-D, CSC 198, and CSC 199). A variety of combinations is acceptable, but it is required that these elective courses be chosen with advisor consultation and approval. With advance written approval from their advisor, the course instructor, and the Department Chair, students with a GPA of 3.0 or better may take graduate courses as electives. In any case students must meet the prerequisite stated in the catalog prior to taking any elective course. (Prerequisites are listed in parentheses.)

Whenever possible, CSC course numbers below link to full course outlines in PDF format. (Although they are the most recent formal descriptions available, they may not reflect the current textbooks being used or the faculty member currently teaching the course. Students should check with the department office if they have questions about textbooks or instructors.)

Courses without full outlines are linked to catalog descriptions.

Units
Course #
Course Title and Prerequisite
3
Advanced Algorithm Design and Analysis (CSC 130)
3
Advanced Computer Organization (CSC 137 or equivalent)
3
Modeling and Experimental Design (MATH 31, STAT 50, and proficiency in a programming language)
3
Compiler Construction (CSC 136; may be taken concurrently)
3
Cryptography (CSC 60, CSC 130, STAT 50)
3
Computer Forensics Principles and Practices (CSC 138)
3
Computer Systems Attacks and Countermeasures (CSC 138 or CPE 138)
3
Advanced Computer Graphics (CSC 133)
3
Operating System Pragmatics (CSC 139)
3
Computer Game Architecture and Implementation (CSC 130, CSC 133, MATH 30, PHYS 11A)
3
Software Requirements and Specification (CSC 131)
3
Software Engineering Project Management (CSC 131)
3
Database Management Systems (CSC 131, CSC 134)
3
Advanced Database Management Systems (CSC 174)
3
Data Warehousing and Data Mining (CSC 134 and STAT 50)
3
Software Testing and Quality Assurance (CSC 131)
3
Intelligent Systems (CSC 130, CSC 132, MATH 31, STAT 50)
3
Experimental Offerings in Computer Science (prerequisites vary)