Computer Science Bachelor of Science

Total Credit Hours: 128

Major Credit Hours: 51

Degree Requirements

I. Core Courses (36)

13-200Calculus I

4

13-201Calculus II

4

13-310Discrete Mathematics

4

70-200Introduction to Computer Science

3

70-210Programming and Data Structures

3

70-220Introduction to Unix

3

70-245Object-Oriented Programming

3

70-300Computer Organization

3

70-350Operating Systems

3

70-460Programming Languages

3

70-480Communications and Networking

3

II. Capstone: Complete either course: (3)

70-440Software Engineering

3

-OR

70-485Advanced Communications and Networking

3

III. Electives (12)

Electives give students the opportunity to focus on specific topics of interest. Computer Science is a field with broad impact and a commensurately diverse focus. Because of this, it can sometimes be difficult for a student to identify computer science electives that match his or her interests and career aspirations. Formal concentrations exist within the Computer Science curriculum to help a student select electives that match his or her interests and goals. A Concentration is a set of electives that fit a particular theme. They provide a framework for selecting the four electives a Computer Science major needs to complete the Bachelor of Science in Computer Science. A student need not declare a Concentration and may instead choose his or her electives per the rules described under No Declared Concentration below. However, if a student wishes to pursue and declare a specific area of focus, then he or she may pursue a particular Concentration. A student may declare no more than one Concentration in which to graduate. The purpose of these formal Concentrations is not to prescribe or constrain the electives a student takes. Rather, it is to provide the student guidance in choosing elective coursework with a specific focus.

A. No Declared Concentration

Choose any four additional computer science courses at or above the 200 level.

One of the following courses may substitute for one computer science elective:

13-305 Linear Algebra

13-315 Probability and Statistics

13-350 Numerical Analysis

13-425 Mathematical Modeling

B. Game and Simulation Programming Concentration

The purpose of the Game and Simulation Programming concentration is to prepare students to write computer games and simulations of real-world process and systems. Gaming and simulation are kindred pursuits, and so students who take the courses of this concentration will be well-qualified to develop both of these kinds of software applications.

To earn the Game and Simulation Programming Concentration, students must take 70-410: Video Game Programming 1 and three of the following five courses:

13-425Mathematical Modeling

3

70-415Video Game Programming 2

3

70-417Mobile Application Development

3

70-430Computer Graphics

3

70-470Artificial Intelligence

3

C. Cyber Security Operations Concentration

Cyber Security Operations is a highly technical focus within the field of Information Security that requires computer scientists who understand the ways in which data are represented, stored, and processed; how machines and operating systems manage memory and processing resources; and how applications interact and influence each other during their execution. The purpose of Cyber Security Operations Concentration is to provide students the skills and knowledge they need to protect computers, networks, and data stores.

To earn the Concentration in Cyber Security Operations, a student must take four of the following eight courses:

70-250File Systems and Digital Forensics

3

70-330Database Systems

3

70-355Cloud Computing and Virtualization

3

70-360Applied Programming Languages

3

70-420Computer Security

3

70-423Cyber Security and Forensics Tools

3

70-425Encryption

3

70-485Advanced Communications and Networking

3

D. Pervasive Computing Concentration

Increasingly, people consume and produce data on non-traditional computing platforms, such as smart phones, tablets, electronic appliances, and control systems. The coursework of the Pervasive Computing Concentration prepares students to develop applications and systems of applications that process and present diverse, distributed data on a variety of platforms.

To earn the Pervasive Computing Concentration, students must take four courses from this list of seven:

70-230Visual Basic

3

70-247Web and Distributed Programming

3

70-330Database Systems

3

70-355Cloud Computing and Virtualization

3

70-360Applied Programming Languages

3

70-417Mobile Application Development

3

70-472Introduction to Data Mining

3

E. Computational Theory Concentration

Like all other scientific fields, Computer Science is both a theoretical and an empirical pursuit. Computer Scientists use and develop applications guided by a rich body of theoretical principles. What we understand about how systems process, store, and discover data continues to evolve, thanks to the work of theoreticians in the field. The purpose of the Computational Theory Concentration is to train Computer Scientists who can advance our understanding of how computer systems process, store, and create data and instructions.

To earn the Computational Theory Concentration, students must take one of the following four Mathematics courses and three of the following six computer science courses:

13-305Linear Algebra

3

13-315Probability and Statistics I

3

13-350Numerical Analysis

3

13-425Mathematical Modeling

3

70-315Scientific Computing

3

70-355Cloud Computing and Virtualization

3

70-470Artificial Intelligence

3

70-471Machine Learning

3

70-472Introduction to Data Mining

3

70-490Compiler Construction

3

IV. The advanced writing requirement is satisfied within the major by taking both 70-460 Programming Languages and either of the two capstone courses, 70-440 Software Engineering OR 70-485 Advanced Communications and Networking.