Programming Language Track

Objectives

The track is designed to prepare students to work in fields related to program understanding, analysis, manipulation and transformation.  This includes run-time system engineering as well as domain specific techniques (e.g., real-time computing or web programming).  They will acquire tools and techniques needed to specify and implement language-based solutions.

Required Courses

Course Title
CS 35200 Compilers: Principles and Practice
CS 35400 Operating Systems
CS 45600 Programming Languages

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

 

Electives

Select at least three courses from the following:

Course Title
CS 30700 Software Engineering I
CS 38100 Introduction to the Analysis of Algorithms
CS 39000 Concurrency and Parallelism
CS 42200 Computer Networks
CS 48300 Introduction to the Theory of Computation