#### Undergraduate Studies Overview

The Department of Computer Science offers bachelor of science degrees in computer science and in software engineering. Both programs of study are based on a solid foundation of mathematics, including calculus, linear algebra and discrete mathematics. These are designed to offer students opportunities to prepare for careers in a rapidly changing profession, whether they choose after graduation to enter industry, business or government. Students are also prepared for graduate study, an important consideration in a field in which further education is strongly recommended.

The computer science and software engineering programs have the same basis in core computer science, including modern programming methodologies, the analysis of algorithms and data structures, and the study of operating systems. The computer science program continues with courses in advanced data structures, programming languages and automata theory, whereas the software engineering program includes courses in requirements engineering, software validation and testing, and software architecture, culminating in a challenging project course in which students must demonstrate the use of software engineering techniques. Both programs offer a rich choice of application areas, including digital systems design, computer networks, embedded systems, computer imaging, artificial intelligence and cognitive modeling, and human-computer interaction.

**COMPUTER SCIENCE MINORS**

**A minor in Computer Science** requires 21 credit hours earned through the following courses:

ECS 1337 Computer Science I

ECS 2305 Discrete Mathematics for Computing I

ECS 2336 Computer Science II

CS 3305 Discrete Mathematics for Computing II

ECS 3345 Data Structures and Introduction to Algorithmic Analysis

ECS 3354 Software Engineering

CS 43XX Elective (any 4000-level organized CS class or ECS 4390)

**A minor in Information Assurance** requires 30 credit hours earned through the following courses:

ECS 1337 Computer Science I

ECS 2305 Discrete Mathematics for Computing I

ECS 2336 Computer Science II

CS 3305 Discrete Mathematics for Computing II

ECS 3345 Data Structures and Introduction to Algorithmic Analysis

CS 4347 Database Systems

ECS 4348 Operating Systems Concepts

CS 4389 Data and Applications Security

CS 4393 Computer and Network Security

CS 4398 Digital Forensics

**A minor in Software Engineering** requires 21 credit hours earned through the following courses:

ECS 1337 Computer Science I

ECS 2305 Discrete Mathematics for Computing I

ECS 2336 Computer Science II

SE 3306 Mathematical Foundations of Software Engineering

ECS 3345 Data Structures and Introduction to Algorithmic Analysis

ECS 3354 Software Engineering

SE 43XX Elective (any 4000-level organized SE class)