- Undergraduate Program
- Academic Advisors
- Careers
- CODO
- Employment
- Student Life
- Frequently Asked Questions
- Student Concerns
- Undergraduate Research
- CS Course Proficiency Exams
- Curriculum
- Artificial Intelligence Degree Requirements
- Computer Science Degree Requirements
- Data Science Degree Requirements
- Minor in Computer Science
- BS/MS Degree Program in CS
- BS/MS Planning Tool
- Honors in Computer Science
- Cooperative Education Program
- Curriculum Resources
- Scholarships
- Bridge Program
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.