MS in Computer Science
45.0 quarter Credits
General Requirements
Students must complete a minimum of 45 graduate credits
for the MS degree. All students are required to submit a plan of study
form with the Graduate Advisor at the beginning of their studies. Significant
changes to the plan of study should be discussed with the Graduate Advisor.
Precore Classes
Precore classes are graduate level courses, but are not considered graduate
level CS courses. These courses only count towards the degree requirement
listed below for "three additional graduate level courses" with approval from the Graduate Coordinator. Precore
courses are intended for students without adequate CS background. The
material
in these courses is considered prerequisite knowledge for all other graduate
CS courses.
- CS 520 Foundations of Computer Science
- CS 571 Programming Tools and Environments
Degree Requirements
| Students take the following three (3) core requirement courses: | 9.0 Credits | ||||
![]() |
|||||
| CS 521 | Data Structures and Algorithms I | 3.0 | |||
![]() |
|||||
| CS 525 | Theory of Computation | 3.0 | |||
![]() |
|||||
| CS 550 | Programming Languages | 3.0 | |||
![]() |
|||||
| Students select (3) flexible core requirement courses from the following list: | 9.0 Credits | ||||
![]() |
|||||
| CS 510 | Artificial Intelligence I |
3.0 | |||
![]() |
|||||
| CS 522 | Data Structures and Algorithms II | 3.0 | |||
![]() |
|||||
| CS 530 | Developing User Interfaces |
3.0 | |||
![]() |
|||||
| CS 536 | Computer Graphics |
3.0 | |||
![]() |
|||||
| CS 540 | High Performance Computing |
3.0 | |||
![]() |
|||||
| CS 543 | Operating Systems | 3.0 | |||
![]() |
|||||
| CS 544 | Computer Networks | 3.0 | |||
![]() |
|||||
| CS 567 | Applied Symbolic Computation |
3.0 | |||
![]() |
|||||
| CS 576 | Dependable Software Systems | 3.0 | |||
![]() |
|||||
| CS 583 | Introduction to Computer Vision | 3.0 | |||
![]() |
|||||
| Breadth Requirements | 9.0 Credits | ||||
In addition, all students are required to take an additional three (3) breadth requirement electives, developing background knowledge in an area of particular interest. These courses are organized into the following seven areas. |
|||||
| Artificial Intelligence and Robotics | |||||
![]() |
|||||
| CS 510 | Artificial Intelligence I | 3.0 | |||
![]() |
|||||
| CS 511 | Robot Building Laboratory | 3.0 | |||
![]() |
|||||
| CS 610 | Artificial Intelligence II | 3.0 | |||
![]() |
|||||
| CS 612 | Knowledge Based Agents | 3.0 | |||
![]() |
|||||
| CS 613 | Machine Learning | 3.0 | |||
![]() |
|||||
| Algorithms and Theory | |||||
![]() |
|||||
| CS 522 | Data Structures and Algorithms II | 3.0 | |||
![]() |
|||||
| CS 620 | Advanced Data Structure/Algorithms | ||||
![]() |
|||||
| CS 621 | Approximation Algorithms | 3.0 | |||
![]() |
|||||
| CS 623 | Computational Geometry | 3.0 | |||
![]() |
|||||
| CS 676 | Parallel Programming | 3.0 | |||
![]() |
|||||
| CS 680 | Special Topics in Algorithms | 3.0 | |||
![]() |
|||||
| Computer Graphics and Vision | |||||
![]() |
|||||
| CS 536 | Computer Graphics |
3.0 | |||
![]() |
|||||
| CS 583 | Introduction to Computer Vision | 3.0 | |||
![]() |
|||||
| CS 634 | Advanced Computer Vision |
3.0 | |||
![]() |
|||||
| CS 636 | Advanced Computer Graphics | 3.0 | |||
![]() |
|||||
| CS 637 | Interactive Computer Graphics | 3.0 | |||
![]() |
|||||
| Human Computer Interaction | |||||
![]() |
|||||
| CS 530 | Developing User Interfaces | 3.0 | |||
![]() |
|||||
| CS 630 | Cognitive Systems | 3.0 | |||
|
|||||
| CS 631 | HCI: Computing Off The Desktop | 3.0 | |||
![]() |
|||||
| Numeric and Symbolic Computation | |||||
![]() |
|||||
| CS 540 | High Performance Computing | 3.0 | |||
![]() |
|||||
| CS 567 | Applied Symbolic Computation | 3.0 | |||
![]() |
|||||
| CS 668 | Computer Algebra I | 3.0 | |||
![]() |
|||||
| CS 669 | Advanced Computer Algebra | 3.0 | |||
![]() |
|||||
| Programming Languages and Compilers |
|||||
![]() |
|||||
| CS 551 | Compiler Construction | 3.0 | |||
![]() |
|||||
| CS 552 | Compiler Construction II | 3.0 | |||
![]() |
|||||
| CS 650 | Program Generalization and Optimization | 3.0 | |||
![]() |
|||||
| CS 676 | Parallel Programming | 3.0 | |||
![]() |
|||||
| Software Engineering |
|||||
![]() |
|||||
| CS 575 | Software Design | 3.0 | |||
![]() |
|||||
| CS 576 | Dependable Software Systems | 3.0 | |||
![]() |
|||||
| CS 675 | Reverse Software Engineering | 3.0 | |||
![]() |
|||||
| CS 780 | Special Topics in Software Engineering | 3.0 | |||
![]() |
|||||
| Systems |
|||||
![]() |
|||||
| CS 500 | Database Theory | 3.0 | |||
![]() |
|||||
| CS 543 | Operating Systems | 3.0 | |||
![]() |
|||||
| CS 544 | Computer Networks | 3.0 | |||
![]() |
|||||
| CS 643 | Advanced Operating Systems | 3.0 | |||
![]() |
|||||
| CS 645 | Network Security | 3.0 | |||
![]() |
|||||
| CS 647 | Distributed Systems Software | 3.0 | |||
![]() |
|||||
| CS 741 | Computer Networks II | 3.0 | |||
![]() |
|||||
| CS 751 | Database Theory II | 3.0 | |||
![]() |
|||||
| Computer Science Depth Requirement | 6.0 Credits | ||||
| MS students are required to complete at least two Computer Science (CS) courses beyond the breadth requirement. These courses should be 600 or 700-level courses. In addition, advanced courses may be taken from outside the department if the course is on the list of approved external courses, and may include CS 690 Independent Study, if approved by the Department's Graduate Advisor. |
|||||
![]() |
|||||
| Additional Graduate-Level Courses |
6.0 Credits | ||||
| Two additional graduate level
courses are required. These courses may come from either the 600 or 700 level Computer Science (CS) courses. In addition, courses may be taken from
outside the department, if on the list of approved external courses, and may include CS 690 Independent Study
and CS 997 Research in Computer Science. CS 520 and CS 571 may only be used to fulfill the additional course requirement with permission of the Graduate Committee. Any course not explicitly listed above, including independent study and research courses, must be approved by the Department's Graduate Advisor. Other courses, such as intermediate 500-level and special topics, that the department offers may qualify for fulfilling this requirement. Students must check with the department to see if this is the case, and have these courses approved by the Graduate Committee. Any course offered by other departments that is not on the list of approved external courses must be approved by the Department's Graduate Advisor, or it will not count towards the degree. |
|||||
![]() |
|||||
Thesis Option Usually students pursuing a Master's Thesis will first do 3.0 research credits (CS 690 or CS 997) to obtain background knowledge required by the thesis topic. It is the responsibility of the student to find a thesis supervisor. |
|||||
![]() |
|||||
| CS 898 | Master's Thesis | 6.0 | |||
![]() |
|||||
| Non-thesis Option The non-thesis option requires two additional 600 or 700 level courses taken in place of the 6.0 thesis credits. |
|||||
![]() |
|||||
| 600 or 700-level courses | 6.0 | ||||
![]() |
|||||












