Master of Science Program Requirements
The Master of Science (M.S.) in Computer Science is the first graduate degree in the field, and can take one and a half years of full-time study to complete. The master's program is designed to prepare students for advanced careers in the computing industry, to create a research environment in computer science, and to prepare students for graduate work at the Ph.D. level. Students entering the program must have a bachelor's degree and/or adequate background in computer science.
The master's program requires the completion of an approved program of 45 credits, with a thesis option. Coursework includes core courses in theory and programming practice, plus a 9-credit concentration in one specialization area.
| Core (6 Credits) | Track (9 Credits) | Electives (30 Credits) |
|---|
Students are encouraged to take these courses as early as possible in your graduate program. One Theory course from: - CS 581 Theory of Computation
- CS 584 Algorithm Design & Analysis
- CS 578 Programming Language Semantics
One Programming Practice course from: - CS 558 Programming Languages
- Any 500-level course designated by the department as programming-intensive
| All students in the CS Master's program must take three courses from one of the following tracks: Artificial Intelligence & Machine Learning - Databases
- Languages & Programming
- Security
- Software Engineering
- Systems & Networking
- Theory
- Visual Computing
View the list of required courses and approved electives for each track below. | Students must take enough electives to complete 45 total credits for the MS degree. Electives can be any 500-level CS course (see specific notes regarding CS 501-509 coursework below). A limited number of credits taken outside Computer Science can count towards the elective requirements, with advisor approval. Read more about Non-CS credits below. |
Required Courses by Track
As part of the degree requirements for the CS Master's program, students must complete three courses from one of the following tracks. Track substitutions with other courses in the topic area may be permitted with the approval of the CS Graduate Advisor (gccs@pdx.edu).