Skip to Main Content

Department of Computer Science College of Engineering & Computer Science

Support Page Content

Degree Program Information

For an all-in-one guide to degree requirements, recommended curriculum patterns, advising and other student policies and procedures, please refer to our PDF handbooks.


Computing Accreditation Commission (CAC) Logo

The Bachelor of Science degree in Computer Science is accredited by the Computing Accreditation Commission (CAC) of ABET, a specialized accrediting body recognized by the Council for Higher Education Accreditation.

Undergraduate Programs


The solid educational foundation of the baccalaureate program derives from the general education requirements common among all University programs plus substantial courses in mathematics, statistics and physics.

The undergraduate lower-division core curriculum is a comprehensive exposure to programming languages, algorithms and problem-solving. The upper-division core courses comprise an intensive program of study that embraces the theories and core technologies of computer science. Beyond the core curriculum students may select related sets of courses such as:

  • Computing Theory and Symbolic Computation
  • Computer Architecture and Operating Systems
  • Database Systems and Applications
  • Data Communications and Networking
  • Computer Graphics
  • Software Engineering
  • Systems Software

All students are admitted as pre-Computer Science majors. Registration in upper-division courses numbered 133 and above is restricted to full Computer Science, Computer Engineering, and Math/Computer Science majors. Other students need to obtain approval from the CSC Department Chair.
To change to the full Computer Science major, students who have completed the following lower-division (pre-major) requirements are required to submit a Change of Major form to the Computer Science Department Office via CSC 15, CSC 20, CSC 28, CSC 35; MATH 30, MATH 31; and Phys 11A.

Major Requirements & Course Descriptions


The Minor in Computer Science is available for students majoring in disciplines other than Computer Engineering.

The Minor in Information Security and Computer Forensics is available to all non-Computer Science Majors.

Application Process Information

Undergraduate Certificate Programs

In addition to completing the requirements for the Bachelor of Sciences in Computer Science degree program, students enrolled in the major may also complete one of the (optional) 9-12 unit Academic Certificate programs.

Each certificate includes 9 required units which can overlap with elective coursework taken to satisfy the major requirements, with some of the certificates requiring 3 additional units (1 additional course) beyond the degree requirements. Students interested in earning a certificate in addition to their degrees should meet with an academic advisor.

Requirements for Undergraduate Certificates

Certain combinations of courses gives students a deeper understanding of specialized areas in Computer Science. Completion of any of the following course lists entitles the student to receive a certificate indicating that they concentrated their elective study in the particular area. The Computer Science Department will try and offer on a regular basis all courses required for each certificate, but course cancellations and scheduling conflicts do sometimes occur causing students difficulty in completing their desired course study. In such situations, students may need to forgo completion of their certificate. Printed certificates (printed twice per year in January/July) must be requested directly from the Computer Science Department office after a student graduates.

Applications for Undergraduate Certificates

Graduate Programs

The Computer Science Department offers Master's Degree programs in Computer Science and Software Engineering, Certificates of Advanced Study for students enrolled in these programs, and a Master's Degree joint program in Computer Engineering.

The primary goal of each of these programs is to prepare students to serve as effective professional computer specialists in a society which increasingly depends on computer usage and technology.

A secondary goal is to prepare interested students for research, teaching, or further study toward the Ph.D. in Computer Science. The programs also enable individuals with background in other areas to obtain the skills and knowledge necessary to enter and advance in employment in computer-related industries.

The admission requirements for the Master's in Computer Science and the Master's in Software Engineering are identical. Completion of the Master of Science in Computer Science requires advanced coursework in a minimum of three of the following areas: computer architecture/computer engineering, database management systems, information assurance and security, intelligent systems, networks and communications, software engineering, and system software. The Master of Science in Software Engineering requires advanced coursework in the software engineering area.

The department has a small number of teaching associateships for qualified graduate students. Teaching Associates assist in instruction of undergraduate courses, supervision of laboratory work, and aid faculty members in research projects. Interested persons should apply in the department office.

Due to the large number of graduate students in Computer Science who are employed, most graduate level courses are offered in the late afternoon or evening. A [ tentative two-year schedule of graduate course offerings ] is updated regularly to help students plan their breadth requirements and electives.

Contact the Office of Graduate Studies

Graduate Certificates

The Certificates of Advanced Study in Computer Science are designed to recognize students who have completed the core graduate courses ― CSC 201, CSC 204, CSC 205 and CSC 206 ― plus additional coursework in a specialty area. These certificates are available only for MS Computer Science matriculated students.

Contact The Computer Science Graduate Coordinator.