The curriculum meets the needs of industry for computer science professionals trained in areas such as software engineering, mobile and web development, and databases.

  • Students will take 60 credits of computer science courses in order to graduate.

Programming Fundamentals

Programming I, II (CS 161 & CS 162 or CS 165)
Discrete structures (CS 225)
Data structures (CS 261)
Analysis of algorithms (CS 325)

Mobile & Web Development

Web Development (CS 290)


Introduction to Databases (CS 340)

Software Engineering

Software Engineering I and II (CS 361 & CS 362)

Computer Systems and Networking

Computer Architecture and Assembly Language (CS 271)
Operating Systems (CS 344)
Introduction to Computer Networks (CS 372)

Capstone Course

Software Projects (CS 467)

Electives (Pick 2 out of 5)

Introduction to Usability Engineering (CS 352)
Defense Against the Dark Arts (CS 373)
Open Source Software Development (CS 464)
Parallel Programming (CS 475)
Cloud Application Development (CS 493)

 Effective Summer 2019, CS 372 will be an elective.

This program is very rigorous and requires you to take ownership of your learning and time. For more details, visit the Academic Plans page.

Math Requirement

  • The program includes one required math class. Discrete Structures in Computer Science provides the mathematical foundation for students planning to enter software development and related fields. This course includes topics in Boolean and relational algebra, graph theory, inductive proofs, and combinatorics.
  • In computer science, math ability is often used as a demonstration of logical thinking. The discipline and ability to think through problems, break them down into simpler problems, and apply transformations and rules that are needed to succeed in math is the same as that required to be successful in computer science. Some sub-areas require advanced math courses (e.g. graphics, scientific computing, machine learning, etc.), but most developers do not need upper level math courses.  If you plan to apply to graduate school in computer science or work in areas such as computer graphics, simulations, or game design, bioinformatics, etc. you may want to consider taking additional math and statistics courses.

Course descriptions and video samples of course lectures are on the Courses page. The Day-in-the-life video is an introduction to how the online computer science classes work.