Requirements for MS in Computer Science

Note: Pending changes. Students admitted before the changes are official can choose to graduate under this program or under the progam in effect when admitted.

Candidates for the M.S. degree in Computer Science must complete 30 credit hours of coursework in Computer Science CMP SCI.

  • Up to 6 credit hours of related coursework can be completed outside of CMP SCI, based on the student’s interest with permission of the Graduate Director
  • Up to 10 credit hours can be transferred into the program
  • Up to 12 credits from 4000-level courses completed with at least a B- can be used in the program
  • At least 3 credit hours must be at the 6000-level
  • Students with relevant prior full-time training and/or experience of a minimum of one year can apply for up to 6 proficiency transfer credits in CMP SCI 5991

The following core courses for 12 credit hours are required. Any required course can be waived (replaced with another) for a student with a similar undergraduate or transferred course or with demonstrated proficiency.

  1. Programming Languages: CMP SCI 4250
  2. Advanced Data Structures and Algorithms: CMP SCI 5130
  3. Software Engineering: CMP SCI 5500
  4. Modern Computing: CMP SCI 5710

The remaining credits can be acquired through any combination of courses in one’s interests, but students can group those courses into one or more of the available graduate certificates.

CMP SCI 6900, which satisfies the 6000-level requirement with 3 credits, can be repeated for up to 6 total credits but the additional credits will only be counted if the thesis is successfully defended as administered by a committee.

Students finding an internship/co-op opportunity can enroll in a credit course CMP SCI 5900.

Additionally, students must attend at least five seminars or colloquium presentations in the department before applying for graduation.

Studies and Outcome

Students may enroll on a full-time or part-time basis, and the program can be completed with a combination of evening, online, and/or hybrid courses.

All graduates will have a broad computing background and will be exposed to a wide range of technologies. They will also be prepared for teamwork, independent research, technical reporting, and presentations, and will be ready to take on leading organizational roles. With the optional certificates, graduates can further specialize in a particular area of interest.