Skip to Content Find it Fast

This browser does not support Cascading Style Sheets.

 

Graduate Course Catalog 2013-2014

Graduate School

» http://www.gradschool.unh.edu/


Computer Science (CS)

» http://www.cs.unh.edu

» Click to view course offerings

This program is offered in Durham.

Degrees Offered: M.S., Ph.D., Software Systems Engineering certificate

The Department of Computer Science offers both the M.S. and the Ph.D. in computer science. 

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.

The Ph.D. program is designed to develop a student's ability to carry out advanced research, as well as ensure the breadth and depth of computer science knowledge required to obtain a faculty position in academia or a research position in industry or at a national laboratory. Students first work to obtain breadth knowledge and a faculty research mentor. Then, working with their mentor, they carry out advanced work that results in original research publications and a doctoral dissertation.


Certificate Offered: Software Systems Engineering

The department also offers a graduate certificate in software systems engineering.  This certificate is designed to help software developers with 3 to 5 years of experience transition to the higher value position of software systems engineer, also known as software architect, chief engineer, or technical lead. Individuals in this position help their organizations make the tough decisions concerning architecture, performance, availability, security, and safety. To obtain the certificate, students must complete four courses: one required course that provides an overview of the entire software systems engineering process, plus three elective courses, which focus on a particular area, such as requirements engineering, security, architecture, or testing.


Admission Requirements

The computer science graduate program is designed for students with a B.S. degree in computer science. However, applications from students whose undergraduate degree is not in computer science are also welcome. In this case, a well-defined set of undergraduate prerequisites must be completed as part of the M.S. program of study. The prerequisites include an introduction to computer science, object-oriented programming, data structures, machine organization, operating systems, and computer science theory.

These prerequisites can be satisfied at UNH by the following undergraduate courses:

CS 415, Introduction to Computer Science I
CS 416, Introduction to Computer Science II
CS 515, Data Structures
CS 520, Assembly Language Programming and Machine Organization
CS 620, Operating System Fundamentals
CS 659, Introduction to the Theory of Computation
Some students may need to take additional mathematics classes.

Students without a B.S. or M.S. in computer science are not normally admitted directly into the Ph.D. program, but it is possible to transfer from the M.S. program to the Ph.D. program.

Applicants must submit current scores (within five years) for the general test of the GRE.  Students who have taken computer science courses at UNH can request a waiver of this requirement.


Degree Requirements


M.S. Degree Requirements

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


M.S. Thesis Option

1. CS 900, Computer Science Seminar.

2. Eight CS graduate courses of at least 3 credits each.

a. Two must be implementation intensive (see list below).
b. Three courses must be chosen from three different breadth groups (see list below).
c. At least two courses must be above 900.

3. Thesis (6 credits). The student must complete a thesis under the supervision of a thesis adviser and a thesis committee of at least three members.


M.S. Project Option

1. CS 900, Computer Science Seminar.

2. Ten CS graduate courses of at least 3 credits each.

a. Two must be implementation intensive (see list below).
b. Four courses must be chosen from four different breadth groups (see list below).
c. At least three courses must be above 900; one of these must be related to the project area.

3. Project (3 credits). The student must complete a project under the supervision of a faculty adviser.


M.S. Exam Option

1. CS 900, Computer Science Seminar.

2. Ten CS graduate courses of at least 3 credits each.

a. Two must be implementation intensive (see list below).
b. Four courses must be chosen from four different breadth groups (see list below).
c. At least three courses must be above 900.

3. Comprehensive exam that includes four different examination topics (see list below).

One topic must be selected from one of the topics in the Theory breadth group (see list below); the other three topics must be selected from three different breadth groups (which can include a second theory topic).


Ph.D. Degree Requirements

1. CS 900, Computer Science Seminar.

2. Seven CS graduate courses (3 credits or more) beyond the M.S. or fifteen CS graduate courses beyond the B.S.

a. Two must be implementation intensive (see list below).
b. All students must take CS 845, Formal Specification and Verification of Software Systems. 

3.  Breadth requirement. Courses must be taken from at least four breadth groups (see list below), with one of the groups being the Theory group. Students must obtain a 3.4 GPA in the four breadth courses. The student designates which four courses are used to compute the GPA.

4. Research tool. A research tool represents knowledge and skills in another discipline that can help the student carry out his or her research plan. This is typically satisfied by taking a non-computer-science graduate level course.

5. Depth requirement. Under the direction of a depth adviser and a depth committee, the student carries out some preliminary research that is likely to lead to a dissertation topic. The student must produce two written reports (a literature survey and a research report) and make a presentation as part of an oral examination on the material.

6. Dissertation. The student must complete original research and present and defend a dissertation describing that research. The research is carried out under the supervision of a faculty member dissertation adviser and a dissertation committee of at least five members, including one from outside the department.


Implementation Intensive Courses

Implementation intensive courses include: CS 812, 820, 830, 835, and 870.


Examination Topic Groups

The list below identifies the seven topic groups used for the M.S. comprehensive exam.

Group: Exam Topics

1. Theory: Formal Specification and Verification, Algorithms

2. Operating Systems: Advanced Operating Systems

3. Compiler and Language: Compilers

4. Database: Database

5. Artificial Intelligence: Artificial Intelligence

6. Interactive Systems: Graphics

7. Computer Networks: Computer Networks


Breadth Course Groups

The list below identifies the eight 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.)

Group: Introductory Course

1. Theory: CS 845, 858

2. Systems: CS 820, 821, 823

3. Compiler and Language: CS 812, 835, 871

4. Database: CS 875

5. Artificial Intelligence: CS 830

6. Interactive Systems: CS 860, 867, 870

7. Software Engineering: CS 818, 819, 851, 852, 853

8. Networks: CS 825