Programs and Requirements

All computer science students are required to take the Core Degree Requirements, Communications Requirement, and additional Mathematical Requirements of the Computer Science Major (6610). Student must then pick an area of concentration. These concentrations allow students to gain additional specialization in one of several (interdisciplinary) areas of study:

  • Software and Systems (6611)
  • Data Science (6612)
  • Digital Hardware and Embedded Systems (6613)

Core Degree Requirements

Computer Science

CSCI 221 - Programming Concepts and Problem Solving I

CSCI 222 - Programming Concepts and Problem Solving II

CSCI 301 - Discrete Structures for Computer Science I

CSCI 302 - Discrete Structures for Computer Science II

CSCI 325 - Data Structures and Algorithms

CSCI 352 - Software Engineering

CSCI 420 - Computer Organization and Architecture

CSCI 430 - Algorithm Design and Analysis

CSCI 435 - Theory of Computation

CSCI 470 - Comparison of Programming Languages

CSCI 485 - Computer Operating Systems

CSCI 495 - Senior Design Project

Communication

ENGL 325 - Technical Communications

Mathematics

MATH 210 - Elementary Statistics and Probability

MATH 251 - Calculus I

MATH 310 - Linear Algebra

Concentration Requirements

Software and Systems Concentration (6611)

The Software and Systems concentration is the most general concentration, allowing students to customize their degree program with additional upper division electives from the discipline.

 

9 Additional Hours of Upper Division Computer Science Electives

Data Science (6612)

Data Science is a rapidly growing interdisciplinary field that combines skills from Computer Science, Mathematics, and Statistics. Data Scientists specialize in analyzing, modeling, and communicating insights about large data in a variety of settings.

 

CSCI 410 - Database Management Systems

CSCI 455 - Data Mining and Information Retrieval

MATH 252 - Calculus II

STAT 325 - Statistical Methods

STAT 365 - Regression Analysis

 

3 Additional Hours of Upper Division Computer Science Electives

Digital Hardware and Embedded Systems (6613)

Embedded Systems and “Internet of Things”-style devices are becoming more commonplace in modern society. The Digital Hardware and Embedded Systems Concentration gives students additional hands-on experience in low-level computing fundamentals including hardware design, microcontrollers, and computing platforms that require sensors and actuators that interface with the physical world.

 

ENGR 231 - Digital Logic

ENGR 460 - Microprocessors and Computer Organization

 

9 Additional Hours from:
  • CSCI 360 - Networking
  • CSCI 385 - Distributed Systems
  • CSCI 458 - Autonomous Mobile Robotics
  • ENGR 466 - Digital Systems Design
  • CSCI 475 - Compilers, Interpreters, and Language Translators

Upper Division Electives

The list of upper division electives currently offered in Computer Science include:

CSCI 335 - Mobile Platform Development

CSCI 360 - Introduction to Computer Networks

CSCI 371 - Competitive Programming Seminar

CSCI 380 - Artificial Intelligence

CSCI 385 - Distributed Systems

CSCI 410 - Database Management Systems

CSCI 415 - Web-Based Client-Server Programming

CSCI 445 - Computer Graphics

CSCI 455 - Data Mining and Information Retrieval

CSCI 458 - Autonomous Mobile Robotics

CSCI 475 - Compilers, Interpreters and Language Translators

CSCI 480 - Internship in Computer Science

CSCI 490 - Advanced Topics in Computer Science

Computer Science Minor

The minor in computer science consists of: CSCI 221, CSCI 222, CSCI 325 and at least 9 additional hours from one of the following tracks: CSCI 301, CSCI 302, and CSCI 435
OR
CSCI 420, CSCI 485, and at least one additional upper division (300 level or above) Computer Science course.

About Computer Science

Learn about the mission and goals of our Computer Science program.

Learn More >