Undergraduate Course Catalog 2006-2007
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, Pilar de la Torre, Philip J. Hatcher, Ted M. Sparr, Colin Ware
Associate Professor: Radim Bartos, Robert D. Russell, Elizabeth Varki, James L. Weiner
Affiliate Associate Professor: Jason H. Moore, Sylvia Weber Russell, Elise H. Turner, Roy M. Turner
Assistant Professor: Michel Charpentier, Alejandro Hausner, Zachary Rubinstein
Affiliate Assistant Professor: Susan Lander, Matthew D. Plumlee
Instructor: Michael Gildersleeve, Brian L. Johnson, Israel J. Yost
Lecturer: Mark L. Bochert, Ellen M. Hepp, Arvind Narayan, Karl Shump
Computer scientists are concerned with all aspects of the design and
implementation of computer software. They are concerned with problem
solving in general, with particular emphasis on the design of
computer-efficient solutions. This involves detailed understanding of
the nature of algorithms (a set of rules for solving a problem), the
software implementation techniques necessary to utilize algorithms on
computers, and a knowledge of how algorithms can be combined in a
structured manner to form highly complex software systems.
The broad objectives for the B.S. in computer science are to produce graduates who:
1. are competent in formulating and solving computer
science problems including the development of non-trivial software
systems;
2. understand computer science fundamentals along
with supporting mathematics and science sufficiently well to be
prepared for a wide range of jobs and to pursue advanced degrees;
3. are able to function in the workplace with the
necessary technical skills and with appropriate oral and written
communication skills; and
4. have a broad education that promotes professional
advancement, lifelong personal development, and social responsibility.
Computer science majors must obtain an overall grade-point average of
2.00 or better in all required computer science, mathematics, and
electrical engineering courses in order to graduate. If at the end of
any semester, including the first, a student’s cumulative average in
these courses falls below 2.00, the student may not be allowed to
continue as a CS major.
If a student wishing to transfer into the computer science major has
taken any other coursework that is applicable to the major, the grades
in those courses must satisfy the minimum requirements for the B.S.
degree in computer science. The student must have an overall
grade-point average of 2.00 or better in all courses taken at UNH.
Bachelor of Science in Computer Science
The standard program leads to a B.S. in computer science and is
designed to prepare students for both employment and graduate study in
the field. The program emphasizes the application of computer
science theory and principles but also includes a broad background in
basic mathematics and an introduction to computer hardware. Most
courses require heavy use of the computer, and the laboratories stress
hands-on experience with building software systems.
Requirements
1. Satisfy general education requirements. The
following courses are required and may be used to fulfill requirements
in the appropriate general education group: PHYS 407-408, General
Physics I and II; MATH 425, Calculus I; and PHIL 424, Science,
Technology and Society.
2. Two additional technology or science courses, one
of which may satisfy a general education requirement, chosen from the
following list:
Biology
BIOL 411, Principles of Biology I
BIOL 412, Principles of Biology II
BIOL 413, Principles of Biology I (a UNHM course)
BIOL 414, Principles of Biology II (a UNHM course)
HMP 501, Epidemiology and Community Medicine
MICR 501, Public Health Microbiology
PBIO 412, Introductory Botany
PBIO 421, Concepts of Plant Growth
ZOOL 412, Principles of Zoology
Physical Science
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
PHIL 447, Computer Power and Human Reason
Also acceptable are sections of the INCO 404, Honors Seminar that the
University designates as fulfilling a category 3 general education
requirement.
3. Two additional approved courses chosen from the
humanities, social sciences, and arts. These courses
are in
addition to any courses used to satisfy general education
requirements.
4. One core course, CS 415, Introduction to Computer
Science I, which must be passed with a grade of B- or better.
5. Ten additional core courses, which must be passed
with a grade of C- or better. Before taking a course
having any
of these ten courses as a prerequisite, the prerequisite
course(s) must
be passed with a grade of C- or better: CS 416, Introduction to
Computer Science II; CS 515, Data Structures; CS
516, Introduction to
Software
Design and Development; CS 520, Assembly Language Programming
and Machine
Organization; CS 620, Operating System Fundamentals; CS
671, Programming
Language Concepts and Features;
MATH 425 and MATH 426,
Calculus I and II; MATH 531,
Mathematical Proof; MATH 532, Discrete
Mathematics.
6. CS 595, Computer Science Seminar (two credits).
7. One computer science theory course chosen from: CS
645, Introduction to Formal Specification and Verification; CS 658,
Analysis of Algorithms; or CS 659, Introduction to the Theory of
Computation.
8. CS 719, Object-oriented methodology
9. Two approved computer science courses chosen from
CS courses numbered above 640 or ECE 777, Collaboration Engineering, or
ECE 649, Embedded Microcomputer Based Design.
10. One approved writing intensive course chosen from CS courses numbered above 640.
11. One course in probability and statistics: MATH 644, Probability and
Statistics for Applications or MATH 639, Introduction to Statistical
Analysis.
12. Two electrical and computer engineering courses: ECE 543,
Introduction to Digital Systems, and ECE 562, Computer Organization.
Bachelor of Science in Computer Science, Bioinformatics Option
The aim of the bioinformatics option is to provide a tailored program
for undergraduate students who wish to apply computer science expertise
in the life sciences. The bioinformatics field is an increasingly
important subdiscipline in computer science. The demand for computer
science graduates who can apply their knowledge in the life science is
large, and is expected to continue to grow.
The bioinformatics option has the same core as the B.S. program but
requires the appropriate coursework in chemistry, biology, biochemistry
and statistics. The bioinformatics option of the baccalaureate-level
program in computer science is not yet accredited because it has not
yet been through the entire review process.
The option requirements are:
1. Satisfy general education requirements. The
following courses are required and may be used to fulfill requirements
in the appropriate general education group: CHEM 403-404, General
Chemistry; BIOL 411, Principles of Biology I; MATH 425, Calculus I; and
PHIL 424, Science, Technology and Society.
2. Three science courses: BIOL 412, Principles of
Biology II; BIOL 604, Genetics; and BCHEM 711, Genomics and
Bioinformatics.
3. Two approved courses chosen from the humanities,
social sciences, and arts. These courses are in addition to any
courses used to satisfy general education requirements.
4. One core course, CS 415, Introduction to Computer
Science I, which must be passed with a grade of B- or better.
5. Ten additional core courses, which must all be
passed with a grade of C- or better.
Before taking a course
having any of these ten courses as a prerequisite, the
prerequisite
course(s) must be passed with a grade of C- or better: CS 416,
Introduction to Computer Science II; CS 515, Data
Structures; CS 516,
Introduction to Software Design
and Development; CS 520, Assembly
Language Programming and Machine
Organization; CS 620, Operating System
Fundamentals; CS 671, Programming
Language Concepts and Features;
MATH
425 and MATH 426, Calculus I and II; MATH
531, Mathematical Proof; MATH
532, Discrete Mathematics.
6. CS 595, Computer Science Seminar (two credits).
7. One computer science theory course chosen from: CS
645, Introduction to Formal Specification and Verification; CS 658,
Analysis of Algorithms; or CS 659, Introduction to the Theory of
Computation.
8. Two required senior-level courses: CS 719, Object-Oriented Methodology, and CS 775, Database Systems.
9. One additional senior-level course chosen from CS
730, Introduction to Artificial
Intelligence; CS 767, Interactive
Data
Visualization; CS 770, Computer Graphics; or CS 696,
Independent
Study. The chosen course must include a project that addresses
bioinformatics
issues.
10. At least one of the three senior-level computer science courses
must be writing
intensive.
11. Two courses in probability and statistics: MATH
639, Introduction to Statistical Analysis or
MATH 644, Probability and
Statistics for Applications, and a follow-up course chosen
from MATH
739, Applied Regression Analysis; MATH 742, Multivariate Statistical
Methods; or MATH 755, Probability and Stochastic
Processes with
Applications.
12. One course in electrical and computer engineering: ECE 543,
Introduction to Digital Systems.