# 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 in either of the two computer science options, 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 programs are accredited by the:

Computing Accreditation Commission of ABET

111 Market Place

Suite 1050

Baltimore, MD 21202-4012

(410) 347-7700

Computer science majors must complete the following coursework in computer science, mathematics, computer engineering, science, English, and philosophy (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 |

Computer Science Electives: | ||

Select one course from the following: | ||

CS 712 | Compiler Design | 4 |

or CS #720 | Operating System Programming | |

or CS 730 | Introduction to Artificial Intelligence | |

or CS 730W | Introduction to Artificial Intelligence | |

or CS 770 | Computer Graphics | |

or CS 770W | ||

Select one course from the following: | ||

CS 723 | Performance Evaluation of Computer Systems | 4 |

or CS 745 | Formal Specifications and Verification of Software Systems | |

or CS 750 | Machine Learning | |

or CS 758 | Algorithms | |

Select two additional CS courses numbered 690-799 | 8 | |

Professional Elective ^{1} | ||

Select one course from the following: | 4 | |

CS 700-level course | ||

Server-side Web Development | ||

Client-side Web Development | ||

Scripting Languages | ||

Data Science and Analytics | ||

Computer Security | ||

Project Management for Information Technology | ||

Topics in Information Technology | ||

Linearity I | ||

Linearity II | ||

Differential Equations with Linear Algebra | ||

Multidimensional Calculus | ||

MATH 532 | ||

Introduction to Linear Algebra | ||

Linear Algebra for Applications | ||

MATH 646 | ||

Complex Analysis for Applications | ||

Introduction to Number Theory | ||

MATH 657 | ||

Topics in Geometry | ||

Advanced Statistical Methods for Research | ||

Statistical Methods for Quality Improvement and Design | ||

Applied Regression Analysis | ||

Design of Experiments I | ||

Survival Analysis | ||

Time Series Analysis | ||

Design of Experiments II | ||

Foundations of Applied Mathematics I | ||

Foundations of Applied Mathematics II | ||

Introduction to Nonlinear Dynamics and Chaos | ||

Introduction to Numerical Methods I | ||

MATH 754 | ||

Probability with Applications | ||

Principles of Statistical Inference | ||

Abstract Algebra | ||

Linear Algebra | ||

One-Dimensional Real Analysis | ||

Logic | ||

Set Theory | ||

Topology | ||

Complex Analysis | ||

Embedded Microcomputer Based Design | ||

ECE 700 level course | ||

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

Science 1 and 2 (two-course sequence): Select one of the following sequences: | 8 | |

Introductory Biology: Molecular and Cellular and Introductory Biology: Evolution, Biodiversity and Ecology | ||

General Chemistry I and General Chemistry II | ||

Dynamic Earth and Earth History | ||

Geology and the Environment and Earth History | ||

General Physics I and General Physics II | ||

Science 3: Select any Discovery lab science course (DLAB) | 4 | |

Other Courses | ||

ENGL 502 | Professional and Technical Writing | 4 |

Discovery requirements not already covered by required courses | ||

Total Credits | 105 |

^{1} | Professional elective must be 3 credits or more chosen from the above approved courses. Or, a non-introductory CEPS course with significant science and/or engineering focus, as approved on a per-course basis by the undergraduate studies committee. |

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.

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

Other Requirements | 8 | |

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 |

Other Requirements | 8 | |

Credits | 16 | |

Spring | ||

ECE 562 | Computer Organization | 4 |

CS 619 | Introduction to Object-Oriented Design and Development | 4 |

CS 7xx CS elective | 4 | |

Other Requirements | 4 | |

Credits | 16 | |

Fourth Year | ||

Fall | ||

CS 791 | Senior Project I | 2 |

Two CS 7xx CS electives | 8 | |

Other Requirements | 8 | |

Credits | 18 | |

Spring | ||

CS 792 | Senior Project II | 2 |

CS 7xx CS elective | 4 | |

Professional Elective | 4 | |

Other Requirements | 4 | |

Credits | 14 | |

Total Credits | 129 |