-
-
Radim Bartos
PROFESSOR -
Momotaz Begum
ASSISTANT PROFESSOR -
Mark Bochert
PRINCIPAL LECTURER -
Michel Charpentier
ASSOCIATE PROFESSOR -
Betsy Coleman
LECTURER -
Laura Dietz
ASSISTANT PROFESSOR -
Michael Gildersleeve
PRINCIPAL LECTURERIT Minor Coordinator -
Philip Hatcher
PROFESSOR -
Alejandro Hausner
SENIOR LECTURER -
Sofia Lemons
LECTURER -
Matthew Magnusson
LECTURER -
Arvind Narayan
PRINCIPAL LECTURERCS Undergraduate Program Coordinator -
Marek Petrik
ASSISTANT PROFESSOR -
Matthew Plumlee
SENIOR LECTURER -
Wheeler Ruml
PROFESSORAnalytics & Data Science Program Coordinator -
Elizabeth Varki
ASSOCIATE PROFESSORGraduate Program Coordinator -
James Weiner
ASSOCIATE PROFESSOR
Computer Science (B.S.)
Computer Science (B.S.)

What is a Bachelor of Science in computer science?
This program is tailored to students who want to focus on problem solving, with an emphasis on the design of computer-efficient solutions. The curriculum is rooted in fundamentals; students gain the skills and knowledge necessary to enter this ever-changing field with confidence. With a solid foundation in science and mathematics, students also develop strong problem-solving skills and abstract thinking, and many work in laboratories to get hands-on experience building software systems. Graduates of this program pursue advanced degrees or join the professional world in a wide range of positions.
Why study computer science at UNH?
You’ll have access to the UNH InterOperability Lab, where you’ll work alongside top tech companies to test their equipment before it hits the marketplace. All computer science students are encouraged to conduct research through capstone projects and independent studies. Many of UNH’s student organizations are a natural fit for computer science majors, such as the Cyber Security Club, the Linux Club, and Wildcat Women in Computer Science. Plus, the Programming Assistance Center offers walk-in support and tutoring.
Potential Careers
- Computer programmer
- Computer systems analyst
- Database developer
- Mobile application developer
- Network systems administrator
- Software engineer
- Web developer
Kingsbury Hall N229, 33 Academic Way
Durham, NH 03824
Phone: (603) 862.3778
E: office@cs.unh.edu
Curriculum & Requirements
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 alumni will have:
- Engaged in successful careers in diverse areas of software development and will be pursuing advanced education 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;
- 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 served;
- Participated responsibly in the pervasive and changing role of computing technology in global society as both software engineers and citizens;
- Operated collaboratively 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
(410) 347-7700
Recommened Plan of Study
First Year | ||
---|---|---|
Fall | Credits | |
CS 400 | Introduction to Computing | 1 |
IT 403 | Introduction to Internet Technologies | 4 |
CS 415 | Introduction to Computer Science I | 4 |
MATH 425 | Calculus I | 4 |
Other Requirements | 4 | |
Credits | 17 | |
Spring | ||
CS 416 | Introduction to Computer Science II | 4 |
MATH 426 | Calculus II | 4 |
ENGL 401 | First-Year Writing | 4 |
ECE 543 | Introduction to Digital Systems | 4 |
Credits | 16 | |
Second Year | ||
Fall | ||
CS 515 | Data Structures and Introduction to Algorithms | 4 |
MATH 531 | Mathematical Proof | 4 |
ECE 562 | Computer Organization | 4 |
Other Requirements | 4 | |
Credits | 16 | |
Spring | ||
CS 520 | Assembly Language Programming and Machine Organization | 4 |
CS 659 | Introduction to the Theory of Computation | 4 |
Other Requirements | 8 | |
Credits | 16 | |
Third Year | ||
Fall | ||
CS 620 | Operating System Fundamentals | 4 |
CS 671 | Programming Language Concepts and Features | 4 |
MATH 539 or MATH 644 |
Introduction to Statistical Analysis or Statistics for Engineers and Scientists |
4 |
Other Requirements | 4 | |
Credits | 16 | |
Spring | ||
CS 619 | Introduction to Object-Oriented Design and Development | 4 |
CS 758 | Algorithms | 4 |
CS 700 level elective | 4 | |
Other Requirements | 4 | |
Credits | 16 | |
Fourth Year | ||
Fall | ||
CS 791 | Senior Project I | 2 |
CS 700-level electives | 8 | |
Professional Electives | 7 | |
Credits | 17 | |
Spring | ||
CS 792 | Senior Project II | 2 |
CS 700 elective | 4 | |
Professional Elective | 4 | |
Other Requirements | 4 | |
Credits | 14 | |
Total Credits | 128 |
Computer science majors must complete the following coursework in computer science, mathematics, computer engineering, and science. (all courses are 4 credits unless indicated otherwise):
Code | Title | Credits |
---|---|---|
Computer Science Courses | ||
Select one of the following: | ||
CS 415 & CS 416 | Introduction to Computer Science I and Introduction to Computer Science II | 8 |
or CS 414 & CS 417 | From Problems to Algorithms to Programs and From Programs to Computer Science | |
or CS 410 & CS 417 | Introduction to Scientific Programming and From Programs to Computer Science | |
CS 400 | Introduction to Computing | 1 |
IT 403 | Introduction to Internet Technologies | 4 |
CS 501 | Professional Ethics and Communication in Technology-related Fields | 4 |
CS 515 | Data Structures and Introduction to Algorithms | 4 |
CS 520 | Assembly Language Programming and Machine Organization | 4 |
CS 619 | Introduction to Object-Oriented Design and Development | 4 |
CS 620 | Operating System Fundamentals | 4 |
CS 659 | Introduction to the Theory of Computation | 4 |
CS 671 | Programming Language Concepts and Features | 4 |
CS 758 | Algorithms | 4 |
Computer Science Electives: | ||
Select one course from the following implementation electives: | 4 | |
CS 712 | Compiler Design | |
CS 730 | Introduction to Artificial Intelligence | |
CS 735 | Introduction to Parallel and Distributed Programming | |
CS 770 | Computer Graphics | |
Select one course from the following theory electives: | 4 | |
CS 723 | Performance Evaluation of Computer Systems | |
CS 745 | Formal Specifications and Verification of Software Systems | |
CS 750 | Machine Learning | |
CS 757 | Mathematical Optimization for Applications | |
Select two additional CS courses numbered 690-799 as general electives | 8 | |
Professional Electives 1 | ||
Select two courses from the following: | 7-8 | |
CS 700-level course | ||
IT 604 | Server-side Web Development | |
IT 605 | Client-side Web Development | |
IT 612 | Scripting Languages | |
IT 630 | Data Science and Analytics | |
IT 666 | Computer Security | |
IT 705 | Project Management for Information Technology | |
IT 780 | Topics in Information Technology | |
MATH 525 | Linearity I | |
MATH 526 | Linearity II | |
MATH 527 | Differential Equations with Linear Algebra | |
MATH 528 | Multidimensional Calculus | |
MATH 545 | Introduction to Linear Algebra | |
MATH 645 | Linear Algebra for Applications | |
MATH 647 | Complex Analysis for Applications | |
MATH #656 | Introduction to Number Theory | |
MATH 658 | Topics in Geometry | |
MATH 736 | Advanced Statistical Methods for Research | |
MATH 737 | Statistical Methods for Quality Improvement and Design | |
MATH 739 | Applied Regression Analysis | |
MATH 740 | Design of Experiments I | |
MATH 741 | Survival Analysis | |
MATH 743 | Time Series Analysis | |
MATH #744 | Design of Experiments II | |
MATH 745 | Foundations of Applied Mathematics I | |
MATH 746 | Foundations of Applied Mathematics II | |
MATH 747 | Introduction to Nonlinear Dynamics and Chaos | |
MATH 753 | Introduction to Numerical Methods I | |
MATH 755 | Probability with Applications | |
MATH 756 | Principles of Statistical Inference | |
MATH 760 | Geometry | |
MATH 761 | Abstract Algebra | |
MATH 762 | Linear Algebra | |
MATH 767 | One-Dimensional Real Analysis | |
MATH 776 | Logic | |
MATH 783 | Set Theory | |
MATH 784 | Topology | |
MATH 788 | Complex Analysis | |
ECE 649 | Embedded Microcomputer Based Design | |
ECE 700 level course | ||
ENGL 502 | Professional and Technical Writing | |
GEN 604 | Principles of Genetics | |
GEN 711 | Genomics and Bioinformatics | |
Senior Capstone Experience: | ||
CS 791 | Senior Project I | 2 |
CS 792 | Senior Project II | 2 |
Mathematics Courses | ||
MATH 425 | Calculus I | 4 |
MATH 426 | Calculus II | 4 |
MATH 531 | Mathematical Proof | 4 |
MATH 539 | Introduction to Statistical Analysis | 4 |
or MATH 644 | Statistics for Engineers and Scientists | |
Electrical and Computer Engineering courses | ||
ECE 543 | Introduction to Digital Systems | 4 |
ECE 562 | Computer Organization | 4 |
Science courses 2 | ||
One Discovery Biological Science (BS) with Discovery Lab | 4 | |
One Discovery Physical Science (PS) with Discovery Lab | 4 | |
Other Courses | ||
Discovery requirements not already covered by required courses 3 | ||
Total Credits | 104-105 |
1 | Professional electives must either be chosen from the list of approved courses or another non-introductory CEPS course with significant science and/or engineering focus approved on a per-course basis by the undergraduate studies committee. |
2 | Courses must carry the Discovery attributes of Biological Science or Physical Science and include Discovery lab (DLAB). |
3 | One of these courses must be writing intensive. |
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.
The following courses must be passed with a grade of C- or better: CS 410, CS 414, CS 415, CS 416, CS 417, CS 515, CS 520, IT 403
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.
Explore Program Details
The B.S. in computer science program is accredited by the Computing Accreditation Commission of ABET.
Computing Accreditation Commission of ABET
111 Market Place, suite 1050
Baltimore, MD
21202-4012
Phone: (410) 347-7700
- Course guidelines for students registering as a CS major from fall 2019
- Guidelines for changing to new (AY 2019-2020) catalog requirments
- Course guidelines for students registering as a CS major from fall 2016
- Course guidelines for students who took CS 415 between fall 2014 and spring 2016