Foundations of Computer Science Track

Objectives

The Foundations of Computer Science track gives students a broad education on foundational concepts, tools, and techniques underlying existing and future areas of computer science.

Required Courses

Course Title
CS 35200 Compilers: Principles and Practice
CS 38100 Introduction to the Analysis of Algorithms

All track requirements, regardless of department, must be completed with a grade of C or higher (effective Fall 2011).

Electives

Choose four courses from the following:

Course Title
CS 31400 Numerical Methods
CS 33400 Fundamentals of Computer Graphics
CS 35500 Introduction to Cryptography
CS 44800 Introduction to Relational Database Systems
CS 45600 Programming Languages
CS 47100 Introduction to Artificial Intelligence
CS 48300 Introduction to the Theory of Computation
  One elective computer course at the 300, 400, 500 level or an independent study course