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
1

A grade of B- or better is required

2

Cannot duplicate Depth course used

3

Cannot duplicate Breadth course used

4

A grade of C or better is required in graded elective credits

5

Courses must be approved by petition to the CS GEC; options include courses in linguistics, mathematics, physics, and psychology.

6

Cannot include CS 609 Final Project

7

CS 609 Final Project requirements:  8-12 credits; graded or P/NP

8

No credit of CS 503 (Thesis) or CS 609 (Final Project) may count toward the elective credit requirements

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 higher 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
a

CS 522 will fulfill an undergraduate major required course requirement (CIS 422) and a master’s elective requirement.  

b

A maximum of 8 credits of 5/60x courses, with some exclusions, may, with prior approval, be used toward CS major undergraduate requirements and M.S. requirements.  CS 503 and other CS 60x courses (e.g., CS 601, 609), when taken for a master’s thesis or project (9-16 credits), must be taken as a graduate student.

c

CS 500 and 600 level courses numbered 5/610 or higher and taken for a grade will meet undergraduate CS upper-division elective requirements when taken with a passing grade.  CS 500 and 600 level courses numbered 5/610 or higher and taken for a grade and passed with a minimum grade of B will also meet graduate required or elective courses requirements.

1

A grade of B- or better is required

2

Cannot duplicate Depth course used

3

Cannot duplicate Breadth course used

4

A grade of C or better is required in graded elective credits

5

Up to 8 graded credits from CS Department Accelerated M.S. may be used.  See CS website.

6

Up to twelve credits in courses outside department in area closely related to professional goals may be used. Courses must be approved by petition to the CS GEC; options include courses in linguistics, mathematics, physics, and psychology.

7

Cannot include CS 609 Final Project.  Note that the Thesis Option requires at least 8 graded elective credits, which may include 500 and 600 level elective courses taken as an undergraduate.

8

Optional CS 609 Final Project requirements:  8-12 credits; graded or P/NP.  Note that the Non-Thesis Option requires at least 18 graded elective credits, which may include 500 and 600 level elective courses taken as an undergraduate.

9

No credit of CS 503 (Thesis) or CS 609 (Final Project) may count toward the elective credit requirements.  Note that the DRP Option requires at least 8 graded elective credits, which may include 500 and 600 level elective courses taken as an undergraduate.