Our M.S. in Computer Science degree program provides advanced education in all areas of computer science. It is useful for those wishing to go into leadership roles in high tech organizations. This degree can also provide the foundation for application to our Ph.D. program.
All applicants must satisfy the following minimum 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 adviser before applying for admission.
- The GRE General Test is required (the GRE Subject Test in Computer Science is no longer available). GRE scores should be sent to us directly from ETS (Institution code is: 4867; Department code is: 0402). The GMAT will be considered as an alternative if the GRE is not available in time for the application deadline, but you must notify us of the substitution.
- Demonstrated working knowledge of a major modern and object-oriented programming language. Many courses in our curriculum assume some background in the Java programming language, so that is an excellent choice. See further comments on programming experience below.
- An undergraduate “algorithms and data structures course” (our ICS 311 course or equivalent).
- At least one other advanced (300-level or above) undergraduate computer science course (e.g., our ICS 312, 313, 321, 331, or 332 course).
- A one-year course in calculus (e.g., our MATH 241 and 242). (See brief descriptions of Math courses.)
- A cumulative undergraduate grade point average of at least 75% (3.0 on a 4.0 system). This is a graduate division requirement.
- Programming Experience: Our M.S. program assumes that you have at least three sequential semesters of programming experience (i.e. the equivalent of ICS 111, ICS 211, and ICS 311) before you enter our program as a classified graduate student. If you do not have any programming experience, then you will need to have completed this three semester sequence prior to enrollment. People with some prior programming experience can often “place out” of ICS 111 and start in ICS 211; you need to contact the instructor of ICS 211 to determine if you fit in this category. You can apply to our program during the semester that you are enrolled in ICS 311, for admission in the following semester.
International applicants may also have to demonstrate English proficiency:
- Graduate Division requires that international applicants whose native language is not English take either the TOEFL or the IELTS. See here for more information on the requirements. In addition, our department imposes the following requirement for TOEFL scores: 580/237/92 or above for the MS program
As detailed on the MS Degree Plan Process page, a student may be admitted with “deficiencies” that must be resolved before registering for graduate-level courses. This can increase the time it takes to get the Masters’ degree. For those who took the GRE subject test while it was still available, scores can be used to waive undergraduate deficiencies:
- >75%: All 300-level deficiencies waived, but 400-level deficiencies remain
- >85%: All deficiencies waived
Finally, your application will be stronger if you have demonstrated the ability and motivation to work independently, for example by taking on a project related to computer science (whether within or outside of a school setting). Doing a project with faculty or other established professionals will make it easier to obtain meaningful letters of reference.
You must submit your application online to Graduate Division
- Graduate Division Application Web Site
- See here for additional information regarding international applicants
The supplementary documents, which must be uploaded as part of your Graduate Division application, consists of the following items:
- ICS Express Information Form (PDF — please leave blank the Social Security Number)
- ICS Graduate Assistantship Application Form (PDF) (if applying for an assistantship)
- ICS Tuition Waiver Application (PDF) (if applying for a tuition waiver; preference is given to Hawaii residents)
- Statement of Purpose (optional for MS applicants; of critical importance for Ph.D. applicants)
- Request three letters of reference. This is done by entering names and e-mail addresses of letter writers via the Graduate Division’s supplemental documents upload site
Please submit your application by January 1st for Fall Admission, and by September 1st for Spring admission. Applications for Fall received between January 1st and February 1st will be considered on a space-available basis.
All application materials will be forwarded to the ICS Department once the Graduate Division determines that your application is complete. It is your responsibility to communicate with Graduate Division to ensure they have all of the required materials. Until they do, we won’t see your application.
Obtaining an M.S. Degree typically involves the following basic steps:
- 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.
- 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
- Up to two courses may be regular ICS 400-level courses (not ICS 499)
- ICS 690
- 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 can help you design a specific sequence of courses that fulfill both the University requirements and your own preferences.
The steps are outlines below, and students may use this convenient checklist to track their progress progress toward graduation.
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.
Depending on previously obtained degrees and taking into account professional experience, the admission committee may recommend for a student to be admitted to the M.S. program with one or more “deficiencies”. Each deficiency corresponds to a course in our undergraduate Computer Science curriculum and is resolved by taking and passing that course. Once all deficiencies are resolved, then the student can begin taking graduate-level courses. 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.
Deficiencies may be waived for those who were able to take the GRE subject test in computer science when it was still being offered:
- >75%: All 300-level deficiencies waived, but 400-level deficiencies remain
- >85%: All deficiencies waived.
You must take six “regular” graduate courses, i.e., courses with numbers between ICS 600 and ICS 692, with the exception of ICS 690. ICS 423 may also be counted for area 2.
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 624 Advanced Data Management
- ICS 632 High Performance Computing
- ICS 651 Computer Networks
- ICS 660 Computer Architecture
- ICS 691B Topics in Computer Science
- Area 2
- ICS 423 Data Security and Cryptography (was: Computer Security)
- ICS 621 Analysis of Algorithms
- ICS 622 Network Science
- ICS 623 Data Security
- ICS 635 Machine Learning
- ICS 636 Information Theory in Machine Learning
- ICS 641 Theory of Computation
- ICS 643 Advanced Parallel Algorithms
- ICS 671 Applied Regression Analysis
- ICS 682 Numeric Computation
- ICS 691C Topics in Computer Science
- Area 3
- ICS 606 Intelligent Autonomous Agents
- ICS 616 Information Architecture
- ICS 655 Foundations of Security and Trust III
- ICS 661 Advanced Artificial Intelligence
- ICS 663 Pattern Recognition
- ICS 664 Human-Computer Interaction
- ICS 667 Advanced HCI Design
- ICS 674 Evolutionary Computation
- ICS 683 Computer Vision
- ICS 691D Topics in Computer Science
- Area 4
- ICS 613 Software Engineering
- ICS 614 Medical Informatics
- ICS 665 User Interfaces & Hypermedia
- ICS 668 Social Informatics
- ICS 669 Social Computing
- ICS 675 Bioinformatics: Sequence Analysis
- ICS 676 Bioinformatics: Microarrays
- ICS 681 Computer Graphics
- ICS 686 Digital Video Information
- ICS 691E Topics in Computer Science
Important: ICS 691 courses (i.e., irregular “Topics” courses), are not classified in the areas above and do not count toward an area (instead, they count as one of the two additional 600-level courses described in the section below). If, however, a 691 course becomes a regular course, and the instructor approves that this new course is sufficiently similar to what was taught in the 691 Topics course, then the 691 is reotractively classified in the same area as that of its corresponding regular course.
Important: as of 2017, ICS691 will become ICS691B, ICS691C, ICS691D, ICS691E, and ICS691G. The first four of these are each classified in each one of the four areas.
Important: Some ICS691 courses become regular courses. Students who earned credit for the ICS691 version of a course will not be allowed to register for the regular course, even though its number is not ICS691.
4. Two additional 600-level ICS courses or 600-level courses related to ICS
Two additional 600-level 3-credit 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.
Note that if you do a Plan A (see below), you may opt to replace one of these two courses by 3 credits of ICS 700.
5. Counting 400-level courses
Up to two graduate courses may be replaced by regular ICS 400-level courses (not ICS 499) that are not counted towards the undergraduate degree. These courses (except for ICS 423) do not count towards the area requirement.
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
This plan 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 strongly recommend that you speak with the graduate program chair about your plans. Plan A students also need to fill several Graduate Division Forms throughout their progress through the degree
Important: As a Plan A student you may opt to take an additional 3 credits of ICS 700 as a replacement for one of the “Two additional courses” described in point 4 above.
Useful information about the M.S. thesis:
- ICS graduate students have been maintaining a LaTeX template for the thesis, which should be used by students planning for write their thesis using LaTeX.
- Why writing a M.S. thesis is like Cherry Garcia icecream
Plan B: the project
This plan requires a capstone project. A final report on your final project is 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 as a thesis, but is expedient for those who need to get their MS quickly.
699 vs. 700?
- 700 is only for Plan A students (thesis).
- A Plan A student can only enroll into 700 after passing the thesis proposal stage (Graduate Division Form II signed by committee and Graduate Chair).
- Before the proposal, a Plan A student should enroll in 699. These 699 credits can be “converted” to 700 credits once the thesis proposal stage is completed.
- Note that 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 and pass ICS 690 for one semester, typically near the end of your MS program. You must present your final (or close-to-final) thesis work or capstone project at the seminar. 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.
The coursework required for the M.S. degree consists of 31 credits, typically arranged as follows:
Miscellaneous Additional Rules
The Graduate Division and the Department impose some other constraints on M.S. degree programs. The most important ones are as follows:
- 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 adviser.
- At most 6 credits of ICS 699 can be counted toward an M.S. degree under Plan B, and at most 9 credits under Plan A.
- 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.
If you have questions, contact the ICS Graduate Chair.