Computer Science Major (B.S.)
https://ceps.unh.edu/computer-science/program/bs/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 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.
Degree Requirements
All Major, Option and Elective Requirements as indicated.
*Major GPA requirements as indicated.
Major Requirements
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 or their equivalents must be passed with a grade of C- or better in order to meet the CS major requirements: CS 415, CS 416, CS 420, CS 515, CS 520, and IT 403.
Students are expected to demonstrate consistent progress towards the satisfaction of the core degree requirements and are allowed two repeats of the aforementioned courses before being dismissed from the program. This can be a single course repeated twice or two courses repeated once. Students may petition for reinstatement one-year after program dismissal.
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.
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 | ||
CS 400 | Introduction to Computing | 2 |
CS 415 | Introduction to Computer Science I | 4 |
or CS 410C | Introduction to Scientific Programming/C | |
or CS 410P | Introduction to Scientific Programming/Python | |
CS 416 | Introduction to Computer Science II | 4 |
CS 420 | Foundations of Programming for Digital Systems | 4 |
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 518 | Introduction to Software Engineering | 4 |
CS 520 | Computer Organization and System-Level Programming | 4 |
CS 527 | Fundamentals of Cybersecurity | 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 758 | Algorithms | 4 |
CS 761 | Programming Language Concepts and Features | 4 |
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 | |
Compiler Design | ||
Systems Programming | ||
Introduction to Artificial Intelligence | ||
Introduction to Parallel and Distributed Programming | ||
Foundations of Neural Networks | ||
Information Retrieval and Generation Systems | ||
Computer Graphics | ||
Data Science for Knowledge Graphs and Text | ||
Select three additional CS courses numbered 690-799 | 12 | |
Professional Electives 1 | ||
Select one course from the following: | 3-4 | |
CS 700-level course | ||
Intermediate Web Design | ||
Server-side Web Development | ||
Full-Stack Web Development | ||
Scripting Languages | ||
Data Science and Big Data Analytics | ||
Cybersecurity Practices | ||
Project Management for Information Technology | ||
Linearity I | ||
Linearity II | ||
Differential Equations with Linear Algebra | ||
Multidimensional Calculus | ||
Introduction to Linear Algebra | ||
Linear Algebra for Applications | ||
Complex Analysis for Applications | ||
Advanced Statistical Modeling | ||
Statistical Methods for Quality Improvement and Design | ||
Applied Regression Analysis | ||
Design of Experiments I | ||
Survival Analysis | ||
Time Series Analysis | ||
Foundations of Applied Mathematics I | ||
Introduction to Nonlinear Dynamics and Chaos | ||
Introduction to Numerical Methods I | ||
Probability with Applications | ||
Principles of Statistical Inference | ||
Geometry | ||
Abstract Algebra | ||
One-Dimensional Real Analysis | ||
Set Theory | ||
Topology | ||
Complex Analysis | ||
Computer Organization | ||
Embedded Microcomputer Based Design | ||
ECE 700-level course | ||
Principles of Genetics | ||
Genomics and Bioinformatics | ||
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 | |
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 | 24 | |
Total Credits | 129-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.
Sample Degree Plan
This sample degree plan serves as a general guide; students collaborate with their academic advisor to develop a personalized degree plan to meet their academic goals and program requirements.
First Year | ||
---|---|---|
Fall | Credits | |
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 | |
Credits | 18 | |
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 |
Credits | 16 | |
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 | 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 |
Credits | 16 | |
Spring | ||
CS 520 | Computer Organization and System-Level Programming | 4 |
MATH 539 | 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 | |
Credits | 16 | |
Third Year | ||
Fall | ||
CS 619 | Introduction to Object-Oriented Design and Development | 4 |
CS 620 | Operating System Fundamentals (or Professional Elective) | 4 |
CS 659 | Introduction to the Theory of Computation | 4 |
Discovery III | 4 | |
Credits | 16 | |
Spring | ||
CS 758 or CS 761 | Algorithms or Programming Language Concepts and Features | 4 |
CS 700-level Elective I | 4 | |
Professional Elective (or CS 620) | 4 | |
Discovery IV | 4 | |
Credits | 16 | |
Fourth Year | ||
Fall | ||
CS 791 | Senior Project I | 2 |
CS 761 or CS 758 | Programming Language Concepts and Features or Algorithms | 4 |
CS 700-level Implementation Elective (or 700-Level Elective II) | 4 | |
Discovery V | 4 | |
Discovery VI | 4 | |
Credits | 18 | |
Spring | ||
CS 792 | Senior Project II | 2 |
CS 700-level Elective II (or Implementation Elective) | 4 | |
CS 700-level Elective III | 4 | |
Discovery VII | 4 | |
Credits | 14 | |
Total Credits | 130 |
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
Program Learning Outcomes
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.