Our introductory Computer Science courses are open to all students (regardless of major), and our curriculum is customizable to fit your desired career path.
Major Requirements
During the first two years, students begin taking foundational computer science and mathematics courses in addition to their general education requirements. During their junior and senior years, students in the computer science major complete their core and general education requirements and choose their electives. Students may pursue a minor or take unrestricted “general elective” courses in any discipline (which may include additional CS elective courses) to satisfy the 120 credits required to graduate.
To view detailed major requirements, as well an example plan of study, please review the course catalog for the year in which you were admitted to the university.
Curriculum Check Sheets
The following check sheets illustrate various ways to fulfill the CS degree requirements depending on where you start with our curriculum.
Note: these are just illustrations of paths through our curriculum. Meet with the CS Advisor to discuss the specifics of your particular situation.
Course Prerequisites
Many courses include prerequisites or courses that must be successfully completed before enrollment in a specific course. View CS course prerequisites (PDF)
Electives
CS majors are required to take a minimum of three CS Electives in addition to their CS System Elective and CS Algorithm Elective. Depending on their interests and career goals, students can select CS Electives from multiple areas to gain broad experience or opt to focus in a certain area to gain depth.
This is not an exhaustive list of all CS electives. View the full list of CS courses in the course catalog.
Select an area of focus to view relevant elective options:
- CS 412 Applied Algorithms
- CS 452 Design and Analysis of Algorithms
- CS 354 Introduction to Autonomous Robotics
- CS 444 Artificial Intelligence
- CS 445 Machine Learning
- CS 457 Information Security
- CS 458 Cyber Defense
- CS 482 Topics: Cryptography
- CS 343 Application Development
- CS 347 Web-Based Information Systems
- CS 349 Developing Interactive Multimedia
- CS 412 Applied Algorithms
- CS 446 Software Analysis and Design
- CS 447 Interaction Design
- CS 470 Parallel and Distributed Systems
- CS 432 Compiler Construction
- CS 450 Operating Systems
- CS 455 Advanced Computer Networking
- CS 456 Computer Architecture
- CS 470 Parallel and Distributed Systems
- CS 442 Logic in Computer Science
- CS/MATH 448-449 Numerical Mathematics and Computer Applications
- CS 452 Design and Analysis of Algorithms
- CS 488 Computer Graphics Applications
- CS 497 Advanced, independent study course