Computer Science

If you encounter barriers to accessing any content on this page, please contact Accessibility Resources.

The undergraduate curriculum course structure has been arranged to develop students' background in basic sciences, mathematics, English, and basic computer science during the first year. The basic computer system, software development, and more mathematics are introduced at the second year. In the subsequent years, the student continues with the strong development of problem solving, design, and analysis skills by taking more theoretical and advanced core courses. In the junior year, students start selecting more advanced topics of computer science in the CS elective course offerings and plan for their senior project in the last year.

The computer science major is designed to provide both training for employment and preparation for graduate school. The course work provides training in practical programming skills, modern approaches to systems construction, underlying abstractions and mathematical theory. Students going on to graduate school will need the ability to implement the concepts they develop. Students choosing work environments will need the ability to relate applied problems to familiar abstractions and to distinguish between efficient and inefficient approaches to algorithm design.

The Professional Practice Program for computer science students consists of three to four semesters of work in a position related to computer science. Students normally apply for this program in the spring semester of the freshman year.

Curriculum Sheets

Notes on the Curriculum Sheet

The Curriculum Sheet above is for students on a standard schedule and may need to be modified for students on irregular schedules.

The college numbers of the courses shown are not given except for 36 PD 120.

All other courses for which an area name is specified must be taken from the College of Engineering and Applied Science which has a college number of 20. The exception is 36 PD 120, whose college number is already given as 36.

BoK courses may be taken from any college of the University. 

All other elective courses must be approved by the student's departmental advisor.


You are strongly encouraged to meet with your academic adviser if you currently have any curricular deficiencies or have any other reason to follow a modified program. Failure to follow an approved program may lead to Academic Probation, delay of graduation, or other more serious problems.

Substitute Course Work for Required Course Work during a Study Semester

In general, a student may not take a course from another UC college during a study semester as a substitute for a required course in his or her curriculum. However, if there is an unusual reason to do so, a student may request to take a substitute course. Submit a request to the Committee on Academic Standards using the form Petition to use A Substitute Course.

A student may not register for the substitute course until after receiving approval of his or her petition. Failure to petition for approval may result in no credit for the course toward the student's degree requirements and the course may have to be repeated.

Substitute Course Work for Required Course Work during a Co-op Semester

Students are allowed to take up to six credits during a co-op semester if the class does not interfere with the co-op assignment. Approval must be secured from the Department advisor, the Professional Practice advisor, and the Chairman of the Committee on Academic Standards before registration is permitted. If a student needs to make up a class or wishes to take a class during the normal hours of a co-op assignment, then a petition must be submitted along with a letter from the employer stating that the employer is aware that the student needs to take the course, the company has a flextime policy for all employees (not just the student involved), and that the student can make up the hours in order to work a minimum of 40 hours per week. Submit a request to the Committee on Academic Standards using the form Petition to use A Substitute Course.