Programming Language Track - Prior to Fall 2019
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
All track requirements, regardless of department, must be completed with a grade of C or higher.
| Course | Title | 
|---|---|
| CS 35200 | Compilers: Principles and Practice | 
| CS 35400 | Operating Systems | 
| CS 45600 | Programming Languages | 
Programming Language Track Pre-requisite Flowchart (PDF)
Electives
Select at least three courses from the following:
| Course | Title | 
|---|---|
| CS 30700 | Software Engineering I | 
| CS 35300 | Principles of Concurrency & Parallelism | 
| CS 38100 | Introduction to the Analysis of Algorithms | 
| CS 42200 | Computer Networks | 
| CS 48300 | Introduction to the Theory of Computation | 
Last Updated: Jul 15, 2025 2:52 PM