Courses
On this page you will find descriptions of the courses that we offer. See the registrar's schedule of current and upcoming offerings (with times). For future semesters, students may view our projected teaching plan. Students may also look at the current semester's course homepages. Students can also look at our list of concentration areas to choose their CS electives. Advanced undergraduates may also receive permission to take graduate courses. Finally, for an explanation of how UT numbers courses work.
Teaching Plans
Please visit the teaching plans website for a list of courses that the CS Department plans to offer in the current and upcoming semesters. We will add new semesters when their offerings are confirmed. This information is for reference only and is subject to change. Please consult the online Registrar's Course Schedule for official information and details, including class times and locations.
Core Courses for CS Majors
Programming
- 312 Introduction to Programming OR 312H Introduction to Programming: Honors
- 314 Data Structures OR 314H Data Structures Honors
Systems
- 429 Computer Organization and Architecture OR 429H Computer Organization and Architecture: Honors
- 439 Principles of Computer Systems OR 439H Principles of Computer Systems: Honors
Theory
- 311 Discrete Math for Computer Science OR 311H Discrete Math for Computer Science: Honors
- 331 Algorithms and Complexity OR 331H Algorithms and Complexity: Honors
The old curriculum had eleven CS courses that students were required to take, leaving little time for electives. The new curriculum has only six. This gives students the opportunity to dive into concentration areas, or to study computer science more broadly by sampling from various subareas.