Programming Language Track - Department of Computer Science - Purdue University Skip to main content

Programming Language Track


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.

Required Courses (3)
Course Title
CS 35200 Compilers: Principles and Practice
CS 35400 Operating Systems
CS 45600 Programming Languages


Electives (3)
Course Title

CS 30700


CS 40800

Software Engineering I


Software Testing

CS 34800


CS 44800

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

MA 38500


MA 45300

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.

Last Updated: Jun 23, 2023 9:21 AM

Department of Computer Science, 305 N. University Street, West Lafayette, IN 47907

Phone: (765) 494-6010 • Fax: (765) 494-0739

Copyright © 2024 Purdue University | An equal access/equal opportunity university | Copyright Complaints

Trouble with this page? Disability-related accessibility issue? Please contact the College of Science.