Programming Languages and Compilers Quals (including computer security)

Programming languages focus area

Students interested in the area of programming languages should first take CS 536 and CS 538 (when offered). The former provides an introduction to compilers and to programming-language implementation techniques. The latter provides an introduction to the theory and design of programming languages. The graduate courses in the area are CS 701, 703, 704, and 706. CS 701 is the graduate compiler course. It covers program analysis, optimization, and code generation. CS 704 covers graduate-level topics in the theory of programming languages, including lambda calculus, functional languages, semantics, type theory, and abstract interpretation. CS 706covers analysis of software-engineering artifacts that arise through specification, implementation, testing, debugging, and maintenance. Occasionally, CS 703 or a section of CS 838 will be offered to cover a selection of advanced topics. For the Ph.D. qualifying exam, CS 536, 701, 704, and 706 are recommended.

Computer security focus area

In Spring 2015, we will have a security focus area. Students interested in it should probably take CS 642 and, when it is offered, the security CS 838 course.

Past exams

Programming Languages reading

PL Qual Fall 2018

Programming languages_Spring 2016

Programming languages_Fall 2017

Programming languages_Fall 2016

PL qual_Fall 2016

PL Qual Fall 2018

PL qual_Spring 2017

PL s13

PL s15