Degree Programs
Programs offered by the Computer Science Department include:
Related programs offered by other departments include:
- Masters of Science: Computer and Engineering Science
- Bachelor of Science in Mathematics with a concentration in computer science
Bachelor of Science in Computer Science
Computer science is the scientific study of computing devices, the software that drives them, and the computational tasks they are capable of performing. Computer science studies both hardware and software; as with all sciences, each of these possesses both theoretical and applied components. Computing theory shares knowledge and techniques with the fields of mathematics, physics, engineering, philosophy, psychology and linguistics. Its applications span the range of human endeavors: the physical, life and social sciences; the literary, visual and performing arts; law, government, recreation, and virtually every sector of the commercial world. Thus, computer science is by its very nature an interdisciplinary subject that offers both a solid, unifying foundation for a liberal arts education and valuable career skills.
The curriculum consists of a rigorous course of study in computer science and mathematics, and provides the student with a thorough grounding in programming, fundamentals of computer organization, data structures and algorithm design. It is designed to prepare students for careers in the computer industry and graduate work in computer science.
All courses submitted toward either major or minor requirements in the Computer Science Department must be taken for a letter grade (A-F). This includes electives in CS and all other courses taken to satisfy the major. This does not apply to courses that are challenged. Only those classes for which the student has received a C- or better may be used to satisfy prerequisite requirements. An instructor may require the student to provide evidence of having met prerequisite requirements.
Degree Requirements
- Computer Science Courses (up to 3 units may apply to GE): 61 units
- Required Supporting Courses (up to 6 units may apply to GE): 10-16 units
- Remainder of General Education: 42-45 units
- General Electives: 5-8 units
Total units needed for graduation: 124
Major Core Requirements
- CS 110 Introduction to Unix: 1 unit
- CS 115 Programming I: 4 units
- CS 215 Programming II: 4 units
- CS 242 Discrete Structures for Computer Science: 4 units
- CS 252 Introductory Computer Organization: 4 units
- CS 315 Data Structures: 4 units
- CS 351 Computer Architecture: 4 units
- CS 355 Database Management Systems: 4 units
- CS 370 Software Design and Development: 4 units
- CS 415 Algorithm Analysis: 4 units
- CS 450 Operating Systems: 4 units
- CS 454 Theory of Computation: 4 units
- CS 460 Programming Languages: 4 units
Total units in the major core: 49
Major Electives
Choose 9 units of upper-division CS electives (see list below). No more than 3 units can be satisfied by a combination of CS 349 , CS 380 , CS 390 , CS 495 , or CS 497 .
Total units in the major electives: 9
Capstone Experience Requirement
One course from the following:
- CS 470 Advanced Software Design Project: 3 units
- CS 495 Special Studies (requires approval of Instructor and Department): 3 units
Total units in capstone requirement: 3
Required Supporting Courses
- MATH 161 Calculus and Analytic Geometry I: 4 units
- Two additional courses from the following:
- MATH 165 Elementary Statistics: 4 units
- MATH 211 Calculus and Analytic Geometry II: 4 units
- MATH 222 Linear Algebra: 3 units
- MATH 241 Calculus III - Differential Equations with Linear Algebra: 4 units
- MATH 306 Number Theory: 3 units
- MATH 316 Graph Theory: 3 units
- MATH 352 Numerical Analysis: 3 units
- MATH 416 Graph Theory: 3 units
- MATH 430 Linear Systems Theory: 3 units
- MATH 470 Mathematical Models: 3 units
- PHYS 214 Introduction to Physics II: 4 units (requires PHYS 114)
- other by arrangement with the CS Department
Total units in other required courses: 10-16
Upper Division CS Electives
- CS 340 Computer Security: 3 units
- CS 349 Problem Solving in a Competitive Team Environment: 1 unit
- CS 360 Object Oriented Programming: 3 units
- CS 365 Computer Networking and the Internet: 3 units
- CS 375 Computer Graphics: 3 units
- CS 380 Major Field Test in Computer Science: 3 units
- CS 385 Selected Topics: 1-4 units
- CS 390 Colloquium: 1 units
- CS 452 Compiler Design and Construction: 3 units
- CS 465 Data Communications: 3 units
- CS 480 Artificial Intelligence: 3 units
- CS 495 Special Studies: 1-4 units
- CS 496 Senior Seminar: 1-4 units
- CS 497 Internship: 2 units
Minor in Computer Science
Students electing this minor will be prepared for careers in business application programming, scientific application programming, computer equipment sales, as field engineers and as data processing managers, among the myriad job opportunities associated with the computer field. Approval of the minor curriculum should be obtained by the junior year at the latest in order that the minor may be properly planned.
All courses submitted toward either major or minor requirements in the Computer Science Department must be taken for a letter grade (A-F). This includes electives in CS and supporting courses in other departments. This does not apply to courses that are challenged.
Total units in the minor: 20
Minor Core Requirements
Total units in the minor core: 9
Minor Electives
Choose 11 units of CS electives of which 6 units must be upper-division. No more that 2 units in any combination of CS 349 , CS 380 , CS 390 , CS 495 , and CS 497 can be applied towards the minor.
Total units in the minor electives: 11







