Students who enrolled for their Ph.D. *before* Fall 2012 are subject to an oral exam where they must present one or two papers (see below) and field questions from the area. Students who enrolled after Fall 2012 have to present the paper(s) as well, but the knowledge they are required to know has been formalized as reading lists (as described below).
The qualification exam for PL/FM/SE consists of an oral exam for up to 3 hrs, where students will be asked to present one or two papers that are assigned to them and will be asked questions on various topics related to the subfields of their choosing. Papers will be assigned two to three weeks in advance.
The process is as follows. There are three sub-areas: Programming Languages (PL), Formal Methods (FM) and Software Engineering (SE). Students are required to pick a major subarea and two minor subareas. The two minor subareas can also be from the Arch/Compiler/ParallelComputing/Systems area. Students must indicate this choice in their qual document.
Each of the subareas PL/FM/SE (as well as the subareas of Arch/Compilers/ParallelComputing/Systems) has a reading list comprising of a CORE list and an IN-DEPTH list. A student's reading list consists of both CORE and IN-DEPTH list of their major subarea selection and the CORE lists only of their two minor subareas. Students are expected to field questons that are in these lists as well as any basic computer science material we would expect of a student in computer science (basic algorithms, complexity, automata theory, theory of computation, etc.).
For example, a student could choose PL as their major and FM and SE as minors; in this case, their reading list will comprise of the CORE and IN-DEPTH papers in PL as well as the CORE lists of FM and SE. A student could also pick, for example, SE as their core, and PL and Compilers as their minors.
The core and in-depth reading lists for each subarea of PL/FM/SE is given below:
Other subareas in Arch/Parallel/Compiler area to choose minors from are:
- Parallel Computing
The CORE and IN-DEPTH lists for these subareas are given here:
LINK TO Arch/Compiler/ParallelComputing/Systems Qual