Skip to content Skip to navigation

Computer Science Undergraduate Program Tracks

Computer Science is becoming increasingly broad, with many different sub-disciplines and inter-disciplinary relationships with other fields. To help students navigate our rich offerings, we have defined a number of tracks, each of which provides guidelines for students to see how different elective courses can fit together into a coherent theme. Specifically, each track constrains the elective choices, typically requiring students following that track to take specific courses for their electives. A track may also recommend certain electives that are deemed important but not critical to the track.

Note that tracks are not mutually exclusive; that is, it is possible to choose a set of elective courses that satisfy more than one track.

Computing Concepts and Themes

This track studies the theoretical foundations underlying computing and explores a variety of computing disciplines (e.g., vision, data management, and artificial intelligence)

  • Required: 323, 452
  • Choose at least two from: 314, 334, 336, 352, 440

Computer and Software Systems

This track studies the major components that comprise today's computing platform (i.e., the components that together present the current programming interface seen by most application developers). These include computer architecture, operating systems, languages and compilers, and database.

  • Choose at least one from: 213, 214
  • Choose at least three from: 314, 336, 352, 411, 415, 416, 417, 419, 437

Computer Security

This track studies the principles behind and the design, implementation, and maintenance of secure computing systems.

  • Required: 214, 314, 416, 419
  • Chose at least one from: 336, 352, 411, 415, 417, 431, 437
  • Recommended: 415, 452, ECE 424 or Math 348

Software Engineering and Information Management

This track studies the principles, tools, and techniques used in specifying, designing and implementing modern application software, including ones for managing and processing information.

  • Required: 213, 336, 431
  • Choose at least one from: 352, 417
  • Choose at least one from: 214, 314, 352, 415, 416, 417, 419, 437
  • Recommended: 214, 437

Graphics and Vision

This track studies the mathematical foundations and practical implementations of computer graphics and computer vision technologies and applications. 

  • Required: 323, 334, 428
  • Recommended: 214, 314, 523

Artificial Intelligence and Cognitive Science

  • Required: 314, 440, 336 
  • Choose at least two from: the Philosophy, Linguistics, Statistics, and Math 355 and Math 461 courses from the designated list of courses in Computer Science and Related Disciplines.