Tracks are pre-defined groupings of Upper-Level Computer Science (ULCS) courses. Completing a track is optional, but it may help you to plan and gain expertise in a specific area of interest.

Note that for interdisciplinary tracks (Bioinformatics, Economics and Computation, and Theory of Computation) you may use certain specified courses from other departments as ULCS courses. For more detail concerning the requirements of each track, see the link to the PDF for the CS-LSA Major Program Guide on the undergraduate CS programs page. You can also contact our advising office.

Artificial Intelligence: AI is a broadly based multidisciplinary area comprising theoretical, experimental, and applied investigations of intelligent systems. Learn the fundamentals of AI and then go on to more advanced study in current research areas.
Bioinformatics: Computation plays an increasingly important role in modern biology. Advance your future as a biotech scientist who participates in biological research and development. (Interdisciplinary with MCDB.)
Data and Information: Manipulating large data collections on servers or networks pose difficult challenges for computer professionals. Meet the challenges of “big data” via information management and through database design and implementation.
Economics and Computation: As social and market interactions become more computational, CS has adopted concepts such as decentralized decision making and allocations of resources. Build your capability to think economically about computation, and computationally about economics and markets. (Interdisciplinary with ECON.)
Robotics and Vision: Robots have evolved into mobile  information gathering and decision making platforms, with vision as a primary information gathering capability. Gain an understanding of current and emerging work in this fast-moving field.
Security: Security for hardware, software, and networked systems is one of the fastest growing areas of computer science. Learn concepts and practices for secure hardware and software design, modern cryptography, and critical security applications.
Software Development: Designing and developing large software systems is the primary enterprise of the software industry. Gain the ability to analyze, design, test, and maintain large software systems and the team skills needed to engage in these efforts.
Software Systems: Software systems are the tools and applications we use when we compute. Tackle the challenges associated with creating operating systems, compilers, database systems, and networks.
Theory of Computation: Research into mathematical foundations has enormously influenced the development and advancement of computer science. Gain the rigorous mathematical training applicable to a variety of current and emerging computing challenges. (Interdisciplinary with MATH/STAT.)