Computer Science (B.S.)

Computer Science (B.S.)

Major in Computer Science

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
Department of Computer Science
Kingsbury Hall N229, 33 Academic Way
Durham, NH 03824

Phone: (603) 862.3778
E: office@cs.unh.edu

  • Joey Neleber '22
    Joey Neleber feels nothing but gratitude for the connections he’s made including the friends and professors who have pushed him to pursue his passion: computer science and Spaitr – a startup he co-founded at UNH’s ECenter....
    Joey Neleber '22
    Joey Neleber feels nothing but gratitude for the connections he’s made including the friends and professors who have pushed him to pursue his passion: computer science and Spaitr – a startup he co-founded at UNH’s ECenter....
  • Selena Richards '22
    Watch how first generation college student Selena Richards excelled in computer science and secured a position at one of the world's leading technology companies.
    Selena Richards '22
    Watch how first generation college student Selena Richards excelled in computer science and secured a position at one of the world's leading technology companies.
  • Meet a Wildcat in Computer Science
    Joey Neleber discusses his favorite things about attending the University of New Hampshire and advice for those considering UNH.
    Meet a Wildcat in Computer Science
    Joey Neleber discusses his favorite things about attending the University of New Hampshire and advice for those considering UNH.
  • Building Networks and Success through Innovation Scholars
    When Jon Snow ‘22 learned about the opportunity to build a network, work in the UNH InterOperability lab and begin his college year with a unique experience through joining the Innovation Scholars program, he couldn’t pass it up. A year later, the sophomore computer science major has built a strong...
    Building Networks and Success through Innovation Scholars
    When Jon Snow ‘22 learned about the opportunity to build a network, work in the UNH InterOperability lab and begin his college year with a unique experience through joining the Innovation Scholars program, he couldn’t pass it up. A year later, the sophomore computer science major has built a strong...
  • YouScheduler in the news:  DURHAM – Looking for a way to avoid 8 a.m. classes, University of New Hampshire computer science student Francesco Mikulis-Borsoi reached out to his friend Kristian Comer in October 2017. Two years later, they are generating revenue with YouScheduler, a website that...
    YouScheduler in the news:  DURHAM – Looking for a way to avoid 8 a.m. classes, University of New Hampshire computer science student Francesco Mikulis-Borsoi reached out to his friend Kristian Comer in October 2017. Two years later, they are generating revenue with YouScheduler, a website that...

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:

  1. Engaged in successful careers in diverse areas of software development and will be pursuing advanced education 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;
  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 served;
  5. Participated responsibly in the pervasive and changing role of computing technology in global society as both software engineers and citizens;
  6. 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.

Recommended Plan of Study

Plan of Study Grid
First Year
FallCredits
CS 400 Introduction to Computing 2
CS 415 Introduction to Computer Science I 4
IT 403 Introduction to Internet Technologies 4
MATH 425 Calculus I 4
Discovery I 4
 Credits18
Spring
CS 416 Introduction to Computer Science II 4
CS 420 Foundations of Programming for Digital Systems 4
MATH 426 Calculus II 4
ENGL 401 First-Year Writing 4
 Credits16
Second Year
Fall
CS 515 Data Structures and Introduction to Algorithms 4
CS 518
or CS 527
Introduction to Software Engineering
or Fundamentals of Cybersecurity
4
MATH 531
or MATH 539
or MATH 644
Mathematical Proof
or Introduction to Statistical Analysis
or Statistics for Engineers and Scientists
4
CS 501 Professional Ethics and Communication in Technology-related Fields (Or Discovery II) 4
 Credits16
Spring
CS 520 Computer Organization and System-Level Programming 4
MATH 539
or MATH 644
or MATH 531
Introduction to Statistical Analysis
or Statistics for Engineers and Scientists
or Mathematical Proof
4
CS 527
or CS 518
Fundamentals of Cybersecurity
or Introduction to Software Engineering
4
Discovery II (or CS 501) 4
 Credits16
Third Year
Fall
CS 619 Introduction to Object-Oriented Design and Development 4
CS 620 Operating System Fundamentals 4
CS 659 Introduction to the Theory of Computation (Or Professional Elective) 4
CS 761 Programming Language Concepts and Features (or Discovery III) 4
 Credits16
Spring
Professional Elective (or CS 659) 4
Discovery III (or CS 761) 4
Discovery IV 4
CS 758 Algorithms (Or CS 700-level General Elective or Discovery V) 4
 Credits16
Fourth Year
Fall
CS 791 Senior Project I 2
CS 700-level Implementation or Theory Elective 4
CS 700-level General Elective (or Discovery V) 4
Discovery V (or CS 758) 4
Discovery VI 4
 Credits18
Spring
CS 792 Senior Project II 2
CS 700-level Implementation or Theory Elective 4
CS 700-level General Elective (or CS 758) 4
Discovery VII 4
 Credits14
 Total Credits130

Discovery (7): Historical Perspectives, Humanities, Fine and Performing Arts, Social Science, World Cultures, Physical Science Discovery Lab, Biological Science Discovery Lab with ONE mandatory course with Writing Intensive (WI) attribute

Computer science majors must complete the following coursework in computer science, mathematics, computer engineering, and science. (all courses are 4 credits unless indicated otherwise):

Computer Science Courses
Select one of the following:
CS 400Introduction to Computing2
CS 415Introduction to Computer Science I4
or CS 410C Introduction to Scientific Programming/C
or CS 410P Introduction to Scientific Programming/Python
CS 416Introduction to Computer Science II4
CS 420Foundations of Programming for Digital Systems4
IT 403Introduction to Internet Technologies4
CS 501Professional Ethics and Communication in Technology-related Fields4
CS 515Data Structures and Introduction to Algorithms4
CS 518Introduction to Software Engineering4
CS 520Computer Organization and System-Level Programming4
CS 527Fundamentals of Cybersecurity4
CS 619Introduction to Object-Oriented Design and Development4
CS 620Operating System Fundamentals4
CS 659Introduction to the Theory of Computation4
CS 758Algorithms4
CS 761Programming Language Concepts and Features4
CS 791
CS 792
Senior Project I
and Senior Project II
4
or CS 799 Thesis
Computer Science Electives:
Select one course from the following implementation electives:4
CS 712
Compiler Design
CS 720
Systems Programming
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 755
Computer Vision
CS 757
Mathematical Optimization for Applications
Select two additional CS courses numbered 690-799 as general electives8
Professional Electives 1
Select one course from the following:3-4
CS 700-level course
IT 502
Intermediate Web Design
IT 604
Server-side Web Development
IT 605
Client-side Web Development
IT 612
Scripting Languages
IT 630
Data Science and Analytics
IT 666
Cybersecurity Practices
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 736
Advanced Statistical Modeling
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 767
One-Dimensional Real Analysis
MATH 776
Logic
MATH 783
Set Theory
MATH 784
Topology
MATH 788
Complex Analysis
ECE 562
Computer Organization
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
Mathematics Courses
MATH 425Calculus I4
MATH 426Calculus II4
MATH 531Mathematical Proof4
MATH 539Introduction to Statistical Analysis4
or MATH 644 Statistics for Engineers and Scientists
Science courses 2
One Discovery Biological Science (BS) with Discovery Lab4
One Discovery Physical Science (PS) with Discovery Lab4
Other Courses
Discovery requirements not already covered by required courses 324
Total Credits129-130
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.

In order to meet the CS major requirements, the following courses must be passed with a grade of C- or better CS 410CCS 410P, CS 415, CS 416CS 420, 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.

Graduates of the UNH BS CS program will have an ability to:

  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  • Communicate effectively in a variety of professional contexts.
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  • Apply computer science theory and software development fundamentals to produce computing-based solutions.
  • Learn independently about new technologies, and develop the skills needed to understand them.

Explore Program Details

The B.S. in computer science program is accredited by the Computing Accreditation Commission of ABET. 

ABET

Computing Accreditation Commission of ABET
111 Market Place, suite 1050
Baltimore, MD
21202-4012
Phone: (410) 347-7700

take the next step

student outside building on campus
LEARN HOW TO APPLY
Students on the lawn at Thompson Hall
SCHEDULE A VISIT
student at career event
REQUEST INFORMATION