Computer Science M.S.

Computer program in foreground, students working in background
Computer Science M.S.

Program Overview

The M.S. program is designed to help students increase the breadth and depth of their computer science knowledge, strengthen their software development skills, and build their research skills. Professionally-­oriented students often complete industry internships, and the program has an outstanding job placement record for its graduates. Research­-oriented students complete an M.S. thesis under the guidance of a faculty mentor, which usually leads to publication and provides clear evidence of the developed research skills useful for obtaining a leadership position in industry or to go on to do a Ph.D. Applications are welcomed from students whose undergraduate degree is not in computer science. In this case, a well-­defined set of undergraduate prerequisites must be completed as part of the M.S. program of study.

Department of Computer Science
Kingsbury Hall N229, 33 Academic Way
Durham, NH 03824

P: 603.862.3778

Curriculum & Requirements

The M.S. program has three options: thesis, project, and exam.

M.S. Thesis Option

CS 900Graduate Seminar1
Select eight CS graduate courses of at least 3 credits each 124
CS 899Master's Thesis 26
Total Credits31

M.S. Project Option

CS 900Graduate Seminar1
Select ten CS graduate courses of at least 3 credits each 130
CS 898Master's Project 23
Total Credits34

 M.S. Exam Option

CS 900Graduate Seminar1
Select ten CS graduate courses of at least 3 credits each 130
Comprehensive exam that includes four different examination topics (see list below) 2
Total Credits31

Implementation Intensive Courses

Implementation intensive courses include:

CS 812Compiler Design3
CS 830Introduction to Artificial Intelligence3
CS 835Introduction to Parallel and Distributed Programming3
CS 870Computer Graphics3
CS 980Advanced Topics (Data Science)3

Breadth Course Groups

The list below identifies the seven breadth course groups and introductory (800-­level) graduate courses in each group. It is also acceptable to satisfy a group requirement by taking an advanced course (900-­level) in the specified area. (Note that there are courses in the curriculum that are not in any of the identified groups.)


CS 845Formal Specification and Verification of Software Systems3
CS 858Algorithms3
CS 823Performance Evaluation of Computer Systems3
Compiler and Language
CS 812Compiler Design3
CS 835Introduction to Parallel and Distributed Programming3
CS 871Web Programming Paradigms3
CS 853Information Retrieval3
CS 875Database Systems3
Artificial Intelligence
CS 830Introduction to Artificial Intelligence3
CS 850Machine Learning3
Interactive Systems
CS 833Mobile Robotics3
CS 860Introduction to Human-Computer Interaction3
CS 870Computer Graphics3
CS 825Computer Networks3

Explore Program Details

take the next step

student outside building on campus
Students on the lawn at Thompson Hall
student at career event