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.
All major required courses, all track requirements and track selectives, and their pre-requisites, regardless of department, must be completed with a grade of C or better.
Course | Title |
---|---|
CS 35200 | Compilers: Principles and Practice |
CS 35400 | Operating Systems |
CS 45600 | Programming Languages |
Course | Title |
---|---|
or |
Software Engineering I
Software Testing |
or |
Information Systems
Introduction to Relational Database Systems |
CS 35300 | Principles of Concurrency & Parallelism |
CS 38100 | Introduction to the Analysis of Algorithms |
CS 42600 | Computer Security |
CS 48300 | Introduction to the Theory of Computation |
CS 56000 | Reasoning About Programs |
or |
Introduction to Logic
Elements of Algebra I |
Note: When an A or B choice is listed, only one of A and B can be used to satisfy the elective requirement.