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:
- To be competent in formulating and solving computer science problems, including the development of complex software systems;
- 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;
- To be able to function in the workplace with the necessary technical skills and with appropriate oral and written communication skills; and
- 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. 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.
Computer science majors must maintain an overall grade-point average (GPA) of 2.00 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 GPA in these courses falls below 2.00, 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.00 or better in all courses taken at UNH.
The curriculum includes coursework in mathematics, science, and philosophy.
As a guide to course selection you may use the following course guidelines:BS Computer Science Requirements
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:
CS400: Introduction to computing (1cr)
CS415: Introduction to computer science I
CS416: Introduction to computer science II
CS501: Professional Ethics & Communication in Technology
CS515: Data structures
CS520: Assembly language programming and machine organization
CS619: Introduction to software design and development
CS620: Operating system fundamentals
CS659: Introduction to the theory of computation
CS671: Programming language concepts and features
CS7..: CS elective 1
CS7..: CS elective 2
CS7..: CS elective 3
CS7..: CS elective 4
CS791: Senior project I (senior capstone experience) (2cr)
CS792: Senior project II (senior capstone experience) (2cr)
A professional elective, chosen from the list of approved courses below.
One of the 4 CS electives must be "implementation intensive" (CS712,
CS720, CS730, CS735, CS770); another one must be "theory" (CS712,
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.
Math425: Calculus I
Math426: Calculus II
Math531: Mathematical proof
Math539 or Math644: Statistics
Electrical and Computer Engineering courses:
ECE543: Introduction to Digital Systems
ECE562: Computer Organization
Science 1 and 2 (two-course sequence): Biol411&412 or Chem403&404 or
Esci401&402 or Esci409&402 or Phys407&408
Science 3: any Discovery lab science course (DLAB)
Science 4: any Discovery lab science course (DLAB)
Engl502: Technical writing
Discovery requirements not already covered by required courses