Note: The curriculum below is effective Fall 2010 for any incoming Computer Science student. Current students may consider switching to this curriculum as well. See your advisor.
Computer Science Courses:
The first six (core) courses, which are taken in the freshman and sophomore years, lay a strong foundation for computer science majors. Each student then selects a Track in which to complete 6 advanced courses. Each Track has 2-3 Required Courses and a list of potential electives. A student may complete more than one Track if desired.
The flexibility of the Computer Science curriculum comes from requiring only six foundational (core) courses followed by one or more Tracks, which allow students to deepen their understanding in a specific area of computer science. Some intersection between tracks allows specialization in multiple areas, for example, Systems Programming and Software Engineering.
All beginning computer science majors are strongly urged to take CS 19100, Freshman Resources Seminar. This is a 1 credit course Computer Science students generally take their first semester. Students are equally encouraged to take CS 29100, Sophomore Development Seminar, and CS 39100, Junior Resource Seminar.
Core requirements (21 Credits): All CS core courses and all track requirements, regardless of department, must be completed with a grade of C or higher (effective Fall 2011).
| Course | Title | Credits | Semester |
| CS 18000 | Problem Solving and Object-Oriented Programming | 4 | 1 |
| CS 18200 | Foundations of Computer Science | 3 | 2 |
| CS 24000 | Programming in C | 3 | 2 |
| CS 25000 | Computer Architecture | 4 | 3-4 |
| CS 25100 | Data Structures and Algorithms | 3 | 3-4 |
| CS 25200 | Systems Programming | 4 | 4 |
Tracks:
To view course details for all tracks at the same time, click Computer Science Track Details.
Computational Science and Engineering Track: Introduce computer science basics of Computational Science and Engineering
Computer Graphics and Visualization Track: Prepare students for work and/or for graduate school in computer graphics, visualization, and related areas
Database and Information Systems Track: Designed to prepare students to become computer scientists who understand and can apply the principles and techniques of database design, algorithms for information retrieval, their strengths and limitations, and tools for the design of databases and information systems.
Foundations of Computer Science Track: Give students a broad education on foundational concepts, tools, and techniques underlying existing and future areas of computer science
Machine Intelligence Track: Prepare students to understand, and effectively apply in practice, the principles and techniques of data and knowledge representation, search, as well as learning and reasoning with data.
Programming Language Track: Prepare students to work in fields related to program understanding, analysis, manipulation and transformation.
Security Track: Prepare students to design and develop secure software and assess systems for secure operation.
Software Engineering Track: Prepare students to design and develop large software products, be familiar with analysis, design, testing, and maintenance, and work in teams.
Systems Programming Track: Prepare students to build low-level operating system software, system tools, and programs that communicate over a network.
Mathematics Courses: 7-8 credits
In addition to the College of Science degree requirements, students must complete the third level of calculus (MA 26100, MA 17400, MA 18200, or MA 27100) and a course in linear algebra (MA 26500 or MA 35100)..
| Course | Title | Credits | Semester |
| MA 26100, MA 17400, MA 18200 or MA 27100 |
Multivariate Calculus, Multivariable Calculus, Honors Calculus II or Several Variable Calculus |
4-5 | 1-3 |
| MA 26500 or MA 35100 |
Linear Algebra or Elementary Linear Algebra |
3 | 1-3 |
College of Science Requirement Restrictions
| Teambuilding and Collaboration | |
| Module | No departmental restrictions |
| Experience (OR Approved Combination) | |
| Lab Science (Sequence) | No departmental restrictions |
| Mathematics/Statistics/Computer Science |
| MA 16100, 16500 |
| MA 16200, 16600, 17300, 18100 |
| STAT 35000, 51100 |
| CS 17700, 18000 |
| Composition and Presentation | |
| ENGL 10600, 10800 | No departmental restrictions |
| Tech Writing/Presenting | |
| OR Tech Writing | |
| Tech Presenting | |
| Language and Culture | |
| Language 101 | No departmental restrictions |
| Language 102 | |
| Language 201/Culture/Diversity | |
| OR an Approved Study Abroad | |
| General Education (≥9credits) | |
| Sequence Gen Ed I | No departmental restrictions |
| Gen Ed II | |
| AND Additional Gen Ed | |
| Great Issues | No departmental restrictions |
| Multidisciplinary | Math or End-User Computing minors cannot be used, nor can CS 314, CS/MA 514, or any course required for the student's track. |
Curriculum Resources
Visit the Curriculum Resource Site to find Sample Plans of Study. Courses do not need to be taken in sequential order as long as prerequisites and co-requisites are met.


