Master of Computer Science, MCS

This is the first version of the 2026–27 General Catalog. Please check back regularly for changes. The final edition and the historical PDF will be published during the fall semester.
The Master of Computer Science (MCS) is a course-based program for students who wish to enhance their careers with advanced knowledge of computer science. The MCS program does not include a thesis requirement.
Current and prospective graduate students should consult the Graduate Handbook, available from the department's office and the Graduate Advising page on the department's website. The handbook provides detailed information about specific degree requirements and graduate study policies.
Learning Outcomes
Students gain:
- in-depth and up-to-date knowledge of concepts and/or technologies covering a breadth of computer science;
- problem-solving expertise in the context of the areas covered;
- a grounding in theoretical aspects of computer science; and
- exposure to cutting-edge research.
The Master of Computer Science (MCS) requires a minimum of 32 s.h. of graduate credit, including at least 24 s.h. earned at the University of Iowa. Students must maintain a UI cumulative grade-point average of at least 2.75.
The Master of Computer Science requires the following coursework.
Theory
| Course # | Title | Hours |
|---|---|---|
| One of these: | ||
| CS:4330 | Theory of Computation | 3 |
| CS:4350 | Logic in Computer Science | 3 |
| CS:4980 | Topics in Computer Science II (if topic is approved by director of graduate studies) | 3 |
| CS:5340 | Limits of Computation | 3 |
| CS:5350 | Design and Analysis of Algorithms | 3 |
| CS:5360 | Randomized Algorithms | 3 |
| CS:5370 | Computational Geometry | 3 |
| CS:5850 | Programming Language Foundations | 3 |
| CS:5860 | Lambda Calculus and Applications | 3 |
Algorithms
| Course # | Title | Hours |
|---|---|---|
| This course: | ||
| CS:4310 | Design and Implementation of Algorithms | 3 |
Colloquium
Students are graded on a satisfactory/unsatisfactory (S/U) basis. They must attend at least 80% of scheduled talks to earn a satisfactory grade in the course.
| Course # | Title | Hours |
|---|---|---|
| This course: | ||
| CS:6000 | Research Seminar: Colloquium Series (taken twice for 1 s.h. each) | 2 |
Electives
Students complete their remaining 24 s.h. (eight additional courses) with a combination of computer science graduate courses, research and project courses, and non-computer science graduate courses approved by their advisor. The choice of electives must satisfy the following constraints.
- At least six courses (18 s.h.) must be classroom-based computer science graduate courses numbered 4300 or above, excluding CS:5110 Introduction to Informatics, CS:5990 Individualized Research or Programming Project, CS:6000 Research Seminar: Colloquium Series, CS:6990 Readings for Research, and CS:7990 Research for Dissertation.
- At most, one offering of CS:5990 Individualized Research or Programming Project may be taken. This course is an excellent option for students interested in exploring an area in computer science beyond that provided by computer science classroom-based courses. Students interested in pursuing a PhD usually benefit from taking CS:5990.
- At most, two technical courses (approved by the advisor) that are not computer science graduate courses may be taken. For students who want to take courses outside the department, those in mathematics, statistics, electrical engineering, industrial engineering, and management sciences are some popular options. Students may also include one computer science course taken during their first year in the MCS program from these: CS:3620 Operating Systems, CS:3640 Introduction to Networks and Their Applications, or CS:3820 Programming Language Concepts.
Software Engineering Subprogram
The Department of Computer Science, with the Department of Electrical and Computer Engineering, offers an MCS subprogram in software engineering. Students receive a software engineering subprogram designation on their transcript after they complete CS:5800 Fundamentals of Software Engineering, CS:5810 Formal Methods in Software Engineering, CS:5820 Software Engineering Languages and Tools, and CS:5830 Software Engineering Project, and earn their MCS degree. Students should meet with the academic services coordinator to file the appropriate paperwork when they apply for the degree if they did not originally declare their intent to complete the software engineering subprogram.
Graduate education prepares students with advanced knowledge and skills in specialized fields. At the University of Iowa, the Graduate College advocates for student-centered graduate education and supports equitable application of rules and policies across graduate programs.
Academics
University of Iowa graduate credentials are regulated by policies and requirements found in the Graduate College Manual of Rules and Regulations. This includes minimum grade-point average (GPA) requirements for academic standing and degree conferral. The Graduate College sets the minimum requirement. Individual graduate programs may establish higher GPA requirements.
Admissions
Graduate student applicants must meet admission requirements for both the Graduate College and the program to which they have applied. University of Iowa graduate admission requirements are published by the Graduate College and on the Graduate Admissions website.
Financial Support
Graduate students might be eligible for financial support. Several contingencies apply, including degree program and award type, satisfactory progress toward degree, satisfactory completion of all duties related to an appointment, and availability of funding. Graduate students should inquire directly with their program for more information about funding availability. The Graduate Student Employment Standards govern the employment relationship between the University of Iowa and all graduate teaching and research assistants in all matters except wages, which are covered by an existing collective bargaining agreement or the conditions of an applicable federal grant.
Admission decisions are based on prior academic performance, letters of reference, and the applicant's statement about background and purpose. Applicants must meet the admission requirements of the Graduate College; see the Manual of Rules and Regulations on the Graduate College website.
A version of the BA/MCS combined program is available for Grinnell College undergraduate students pursuing a BA degree in computer science who want to earn the MCS at the University of Iowa.
Students pursue software design and development careers in the technology sector, including UIX, mobile, and web development. Recent graduates hold positions at technology giants such as Microsoft, Google, Yahoo, or Intel, while others have taken positions in internationally established organizations whose primary business lies in the consulting, financial, health care, insurance, or media/entertainment sectors. A few MCS students enter the start-up market or pursue additional graduate education leading to the PhD at the University of Iowa or elsewhere.
Sample Plan of Study
Sample plans represent one way to complete a program of study. Actual course selection and sequence will vary and should be discussed with an academic advisor. For additional sample plans, see MyUI.
Master of Computer Science, MCS
| Academic Career | ||
|---|---|---|
| Any Semester | Hours | |
| 32 s.h. must be graduate level coursework; up to 8 s.h. of graduate transfer credits allowed upon approval. Students choose graduate level coursework from an approved list of courses; more information is included in the General Catalog and on department website. a | ||
| Hours | 0 | |
| First Year | ||
| Fall | ||
| CS:4310 | Design and Implementation of Algorithms | 3 |
| CS:6000 | Research Seminar: Colloquium Series b | 1 |
| Elective course c | 3 | |
| Elective course c | 3 | |
| Hours | 10 | |
| Spring | ||
| Theory course d | 3 | |
| Elective course (possibly CS:5990 Indiv Research or Programming Project) c | 3 | |
| Elective course c | 3 | |
| Hours | 9 | |
| Second Year | ||
| Fall | ||
| Elective course (possibly non-CS technical course) c | 3 | |
| Elective course c | 3 | |
| Elective course c | 3 | |
| Hours | 9 | |
| Spring | ||
| CS:6000 | Research Seminar: Colloquium Series b | 1 |
| Elective course c | 3 | |
| Final Exam e | ||
| Hours | 4 | |
| Total Hours | 32 | |
- a
- Students must complete specific requirements in the University of Iowa Graduate College after program admission. Refer to the Graduate College website and the Manual of Rules and Regulations for more information.
- b
- Students must enroll twice for 1 s.h. each semester and attend at least 80% of scheduled talks for a satisfactory grade.
- c
- See General Catalog and department website for specifics about elective coursework requirements; at least 18 s.h. must be computer science graduate coursework numbered 4300 or above; remaining 6 s.h. may be a combination of CS or non-CS graduate coursework, research and project courses.
- d
- See General Catalog and department website for list of approved courses.
- e
- Confirm completion of degree requirements.