B.S. in Computer Science
Computer Science focuses on problem solving with a particular emphasis on the design of computer-efficient solutions. Within a few years of obtaining a bachelor's degree in either of the two Computer Science options, our alumni will have:
- Engaged in successful careers in diverse areas of software development and will already have, or be pursuing, advanced degrees in Computer Science or related fields;
- Applied the full range of core Computer Science concepts and techniques to fill software development needs of an organization or a firm;
- Adapted to changing directions of computing technology and used state-of-the-art techniques to confront new problems effectively;
- Navigated the complex interconnections between software and the goals and constraints of the organization/firm served;
- Participated responsibly in the pervasive and changing role of computing technology in global society as both software engineers and citizens;
- Operated professionally in a team environment, and assumed leadership roles.
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. Phone: (410) 347-7700. www.abet.org
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.
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.00 or better in all courses taken at UNH.
- Course guidelines for students who took CS 415 before fall 2014
- Course guidelines for students who took CS 415 between fall 2014 and spring 2016
- Course guidelines for students registering as a CS major from fall 2016
B.S. in Computer Science requirements:
Computer science majors must complete the following coursework in computer science, mathematics, computer engineering, science and English (all courses are 4 credits unless indicated otherwise):
Computer Science courses:
One of the following two-course sequences: CS 415, Introduction to Computer Science I, and CS 416, Introduction to Computer Science II; or CS 414, From Problems to Algorithms, and CS 417, From Programs to Computer Science; or CS 410, Introduction to Scientific Programming, and CS 417, From Programs to Computer Science
CS 400, Introduction to Computing (1 cr)
IT 403, Introduction to Internet Technologies
CS 501, Professional Ethics and Communication in Technology-Related Fields
CS 515, Data Structures
CS 520, Assembly Language Programming and Machine Organization
CS 619, Introduction to Software Design and Development
CS 620, Operating System Fundamentals
CS 659, Introduction to the Theory of Computation
CS 671, Programming Language Concepts and Features
CS 7.., CS elective 1
CS 7.., CS elective 2
CS 7.., CS elective 3
CS 7.., CS elective 4
CS 791, Senior Project I (senior capstone experience) (2 cr)
CS 792, Senior Project II (senior capstone experience) (2 cr)
A professional elective, chosen from a list of approved courses. One of the four CS electives must be "implementation intensive" (CS 712, CS 720, CS 730, CS 735, CS 770); another one must be "theory" (CS 712, CS 745, CS 758).
The professional elective must be 3 credits or more and can be chosen among the following options:
- Any CS7xx elective;
- IT666, IT604, IT612, IT705, IT780;
- A CS696 "independent study";
- MATH525, MATH526, MATH527, MATH528, MATH532, MATH545, MATH645, MATH646, MATH647, MATH656, MATH657, MATH658, MATH736, MATH737, MATH739, MATH740, MATH741, MATH743, MATH744, MATH745, MATH746, MATH747, MATH753, MATH754, MATH755, MATH756, MATH761, MATH762, MATH767, MATH776, MATH783, MATH784, MATH788;
- ECE649, any ECE7xx;
- A non-introductory CEPS course with significant science and/or engineering focus, as approved on a per-course basis by the undergraduate studies committee.
MATH 425, Calculus I
MATH 426, Calculus II
MATH 531, Mathematical Proof
MATH 539 or MATH 644, Statistics
Electrical and computer engineering courses:
ECE 543, Introduction to Digital Systems
ECE 562, Computer Organization
Science 1 and 2 (two-course sequence): BIOL 411-412 or CHEM 403-404 or ESCI 401-402 or ESCI 409-402 or PHYS 407-408
Science 3: any Discovery lab science course (DLAB)
ENGL 502, Technical Writing
Discovery requirements not already covered by required courses
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 students cumulative grade-point average in these courses falls below 2.0, the student may not be allowed to continue as a CS major.
CS 414 and CS 410 must be passed with a B- or better. The following courses must be passed with a grade of C- or better: IT 403, CS 415, CS 416, CS 417, CS 515, and CS 520. 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.