EECS Search


The Ph.D. Program Structure in Computer Science

The graduate curriculum in Computer Science in the EECS department is structured into six primary focus areas. These areas, and the faculty associated with the areas are listed below. Faculty associations with areas are not meant to be exclusive, so a faculty member name may appear with multiple areas.

  • Distributed and Networked Systems
    • Faculty: Yi Cui, Larry Dowdy, Aniruddha Gokhale, Doug Schmidt, and Yuan Xue.
  • Hybrid and Embedded Systems
    • Faculty: Gautam Biswas, Gabor Karsai, Xenofon Koutsoukos, Akos Ledeczi, and Janos Sztipanovits.
  • Image Processing and Graphics
    • Faculty: Bobby Bodenheimer, Mike Fitzpatrick, and Benoit Dawant.
  • Intelligent Systems
    • Faculty: Julie Adams, Gautam Biswas, Bobby Bodenheimer, and Doug Fisher.
  • Software and Systems Engineering
    • Faculty: Julie Adams, Aniruddha Gokhale, Gabor Karsai, Akos Ledeczi, Steve Schach, Doug Schmidt, and Janos Sztipanovits.
  • Theory
    • Faculty: Julie Adams, Xenofon Koutsoukos, and Jerry Spinrad.

This structure is designed to help students choose the courses they need to take to prepare for research in their area of choice. Moreover, this structure impacts the course work and preliminary examination requirements that students must satisfy for the Ph.D. program, as discussed in the next section.

Advanced Standing in the CS Ph.D. program and the Preliminary Exams

To be formally admitted to advanced standing in the Ph.D. program, a CS student must pass a preliminary examination and meet a set of course requirements. For admission to advanced standing in the Ph.D. program, the following requirements must be met:

  • There is significant emphasis on course work in evaluating admission to advanced standing in the CS Ph.D. program, and course grades play an important (though by no means exclusive) role in this process. Doctoral candidates are required to complete a minimum of 36 hours of formal course work, which may include at most 6 hours of independent study. The distribution of courses must contain three 300-level courses in the student's primary research area, and four 300-level courses in at least three of the other primary research areas. All students must take CS 310, which can be used to satisfy the distribution requirements above. CS 258 and CS 253 may be counted as 300-level courses for satisfying the distributional requirements.
  • The procedure for advanced standing in the Ph.D. program will consist of the following two components:
    1. The student’s performance in courses in the graduate program. The student’s overall performance in graduate coursework will be considered. Although the expectation is that students will have better than a 3.5 GPA for the Ph.D. program course requirements, the final pass/fail decision will be based on a vote of the CS program faculty.
    2. The student’s performance in the preliminary examination. This will be an in depth examination on graduate course material and seminal research papers (to be decided before the exam) in the student’s area of research. A panel of three or more faculty approved by the DGS will conduct the examination. The panel shall include the student’s research advisor, one other faculty from that research area, and a third tenured faculty member who does not belong to that research area. The Director of Graduate Studies in Computer Science will appoint the third faculty member. Depending on the student’s research interests other faculty may be selected by the research advisor to participate in the examination. Details of the examination (e.g., an oral examination, a written examination, or a combination of both) are left to the individual research areas.

The process in place for formal admission to candidacy proceeds with an evaluation of student performance that occurs in a full faculty meeting, and the final pass/fail/repeat decision is based on CS faculty vote. A fail decision implies that a student is out of the program, and a repeat decision implies that the student has one more chance to pass the examination. Students admitted to the Ph.D. program are expected to present a Departmental seminar before they complete the Qualifying examinations.

The requirements for the Qualifying examination have not been changed.

Gateway Courses

The notion of a gateway (or more than one gateway) course for each area of concentration will be a first introductory graduate course that students must take to become familiar with that particular area. The gateway course in an area may be defined as a prerequisite for advanced courses in that area.

The current sets of gateway courses are:

  • Distributed and Networked Systems
    1. Gateway: CS 381
    2. Advanced: CS 343, CS 384, special topics courses dealing with Middleware and Multimedia Systems
  • Hybrid and Embedded Systems
    1. Gateway: CS 376
    2. Advanced: CS 315, 375, 379, 386, 388, EECS 354
  • Image Processing and Graphics
    1. Gateway: CS 253, 258
    2. Advanced: CS 359, 357, 351, 395/396 if taught by Dawant, Fitzpatrick, or Bodenheimer
  • Intelligent Systems
    1. Gateway: CS 360
    2. Advanced: CS 312, 340, 350, 358, 362, 364
  • Software and Systems Engineering
    1. Gateway: CS 385
    2. Advanced: CS 315, 387, 388
  • Theory
    1. Gateway: CS 310
    2. Advanced: CS 1, 315

Special topics courses (CS 395/396) may also count as advanced course if taught by a faculty member in the appropriate area.