The purpose of the Software Engineering Preliminary Examination is to give students an opportunity to demonstrate their ability to analyze, evaluate, and answer questions concerning a well defined set of software engineering research papers that covers core concepts of the field while also delving into a specific sub-area of research in depth. The exam is for students who have identified, in consultation with their advisor, a sub-area of software engineering as a potential area for their dissertation work. The goal of the exam is to allow the student to demonstrate that they are ready to perform Ph.D.-level research within that field of study. Students will work with the committee to develop a bibliography of papers drawn from the specific field of study selected by the student as well as papers drawn more broadly from the software engineering research literature that will serve as the basis for the exam. Examples of areas of research that are “in scope” with respect to this exam include (but are not limited to):
- Software Process
- Software Architecture
- Web Engineering
- Software Requirements
- Software Testing and Validation
- Software Tools
The exam is an essay-style, week-long test (Monday to Saturday) of four open-ended questions developed by the student’s committee members.
This exam is intended to serve as a vehicle both for learning and evaluation. The exam is intended to evaluate students’ preparation for independent research through 1) a demonstration of their ability to navigate literatures that inform their area of research and 2) to synthesize that research into coherent presentation of ideas and argument as well as 3) the ability to demonstrate knowledge of specific techniques and/or tools from those fields. To that end, the exam requires a breadth of knowledge of their primary and any secondary fields coming into the exam, with an appropriate distillation of that breadth to demonstrate a depth of understanding of their specific research area in answering exam questions.
A student that would like to take the software engineering prelim must form an exam committee of three people drawn from this list of computer science professors:
- Kenneth M. Anderson
- John Black
- Bor-Yuh Evan Chang
- Dirk Grunwald
- Rick Han
- Qin Lv
- James Martin
- Leysia Palen
- Sriram Sankaranarayanan
- Tom Yeh
Contact Prof. Anderson to begin the process of creating this committee and preparing for the prelim.
The student must take the exam no earlier than the eighth week and no later than the twelfth week of either the Fall or Spring semester that the exam is being held.
Procedures for Student Preparation
Months in advance of the exam—with a suggested minimum of four—students are expected to begin compiling a bibliography of texts that include representative work and important theoretical work in the areas of software engineering and their chosen sub-discipline as appropriate for each student. Students will iteratively compile this bibliography with the assistance of their advisor and prelim committee members; by consulting their course reading lists; and in collaboration with other students. Students will organize their bibliography in topic areas that help further refine their engagement with the selected texts. For example, such category groups might include “Seminal SE Research,” “Core Readings for My Research,” “Supporting Readings,” and so on. An expectation is that of the extensive bibliography that the student compiles, one tier of readings will be closely read and studied (this would be on the order of 30 or so readings); another tier will be read and familiar, but not necessarily deeply mastered (10-20); another tier will be familiar and accessible if needed (10-20). These “mastery tiers” are not necessarily tied to their categorical organization of the bibliographic material.
This compilation exercise is intended to help students understand what kind of scientist they want to become by thinking about what texts most inform their work as well as those that are generally important to their primary field but fall outside their narrower areas of eventual expertise. It is important to realize that the result of this compilation exercise—an annotated bibliography—is, in fact, part of the exam and will be evaluated by the committee along with the essays described below.
The exam will include 4 essay questions that test students on their knowledge and understanding of
- software engineering as a discipline through consideration of a contemporary problem in software design, development, deployment and/or use;
- the ability to apply at least two techniques related to their specific dissertation area;
- and a capstone question that requires students to explain why a student’s dissertation topic area is important. This is not a personal reflection question, but rather one that requires students to situate their research in a frame of previous work coupled with an exploration of the questions that arise from the situations and challenges that characterize modern software development.
Depending on the number of students taking the exam and the sub-areas represented, each question category (1–4) could have multiple questions, with each student answering one in each category. Exam questions might be accompanied by committee-selected papers or other artifacts for analysis that require students to react to and otherwise incorporate into their answers for that question. Students are expected to write essays to a degree of completeness that the questions warrant. Part of the challenge for the students is that they need to adequately scope the problem for an appropriately sized answer. However, as two guidelines, we believe each answer to require around 1500 words each (max 2000 words) plus a bibliography, with each essay taking about 1 day of the exam period to write. Under this guidance, this leaves 2 days for students to make sure that they have time to submit polished essays, and attend to other matters in their lives over the course of the exam.
Students will receive the exam on Monday morning of the week they have arranged to take the exam by email, and will submit their essays by email on the subsequent Saturday evening at a specified time. Students should attach their essays as Word, Pages or PDF documents. Students are allowed and encouraged to consult readings, notes, and subject area resources (such as practitioner web sites) while writing their exam. However, all work must be original. They cannot consult other students, professors, or any other people about their exam while writing it.
Each student’s three committee members will read the essays and judge whether each essay meets or fails to meet expectations before collectively deciding a student’s overall evaluation status. Students are expected to meet threshold on all the essays, though the committee expects to see some answers that are especially strong. In borderline cases, the committee is allowed to further evaluate a student by asking him or her to rewrite an essay question or by scheduling an additional oral exam to further evaluate comprehension and ability
To remove any ambiguity in the text above, the following timeline documents the major events involved with the software engineering prelim:
- 3 to 4 months before exam: student begins work compiling a bibliography under the direction of at least one member of the committee listed above; during this time, the other two members of the committee are selected and finalized
- First day of Fall Semester: student submits bibliography to committee
- First day of exam week of the Semester (Monday morning; no later than the 12th week of the semester): Exam begins
- Sixth day of exam week of the Semester (Saturday night): Completed exam submitted to Chair of the exam committee
- End of 2nd week after submission of exam (Friday afternoon): Results of exam conveyed to student; Instructions for borderline cases are provided at this time.
- Student submits response to borderline instructions by specified deadline (if applicable).
- End of the Semester: Final results of exam are provided to student.
Send any questions you have concerning this exam to Prof. Anderson.