College of Engineering and Physical Sciences
» http://www.ceps.unh.edu
Computer Science (CS)
» Click to view course offerings
Chairperson: Philip J. Hatcher
Professor: R. Daniel Bergeron, Philip J. Hatcher, Ted M. Sparr, Colin Ware
Affiliate Professor: Jason H. Moore
Associate Professor: Radim Bartos, Michel Charpentier, Robert D. Russell, Elizabeth Varki, James L. Weiner
Affiliate Associate Professor: Sylvia Weber Russell
Assistant Professor: Wheeler Ruml
Affiliate Assistant Professor: Anthony J. Lapadula, Matthew Plumlee
Instructor: Michael Gildersleeve, Brian L. Johnson, Israel J. Yost
Lecturer: Mark L. Bochert, Ellen M. Hepp, Karl Shump
Computer Science
Undergraduate students may choose from one of three degree options: The B.S. in computer science, which is designed for students interested in the design and implementation of software systems; the B.S. in computer science: bioinformatics option, which is designed for students who wish to apply computer science expertise in the life sciences; and the B.S. in information technology, which focuses on the application of existing computing technologies to the information needs of organizations and individual computer users.
Bachelor of Science in Computer Science
Computer scientists are concerned with problem-solving in general, with particular emphasis on the design of computer-efficient solutions. This involves a detailed understanding of the nature of algorithms, the software implementation necessary to utilize algorithms on computers, and how algorithms can be combined in a structured manner to form highly complex systems.
The broad objectives for B.S. in Computer Science graduates are:
1. To be competent in formulating and solving computer science problems, including the development of complex software systems;
2. To understand computer science fundamentals along with supporting mathematics and science so they will be prepared for a wide range of jobs and the pursuit of advanced degrees;
3. To be able to function in the workplace with the necessary technical skills and with appropriate oral and written communication skills; and
4. To have a broad education that promotes professional advancement, lifelong personal development, and social responsibility.
The B.S. in computer science program is accredited by the Computing Accreditation Commission of ABET, 111 Market Place, suite 1050, Baltimore, MD 21202-4012, (410) 347-7700.
The program is designed to prepare students for employment and/or graduate study. Most courses require heavy computer use, and the laboratories stress hands-on experience with building software systems.
Computer science majors must maintain an overall grade-point average of 2.0 or better in all required computer science, mathematics, and computer engineering courses in order to graduate. If at the end of any semester, including the first, a student's cumulative grade-point average in these courses falls below 2.0, the student may not be allowed to continue as a CS major. In order to be able to take a CS or MATH course with prerequisites, the prerequisite course(s) must be passed with a grade of a C- or better.
If a student wishing to transfer into the computer science major has any coursework that is applicable to the major, the grades in those courses must satisfy the minimum grade requirements for the B.S. degree in computer science. The student must have an overall grade-point average of 2.0 or better in all courses taken at the University.
The curriculum includes coursework in mathematics, science, and philosophy. The following is a sample schedule depicting the necessary requirements and the layout of the curriculum. Students must consult with their advisers in order to come up with the proper schedule for themselves.
Freshman Year
| Abbreviation | Course Number | Title | Fall | Spring |
|---|---|---|---|---|
| CS | 400 | Introduction to Computing | 1 | |
| CS | 415 | Introduction to Computer Science I | 4 | |
| MATH | 425 | Calculus I (Gen Ed 2) | 4 | |
| Gen Ed | 3 | (Science/Technology)* | 4 | |
| Gen Ed | 4 | |||
| CS | 416 | Introduction to Computer Science II | 4 | |
| MATH | 426 | Calculus II | 4 | |
| ENGL | 401 | First-Year Writing (Gen Ed 1) | 4 | |
| Gen Ed | 3 | (Science/Technology)* | 4 | |
| Total | 17 | 16 |
* These two additional technology or science courses are required, in addition to PHYS 407 and 408. One will satisfy a general education requirement. Students can choose these two courses from the following list:
Biology:
| Abbreviation | Course Number | Title |
|---|---|---|
| BIOL | 411 | Principles of Biology I |
| BIOL | 412 | Principles of Biology II |
| BIOL | 413 | Principles of Biology I (UNH Manchester Course) |
| BIOL | 414 | Principles of Biology II (UNH Manchester Course) |
| HMP | 501 | Epidemiology and Community Medicine |
| MICR | 501 | Public Health Microbiology |
| PBIO | 412 | Introduction to Botany |
| PBIO | 421 | Concepts of Plant Growth |
| ZOOL | 412 | Principles of Zoology |
Physical Science:
| Abbreviation | Course Number | Title |
|---|---|---|
| CHEM | 401-402 | Introduction to Chemistry |
| CHEM | 403-404 | General Chemistry |
| CHEM | 405 | General Chemistry |
| ESCI | 405 | Global Environmental Change |
| ESCI | 409 | Environmental Geology |
| ESCI | 501 | Introduction to Oceanography |
| NR | 504 | Freshwater Resources |
Technology:
| Abbreviation | Course Number | Title |
|---|---|---|
| PHIL | 447 | Computer Power and Human Reason |
Sophomore Year
| Abbreviation | Course Number | Title | Fall | Spring |
|---|---|---|---|---|
| CS | 515 | Data Structures | 4 | |
| MATH | 531 | Mathematical Proof | 4 | |
| PHYS | 407 | General Physics I (Gen Ed 3P) | 4 | |
| Gen Ed | 4 | |||
| CS | 516 | Introduction to Software Design and Development | 4 | |
| MATH | 532 | Discrete Mathematics | 4 | |
| PHYS | 408 | General Physics II (Gen Ed 3P) | 4 | |
| Gen Ed | 4 | |||
| Total | 16 | 16 |
Junior Year
| Abbreviation | Course Number | Title | Fall | Spring |
|---|---|---|---|---|
| CS | 520 | Assembly Language Programming and Machine Organization | 4 | |
| CS | 671 | Programming Language Concepts and Features | 4 | |
| Statistics Course* | 4 | |||
| PHIL | 424 | Science, Technology and Society (Gen Ed 8) | 4 | |
| CS | 620 | Operating System Fundamentals | 4 | |
| Computer Science Theory Course ** | 4 | |||
| ECE | 543 | Introduction to Digital Systems | 4 | |
| CS | 595 | Computer Science Seminar | 2 | |
| Gen Ed | 4 | |||
| Total | 16 | 18 |
* Statistics requirement can be fulfilled by MATH 539, Introduction to Statistical Analysis, or MATH 644, Statistics for Engineers and Scientists.
** CS Theory requirement can be fulfilled by CS 645, Introduction to Formal Specification and Verification, or CS 659, Introduction to the Theory of Computation.
Senior Year
| Abbreviation | Course Number | Title | Fall | Spring |
|---|---|---|---|---|
| CS | 719 | Object-Oriented Methodology | 4 | |
| CS | Writing Intensive Course | 4 | ||
| ECE | 562 | Computer Organization | 4 | |
| Liberal Arts Elective * | 4 | |||
| CS | 700-Level | Elective | 4 | |
| CS | 700-Level | Elective | 4 | |
| Liberal Arts Elective * | 4 | |||
| Free Elective | 1 | |||
| Total | 16 | 13 |
* Liberal Arts electives can be any course within the College of Liberal Arts that does not have a math or science component.
Bachelor of Science in Computer Srience: Bioinformatics Option
The bioinformatics field is an increasingly important sub-discipline in computer science. The demand for computer science graduates who can apply their knowledge in the life sciences is significant, and is expected to continue to grow. Students who choose this path are still computer science majors but have a concentration in the life sciences. The option has the same core as the B.S. program but requires appropriate coursework in chemistry, biology, biochemistry, and statistics.
Computer science: bioinformatics majors must maintain an overall grade-point average of 2.0 or better in all required computer science, mathematics, computer engineering, biology, and biochemistry courses in order to graduate. If at the end of any semester, including the first, a studentÕs cumulative grade-point average in these courses falls below 2.0, the student may not be allowed to continue as a computer science: bioinformatics major. In order to be able to take a CS or MATH course with prerequisites, the prerequisite course(s) must be passed with a grade of a C- or better.
If a student wishing to transfer into the computer science: bioinformatics major has any coursework that is applicable to the major, the grades in those courses must satisfy the minimum grade requirements for the B.S. degree in computer science. The student must have an overall grade-point average of 2.0 or better in all courses taken at the University.
The B.S. in computer science: bioinformatics program is accredited by the Computing Accreditation Commission of ABET, 111 Market Place, suite 1050, Baltimore, MD 21202-4012, (410) 347-7700.
The broad objectives for B.S. in Computer Science: Bioinformatics graduates are:
1. To be competent in formulating and solving computer science problems, including the development of non-trivial software systems;
2. To understand computer science fundamentals along with supporting mathematics and science so they will be prepared for a wide range of jobs in the biomedical industry and the pursuit of advanced degrees in both computer science and bioinformatics;
3. To be able to function in the workplace with the necessary technical skills and with appropriate oral and written communication skills; and
4. To have a broad education that promotes professional advancement, lifelong personal development, and social responsibility.
The following is a sample schedule depicting the necessary requirements and the layout of the curriculum. Students must consult with their advisers in order to come up with the proper schedule for themselves.
Freshman Year
| Abbreviation | Course Number | Title | Fall | Spring |
|---|---|---|---|---|
| CS | 400 | Introduction to Computing | 1 | |
| CS | 415 | Introduction to Computer Science I | 4 | |
| MATH | 425 | Calculus I (Gen Ed 2) | 4 | |
| BIOL | 411 | Principles of Biology I (Gen Ed 3B) | 4 | |
| Gen Ed | 4 | |||
| CS | 416 | Introduction to Computer Science II | 4 | |
| MATH | 426 | Calculus II | 4 | |
| BIOL | 412 | Principles of Biology II (Gen Ed 3B) | 4 | |
| ENGL | 401 | First-Year Writing (Gen Ed 1) | 4 | |
| Total | 17 | 16 |
Sophomore Year
| Abbreviation | Course Number | Title | Fall | Spring |
|---|---|---|---|---|
| CS | 515 | Data Structures | 4 | |
| MATH | 531 | Mathematical Proof | 4 | |
| CHEM | 403 | General Chemistry I (Gen Ed 3P) | 4 | |
| Gen Ed | 4 | |||
| CS | 516 | Introduction to Software Design and Development | 4 | |
| MATH | 532 | Discrete Mathematics | 4 | |
| CHEM | 404 | General Chemistry II (Gen Ed 3P) | 4 | |
| Gen Ed | 4 | |||
| Total | 16 | 16 |
Junior Year
| Abbreviation | Course Number | Title | Fall | Spring |
|---|---|---|---|---|
| CS | 520 | Assembly Language Programming and Machine Organization | 4 | |
| Statistics Course* | 4 | |||
| CS | 671 | Programming Language Concepts and Features | 4 | |
| PHIL | 424 | Science, Technology and Society (Gen Ed 8) | 4 | |
| CS | 595 | Computer Science Seminar | 2 | |
| CS | 620 | Operating System Fundamentals | 4 | |
| Computer Science Theory Course ** | 4 | |||
| BIOL | 604 | Principles of Genetics | 4 | |
| Gen Ed | 4 | |||
| Total | 18 | 16 |
* Statistics requirement can be fulfilled by MATH 539, Introduction to Statistical Analysis, or MATH 644, Statistics for Engineers and Scientists.
** CS Theory requirement can be fulfilled by CS 645, Introduction to Formal Specification and Verification, or CS 659, Introduction to the Theory of Computation.
Senior Year
| Abbreviation | Course Number | Title | Fall | Spring |
|---|---|---|---|---|
| CS | 719 | Object-Oriented Methodology | 4 | |
| BCHEM | 711 | Genomics and Bioinformatics | 4 | |
| 700-Level | Statistics Course* | 4 | ||
| Liberal Arts Elective | 4 | |||
| CS | Writing Intensive Course ** | 4 | ||
| CS | 775 | Database Systems | 4 | |
| ECE | 543 | Introduction to Digital Systems | 4 | |
| Liberal Arts Elective | 4 | |||
| Total | 16 | 16 |
* This requirement can be fulfilled by the following courses: MATH 739, Applied Regression Analysis; MATH 742, Multivariate Statistical Methods; or MATH 755, Probability and Stochastic Processes with Applications.
** This course must include a project that addresses bioinformatics issues.
The Minor in Computer Science
The minor in computer science is designed for students in other majors who want to learn the fundamentals of designing and implementing computer software.
Note: All courses for the minor must be completed with a C- or higher.
Requirements:
| Abbreviation | Course Number | Title |
|---|---|---|
| CS | 415 | Introduction to Computer Science I |
| CS | 416 | Introduction to Computer Science II |
| CS | 515 | Data Structures |
Two additional courses chosen from:
| Abbreviation | Course Number | Title |
|---|---|---|
| CS | 516 | Introduction to Software Design and Development |
| CS | 520 | Assembly Language Programming and Machine Organization |
| CS | 620 | Operating System Fundamentals |
| *CS | 645 | Introduction to Formal Specification and Verification |
| *CS | 659 | Introduction to the Theory of Computation |
| CS | 671 | Programming Language Concepts and Features |
| An approved CS 700-level course |
* CS 645 and 659 have mathematics prerequisites: MATH 425, MATH 426, MATH 531, and MATH 532.

