Why Study Computer Science?
Computer science asks: What can be computed, at what cost, and how to build things that put those answers to work. It is a highly marketable field because computing skills are needed in many industries, from business and health care to science, education, and entertainment.
As a computer science major, you'll study algorithms and their analysis, the organization of the machine your code runs on, operating systems, programming languages, and how to build software systems that can last. Along the way, electives will let you go deeper into topics that interest you. These classes are broad by design, because being a computer scientist means working across levels: breaking down unclear problems, understanding what a machine will actually do with your solution, and building something that works and that someone can use.
You will be part of a thriving intellectual and professional community, oriented around your learning. The Computer Science department is a small one, creating opportunities to connect with faculty in a deeper way. Beyond coffee sessions, club events, and hackathons, you'll have opportunities to take advantage of our course offerings where you work closely under faculty mentorship to build something real, including capstone and entrepreneurship courses. Collectively, our faculty have particular strengths in artificial intelligence, cybersecurity, high-performance computing, and networking, where they perform leading research and teach innovative classes.
Preparing Computer Science Majors for the AI Era
Artificial intelligence is reshaping computer science and how it can be taught. To ensure our students thrive, our faculty unanimously adopted a three-part AI plan. First, AI-assisted software engineering is a clear industry trend, and our students should be exposed to it. In response, we have introduced new AI software engineering courses and adapted existing classes.
Second, AI has the potential to undermine student knowledge by short-circuiting the learning process. We are redesigning our classes, and especially our entry-level classes, to ensure that students will need to put in the work to learn foundations.
Third, as the employment landscape changes, our coursework must shift to reflect these changes. In recent years, these changes have come by adding courses with portfolio-building outcomes, e.g., capstone, entrepreneurship. Students can also expect classes in emerging high-demand areas such as AI and cybersecurity.
Finally, some students have reservations about embracing AI, and these students can choose how much to engage with it, including completely AI-free pathways.
Computer Science Major Requirements
To earn a bachelor's degree in computer science, you must complete the requirements listed in the UO Catalog. Follow the catalog requirements that were in effect when you were admitted to the major.
Computer science majors must complete at least 60 credits of computer courses, of which 24, including 12 upper-division credits, must be earned in residence at the UO. In addition, majors must complete 28 credits in mathematics, 12 credits in the sciences, and 4 credits of technical or business writing. The specific requirements for the computer science major fall into five categories: core courses, concentration and elective courses, mathematics, writing, and science.
Honors Program
Students with a GPA of 3.50 or higher in computer science and a cumulative GPA of 3.50 or higher, or a GPA of 3.75 or higher in computer science and a cumulative GPA of 3.25 or higher, are encouraged to apply to the department honors program after completing Intermediate Data Structures (CS 313), Computer Organization (CS 314), Intermediate Algorithms (CS 315), and C/C++ and Unix (CS 330). The application form is available in the department office. To graduate with departmental honors, a student must write and present a thesis under the supervision of a faculty member. Honors students will take 4 credits of CS 403 Thesis and up to 4 credits of CS 401 Research to satisfy this requirement.
Computer Science Accelerated Master's Program
Computer science undergraduate majors at the UO have the opportunity to graduate with a bachelor of science and master of science in a five-year program through the Accelerated Master’s Program (AMP).