CS Major

General Information

Computer Science is a vast source of intellectual challenges, from understanding the fundamental mathematics of computational complexity to designing the next generation of Internet protocols to organizing and distributing vast stores of genomics data. Computer science is a rapidly-growing field, and graduates are in demand in the job market and for graduate school. The UO CS major provides a broad, comprehensive education that prepares graduates to adapt to future opportunites and to create them.

Declaring the CS Major

Students interested in a CS major must meet with with a Tykeson Hall Academic Advisor on the Scientific Discovery and Sustainability (SDS) team prior to declaring the major.  

During the advising appointment, you will develop an academic plan for completing the CS major.  You are also encouraged to meet with an advisor as you progress through the major to be sure that you are satisfying your major and UO degree requirements.

Additional information is available for transfer students coming from Oregon community colleges to the University of Oregon.

Degree Overview

To obtain a computer science degree, you must satisfy the specific CS major requirements as stated in the UO Catalog at the time you are admitted to the major:

Upper-Division and Elective Concentration Requirements

Concentrations highlight areas of specialization within the department and guide student elective choices. Each concentration has an approved list of CS courses, available from the computer science office or from the list below. Concentrations may also include recommended science and math courses; some include a recommended minor in another field. The department offers the following choices of CS concentrations:

Major Progress Review

Students should schedule an appointment with a CS advisor and complete a CS Major Progress Review Form after beginning CS upper-division core courses.

General University Requirements

To earn a UO bachelor's degree, you must satisfy general university requirements as stated in the UO Catalog for the year you entered the major.

The College of Arts and Sciences awards both Bachelor of Science (B.S.) and Bachelor of Arts (B.A.) degrees to students who major in CS. If you fulfill the CS major requirements, you will automatically qualify for a B.S. degree. To qualify for the B.A. degree, you must also fulfill the College of Arts and Science's language requirement.

Satisfactory Progress in the CS Major Lower Division

Computer Science supports student preparedness for upper-division courses, as indicated by grades earned in lower-division courses. Strong preparation in lower-division courses provides the foundation for success in major upper-division courses and continuous progress toward major and UO degree requirements. Students must earn grades of B- or higher in CS 210, 211, 212 and Math 231, 232 to automatically advance to upper-division CS courses.

When a student receives a grade lower than a B- in one of these courses, Computer Science strongly recommends that students repeat the course to earn the required B- or higher grade prior to attempting subsequent courses. Students repeating a course should plan to take advantage of supplemental instruction opportunities such as Class Encore weekly small group meetings. 

If there were extenuating circumstances, students with at most one C grade (any level) in the lower-division required courses may petition for a prerequisite override to register for upper-division computer science courses. Students should be aware that such petitions are not automatically approved.

Students are required to meet with a Tykeson Hall Academic Advisor on the Scientific Discovery and Sustainability (SDS) team before submitting a petition for a prerequisite override to register for upper-division courses. You may speak with the advisor about any issues that may have prevented you from making satisfactory progress in the lower-division major course. Your advisor will assist you in determining next steps and with submitting a petition, if this is determined to be appropriate. 

In addition to your statement, CS UEC will review your experience and grades in all of the lower-division foundational core courses to determine your preparedness for upper-division courses in the major.

Satisfactory Progress in the CS Major Upper Division

All upper-division coursework must be completed with a grade of C- or better. Unless otherwise indicated, all required coursework used to satisfy major requirements must be taken graded. At least 12 credits of CS upper division elective courses numbered 410 or higher must be taken graded.

Students who receive two grades below C- in upper-division core courses, or three grades below C- in any upper division CS classes, will be removed from the major.  Below C- grades are cumulative.  Retaking and passing a course does not change the total number of below C- grades.

Students not making satisfactory progress should schedule an appointment Tykeson Hall Academic Advisor on the Scientific Discovery and Sustainability (SDS) team to explore options including other majors, a CS minor, or submitting a petition to remain in the major. 


Exceptions or modifications to departmental requirements may be requested via a CS Petition form to the Undergraduate Education Committee. It is expected that you will have discussed the matter with a CS advisor before filing the petition.

Students with appropriate background who have consulted with a CS advisor may submit a CS Prerequisite Override Request form to the Undergraduate Education Committee to register for a particular course.


Admission to a given CS course requires completion of all the prerequisites listed in the UO Catalog. Waiver of a prerequisite is possible only through a CS Prerequisite Override Request form to the Undergraduate Education Committee.

Prerequisite Override Requests should be submitted 10 days before the registration time for which the student needs that exception.