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:

  1. 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;
  2. Applied the full range of core Computer Science concepts and techniques to fill software development needs of an organization or a firm;
  3. Adapted to changing directions of computing technology and used state-of-the-art techniques to confront new problems effectively;
  4. Navigated the complex interconnections between software and the goals and constraints of the organization/firm served;
  5. Participated responsibly in the pervasive and changing role of computing technology in global society as both software engineers and citizens;
  6. Operated professionally in a team environment, and assumed leadership roles.

For information on student outcomes click here. Detailed descriptions of the required and elective computer science courses and their mapping onto the student outcomes can be found here.

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.

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):

Required courses

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.

 

Mathematics courses:

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 courses:

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)

Other courses:

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 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.

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.