M.S. Degree Plan Process
Obtaining an M.S. Degree typically involves the following basic steps:
- Admittance to the program
- Meet with Graduate Chair to plan program
- Coursework to make up any undergraduate deficiencies in computer science
- Six ICS "regular" graduate courses (i.e., ICS 600-692, not including
ICS 690), including one course in each one of four broad areas
- ICS 690
- Two additional 600-level ICS courses (i.e., ICS 600-692, not including ICS 690), or 600-level courses in other departments but related to ICS
- A final ICS "capstone" project (6 credits minimum)
These steps are not strictly sequential--for example, you do not have to completely finish making up all of your undergraduate deficiencies before enrolling in any of the six "regular" graduate courses, and you do not need to finish your six "regular" graduate courses before taking ICS 690. However, these steps to give a sense for the basic "flow" through the program and the major milestones that must be reached in order to graduate. The Graduate Chair will help you design a specific sequence of courses that fulfill both the University requirements and your own preferences.
The next sections discuss these steps in more detail.
1. Admittance
To be considered for admittance to the program, you must satisfy at least the following basic requirements:
- Completion of a baccalaureate degree. Applicants with degrees in fields other than computer science, business, engineering, mathematics, or a natural science should consult with a graduate advisor before applying for admission.
- The GRE General Test is required and the Subject Test in Computer Science is recommended. Demonstrated working knowledge of a major programming language, preferably one that is modern and object-oriented.
- A grade of B or better in an algorithms and data structures course (e.g. ICS 311 or equivalent), and a grade of B or better in at least one other advanced computer science course (e.g. ICS 312, 313, 321, or 331).
- A cumulative undergraduate grade point average of at least 70%.
- A one year course in calculus (e.g. Math 241 and 242).
2. Meet with the Graduate Chair
At the beginning of your first semester, you should meet with the Graduate Chair in order to plan out your program. The plan includes making up undergraduate deficiencies, determining potential course selections, and reviewing project and thesis ideas. You should meet with the Graduate Chair once every semester during your degree program.
3. Coursework to make up undergraduate deficiencies in computer science
You can be admitted to the M.S. program yet still be considered as "deficient" in your computer science background. The Department currently requires all M.S. candidates to have completed the equivalent of ICS 141, 311, 312, 313, 321, 331, and five 400-level computer science courses. You meet with the Graduate Chair to determine whether or not any undergraduate deficiencies exist and if so, to plan when to take them. Note the following rules concerning undergraduate deficiencies:
- Undergraduate deficiencies are prerequisites to graduate study.
- Only letter grades of A, B, and C can be used to make up undergraduate deficiencies.
- CR/NC option is not allowed
- Courses in directed research/reading cannot be used to make up undergraduate deficiencies.
- Undergraduate deficiency makeup courses carry no credit toward an M.S. degree, but are used when computing the GPA.
We may waive undergraduate deficiencies depending upon your GRE subject test in computer science:
- >75%: All 300-level deficiencies waived, but 400-level deficiencies remain
- >85%: All deficiencies waived.
4. Six ICS "regular" graduate courses
You must take six "regular" graduate courses--i.e. courses with numbers between ICS 600 and ICS 692, with the exception of ICS 690.
To ensure breadth, you must take at least one course from each of the areas below:
- Area 1
- ICS 611 Compiler Theory and Construction
- ICS 612 Theory of Operating Systems
- ICS 623 Data Security
- ICS 624 Advanced Data Management
- ICS 651 Computer Networks
- ICS 632 High Performance Computing
- Area 2
- ICS 621 Analysis of Algorithms
- ICS 622 System Modeling & Evaluation
- ICS 635 Computational Intelligence
- ICS 641 Theory of Computation
- ICS 671 Applied Regression Analysis
- ICS 682 Numeric Computation
- ICS 660 Machine Learning
- ICS 683 Computer Vision
- Area 3
- ICS 606 Intelligent Autonomous Agents
- ICS 661 Advanced Artificial Intelligence
- ICS 663 Pattern Recognition
- ICS 674 Evolutionary Computation
- ICS 664 Human-Computer Interaction
- ICS 667 Advanced HCI Design
- ICS 691 Information Architecture
- Area 4
- ICS 613 Software Engineering
- ICS 614 Medical Informatics
- ICS 665 User Interfaces & Hypermedia
- ICS 675 Bioinformatics: Sequence Analysis
- ICS 676 Bioinformatics: Microarrays
- ICS 681 Computer Graphics
- ICS 668 Technology Supported Collaboration
5. Two additional 600-level ICS courses or 600-level courses related to ICS
Two additional 600-level courses must be taken either from the ICS department (i.e., ICS 600-692, not including ICS 690), or some related discipline (such as LIS, EE, MIS, etc.) on a topic related to Computer Science. You must obtain prior approval from the Graduate Chair as to the suitability of your choices before enrolling in them.
6. The ICS "capstone" Project
A 6 credit "capstone" project is also required for the degree. These credits are typically taken close to or during your final semester in the program. The specific capstone courses depend upon whether you are writing a thesis (Plan A) or developing a final project (Plan B). Under Plan A, your capstone courses consist of six credits of ICS 700. Under Plan B, your capstone courses consist six credits of ICS 699 taken under the supervision of a faculty member for the purpose of developing a single final project. In either case, 6 credits must be applied to a single project, as the intent is that you do an intensive project beyond what could be done in a single course.
Plan A, the thesis, is strongly encouraged for students planning to go on to the Ph.D., as it meets one of the portfolio requirements and gives you a preview of the dissertation process. Plan A requires successful completion of your thesis and its submission to the Graduate Division before graduation. This requires planning ahead: The defense of your thesis (a public event) must be done in the middle of the final semester in which you are enrolled for ICS 700 credits. The committee must be given your final document at least two weeks before. This essentially means that the project must be completed in the first third of the final semester. We recommend that you enroll in ICS 699 credits to prepare your proposal. We strongly recommend that you speak with the graduate program chair about your plans.
Under Plan B, a final report on your final project is also required and must be approved by your supervising faculty member and the graduate chair in order to graduate. A Plan B capstone is not as impressive, but is expedient for those who need to get their MS quickly.
It is possible to convert 699 credits to 700 credits and vice-versa if you decide to change your plan.
7. ICS 690
You must enroll in ICS 690 for one semester, typically near the end of your MS program when you can present your thesis work or capstone project. This course is supervised by the Graduate Chair and is CR/NC. You should meet with the Graduate Chair to determine the appropriate semester in which to register for this course.
Miscellaneous Additional Constraints
The Graduate Division and the Department impose some other constraints on M.S. degree programs. The most important ones are as follows:
Department
- 18 out of the 31 credits required for an M.S. degree must be ICS 600-692.
- The final project in Plan B requires you to submit complete documentation of your work to your advisor.
- At most 6 credits of ICS 699 can be counted toward an M.S. degree.
Graduate Division
- A minimum GPA of 3.0 is required. Only letter grades of A, B, and C are counted toward an M.S. degree.
- The minimum residence requirement is two semesters.
- After you earn 12 credits or more toward a degree, you are admitted to candidacy and continuous registration is required thereafter. If you do not register in any course toward the degree, you must submit a petition for a leave of absence to the Graduate Division.

