Computer Science (MS)

Program's Admission Requirements

Please visit the program's website.

Program Learning Outcomes

Upon successful completion of this program, students will be able to:

  • Core Knowledge Breadth: Demonstrate a working knowledge of fundamental theories, research findings, and methodological approaches within Computer Science (Foundations, Systems, Data Science).
  • Core Knowledge Depth: Demonstrate a deep working knowledge of advanced theories, research findings, and methodological approaches within one of the Computer Science areas of Foundations, Systems, and Data Science.
  • Software Engineering: Demonstrate a working knowledge of software engineering and development techniques and related hands-on skills.
  • Thesis Option Additional Outcome - Scientific Inquiry: Achieve a fluency in the scientific literature and the ability to pursue compelling questions within a primary field of research, and (for empirical research studies) achieve proficiency in relevant experimental design, methodology, and data analysis/statistical methods.
  • Thesis Option Additional Outcome - Scientific Communication: Demonstrate effective written scientific communication skills.

Master of Science in Computer Science Requirements

Breadth Requirement: 12 credits total 112
Algorithms and Complexity
Data Science
And one of the following:
Distributed Systems
Parallel Processing
Depth Requirement: Choose one, 12 credits total 112
Each Depth requires three courses, at least one at 600-level
Foundations Depth
Advanced Data Structures
Automata Theory
User Interfaces
Modeling and Simulation
Introduction to Compilers
Structure of Programming Languages
Data Science Depth
User Interfaces
Database Processing
Data Mining
Introduction to Artificial Intelligence
Machine Learning
Probabilistic Methods for Artificial Intelligence
CS 600 level course
Systems Depth
Introduction to Parallel Computing
Introduction to Networks
Computer and Network Security
Introduction to Computer Graphics
Introduction to Compilers
Distributed Systems
Parallel Processing
Computer Networks
Advanced Network Security
Writing Requirement2
Writing in Computer Research
Elective Options: 28 credits total 428
Up to twelve credits in courses outside department in area closely related to professional goals may be used 5
Thesis Option 6
Thesis
CS 5XX and CS 6XX: Minimum of 8 graded credits, maximum of 11 P/NP credits
Non-Thesis Option
Terminal Project
CS 5XX and CS 6XX: Minimum of 18 graded credits, maximum of 10 P/NP credits
DRP Option 8
Research: [Topic]
CS 5XX and CS 6XX: Minimum of 8 graded credits
Completion of the directed research project (DRP) milestone in the CS PhD program and approval from the DRP committee that the project meets the standards of an MS thesis.
Total Credits54

Grade Requirements

The 24 credits in the breadth courses and the depth courses must be passed with grades of B– or better. Graded elective courses must be passed with grades of C or better. A 3.00 GPA must be maintained for courses taken in the program.

Master’s Thesis

The research option requires a written thesis and 9 to 12 credits in Thesis (CS 503). Thesis research is supervised by a faculty advisor; this advisor and other faculty members constitute the thesis committee. The master’s thesis is expected to be scholarly and to demonstrate mastery of the practices of computer science. This option is recommended for students who plan subsequent PhD research.

Master’s Project

The project option requires a minimum of 9 credits, and as many as 12, in Final Project Terminal Project (CS 609).

Under the supervision of a faculty member, the project may entail a group effort involving several master’s degree students. 

Computer Science Accelerated Master's Program

Computer Science undergraduate majors at the UO have the opportunity to graduate with B.S. and M.S. Computer Science degrees in a five-year program.

Students with junior or senior status in the Computer Science major who have completed the 300-level required courses and CS 415 (with a grade of A- or better), and have 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 igher may apply to the Accelerated Master’s Program in Computer Science (AMP-CS). This application form is available in the department office.

Interested students should schedule an appointment with the CS Director of Undergraduate Studies before applying. Upon acceptance to AMP-CS, students may take graduate courses to fulfill major requirements that will also fulfill Master’s degree requirements, according to UO AMP guidelines, for students admitted to the Computer Science Master’s degree program.

AMP-CS students will work closely with undergraduate and graduate advisors to ensure that they are on track to graduate with both degrees. Students who do not maintain satisfactory progress or who choose not to continue to a master’s degree can still graduate with a B.S. degree in Computer Science in four years.

Computer Science Early Start Master's Program

This program is open to students who earn a BS or BA degree in computer science at the University of Oregon and who want to enter the master’s degree program.

If a UO undergraduate takes one or two 400-level electives that also are offered as 500-level courses, the student can petition the department to have 4 or 8 credits deducted from the total number of elective credits required for the master’s degree. The student must earn an A– or better in the 400-level course and have an overall GPA of 3.50 in upper-division CS courses to participate in this Computer Science Early Start Master's program. Note that all admission procedures, as outlined in the Master's Degree Program section, are also applicable. Applications are available in the department office.  This program may be combined with the Computer Science Accelerated Master’s Program (described above).

Senior Year Graduate Level Courses
CS 522Software Methodology I a4
Three graduate level courses b, c12
Total Credits16
Breadth Requirement 112
Algorithms and Complexity
Data Science
And one of the following:
Distributed Systems 2
Parallel Processing 3
Depth Requirement: Choose one 112
Each Depth requires three courses, at least one at 600-level
Foundations Depth
Advanced Data Structures
Automata Theory
User Interfaces
Modeling and Simulation
Introduction to Compilers
Structure of Programming Languages
Data Science Depth
User Interfaces
Database Processing
Data Mining
Introduction to Artificial Intelligence
Machine Learning
Probabilistic Methods for Artificial Intelligence
CS 600 level course
Systems Depth
Introduction to Parallel Computing
Introduction to Networks
Computer and Network Security
Introduction to Computer Graphics
Introduction to Compilers
Distributed Systems
Parallel Processing
Computer Networks
Advanced Network Security
Writing Requirement2
Writing in Computer Research
Elective Options: 4, 5, 612-28
Thesis Option 7
Thesis (9-12 credits P/N)
Non-Thesis Option 8
Terminal Project (Optional)
Total Credits:54