Computer Science / Bachelor of Science

Total Credit Hours: 128
Major Credit Hours:
53

Degree Requirements

I. Core Courses (35)

13-240Applied Calculus

4

13-307Applied Linear Algebra

3

13-310Discrete Mathematics

4

70-200Introduction to Computer Science

3

70-210Programming Fundamentals

3

70-245Object-Oriented Programming

3

70-300Computer Organization

3

70-340Algorithms and Data Structures

3

70-350Operating Systems

3

70-460Programming Languages

3

70-480Communications and Networking

3

II. Capstone Sequence (6)

Complete either course sequence:
70-440Software Engineering

3

70-492Software Systems Capstone Project

3

-
OR

70-485Advanced Communications and Networking

3

70-493Computer Infrastructure Capstone Project

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-314Applied Probability and Statistics

3

13-315Probability and Statistics I

3

13-350Numerical Analysis

3

13-425Mathematical Modeling

3

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.
i. Choose this required course:
70-410Video Game Programming 1

3

ii. Chose three of the following:
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 eleven courses:

70-220Introduction to Unix

3

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-427Programming for Penetration Testing

3

70-428Programming for Digital Forensics

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.
i. Choose one Mathematics course:
13-314Applied Probability and Statistics

3

13-315Probability and Statistics I

3

13-350Numerical Analysis

3

13-425Mathematical Modeling

3

ii. Choose three Computer Science courses:
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

F. Data Science Concentration

Practitioners of virtually every discipline are collecting data like never before to gain a deeper understanding of their discipline and to make better decisions. The technical challenges associated with collecting, storing, processing, communicating, visualizing, and interpreting the huge quantities of data that have become available today are far from trivial. All of these challenges are the kinds computer scientists can meet, thanks to their deep understanding of how computer systems accomplish such tasks. The courses of the Data Science Concentration prepare students to design and develop software and hardware solutions for maximizing the value of Big Data.

i. Choose one Mathematics course:
13-314Applied Probability and Statistics

3

13-315Probability and Statistics I

3

ii. Choose both of the following:
70-330Database Systems

3

70-472Introduction to Data Mining

3

iii. Choose one Computer Science course:
70-235Programming for Data Analysis

3

70-355Cloud Computing and Virtualization

3

70-470Artificial Intelligence

3

70-471Machine Learning

3

IV. The Advanced Writing requirement for Computer Science majors is satisfied by completing a Capstone sequence: both 70-440 Software Engineering and 70-492 Software Systems Senior Project OR both 70-485 Advanced Communications and Networking and 70-493 Computer Infrastructure Senior Project.