THE COMPUTER SCIENCE PH.D. PROGRAM AT CARNEGIE ..., Study notes of Theory of Computation

CARNEGIE MELLON. August 2011 edited by. Srinivasan Seshan. Jeannette Wing. Computer Science Department. Carnegie Mellon University. Pittsburgh, PA 15213.

Typology: Study notes

2022/2023

Uploaded on 05/11/2023

rakshan
rakshan 🇺🇸

4.6

(18)

239 documents

1 / 35

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
THE
COMPUTER SCIENCE
PH.D. PROGRAM
AT
CARNEGIE MELLON
August 2011
edited by
Srinivasan Seshan
Jeannette Wing
Computer Science Department
Carnegie Mellon University
Pittsburgh, PA 15213
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Partial preview of the text

Download THE COMPUTER SCIENCE PH.D. PROGRAM AT CARNEGIE ... and more Study notes Theory of Computation in PDF only on Docsity!

THE

COMPUTER SCIENCE

PH.D. PROGRAM

AT

CARNEGIE MELLON

August 2011

edited by Srinivasan Seshan Jeannette Wing

Computer Science Department

Carnegie Mellon University

Pittsburgh, PA 15213

Contents

1 Introduction

Carnegie Mellon’s Computer Science Ph.D. program aims to produce well- educated researchers, teachers, and future leaders in Computer Science. The Ph.D. degree is a certification by the faculty that the student has a broad edu- cation in Computer Science and has performed original research in the area. This document is an informal description of the Computer Science Ph.D. pro- gram; herein “we” refers to all the faculty and staff involved in the Ph.D. pro- gram. Currently, the Department Head is Jeannette Wing; the Director of the Doctoral Program is Srinivasan Seshan and the Graduate Programs Adminis- trator is Deb Cavlovich;. To complete the Ph.D. degree, we require that each student

  • Participate in directed research
  • Pass 96 university units worth of graduate courses, with certain distribu- tion requirements
  • Serve as a teaching assistant at least twice
  • Demonstrate oral and written communication skills
  • Write and orally defend a thesis, a significant piece of original research in a specialized area of Computer Science

We are committed to the principle that students may achieve competence through a variety of methods, including courses, seminars, projects, and inde- pendent study. We consider each student’s individual strengths, weaknesses, and interests in designing the best method for the student to fulfill these re- quirements. Our program is unique in that we encourage and expect students to engage in research from their first day in the Department. To help students fulfill these requirements, we provide these educational opportunities:

  • An active research environment
  • The Immigration Course, intended to give an overview of the research interests of the faculty and to familiarize new students with the people and facilities of the Department
  • A large number of graduate courses: regularly offered area courses in algo- rithms and complexity, artificial intelligence, computer systems, program- ming languages, and software systems; advanced graduate area courses; special topics courses; practicum courses; and reading seminars—together covering a broad range of areas in Computer Science
  • The Emigration Course, intended to groom students for success in their post-graduate careers

The entire faculty meet twice a year to evaluate each student’s progress. A student demonstrates progress by passing courses, doing directed research, teaching, fulfilling the skills requirements, and doing thesis work. While stu- dents are encouraged to shape an educational program to suit their needs, fi- nancial support and/or permission to continue in the Ph.D. program depends on satisfactory progress each semester along at least some of these categories.

2 Overview of the Program

Carnegie Mellon’s Ph.D. in Computer Science is, above all, a research degree. When the faculty award a Ph.D., they certify that the student has a broad foun- dation in Computer Science, has advanced the field by performing significant original research, and has reported that work in a scholarly fashion. Before embarking on original research, we expect students to acquire a body of technical knowledge that includes a familiarity with the breadth of Computer Science as well as a deep understanding of a specialized area. The Immigration Course is the first step in this process, exposing the student to the many on- going research activities and projects in the Department and School. Next, through structured coursework the student gains a broad understanding of the fundamental research issues in major areas of Computer Science, and has the opportunity to gain a deep understanding in the student’s area of specialization. Finally, the thesis work itself guarantees that the student understands the area well enough to advance the state of knowledge in the field. Below we sketch the progress of a typical student through the program. Since the program is flexible, the careers of some students depart from this script at one or more points. Around the start of October of the first year, each student is matched with a suitable advisor, who helps the student pursue directed research in an area of mutual interest. If the student’s research interests change, he or she is free to change advisors at any time. During the first two years of the program, the student begins to gain the foundation of knowledge that will allow him or her to go on and become an expert researcher in Computer Science, primarily through the following two ways:

  • By mastering a body of graduate material, achieved by passing 96 uni- versity units worth of graduate courses. Ninety-six units is equivalent to eight full-time (12-unit) courses.
  • By learning how to organize and begin to carry out original research, achieved by participating in directed research. What constitutes directed research is decided individually between the student and his or her advisor.

Twice, usually during the first three or four years, the student serves as a teaching assistant. While teaching or taking courses, we expect students to spend at least half their time doing directed research.

4 Advisors

Except during their first month in the program, each student has a faculty ad- visor charged with guiding the education and monitoring the progress of the student through the program. This personal student-advisor relationship en- sures that every student receives the necessary faculty mentoring. Throughout the program, the advisor is responsible for guiding the student’s research and education. Early in the program, the advisor guides the student along some research initiative and helps with strategic planning for courses and other ed- ucational activities. Later, the advisor helps to focus the student’s research interests towards a thesis topic. Toward the end of the program, the advisor chairs the student’s thesis committee, and helps to select the other members of the committee. The advisor also provides the student with career advice. How are advisors initially chosen? After a little over a month at CMU, en- tering students are matched with faculty advisors by the “handshake” process. Students list faculty preferences and faculty list student preferences; a commit- tee then matches each student with a faculty member, taking into consideration each of their preferences and other factors. Students base their faculty prefer- ences on research interests. They can learn about an individual faculty member’s research interests by attending the faculty’s research presentation during the IC, by reading the Department’s annual Faculty Research Guide, and from meeting individually with different faculty members during their first month here. There is flexibility in the kind of relationship a student has with his or her advisor. Some students work more closely with their advisors than any other faculty member, and some students work more closely with another faculty member on a particular research project. A few students have two co-advisors. While it must be approved by the Director of the Doctoral Program, a request to switch advisors is routine and almost always granted for a student in good standing, especially during the early part of the degree program. It often results from an evolution of the student’s research interests. There are many faculty both within SCS and outside SCS who have advising privileges and can either function as sole advisors or co-advisors. Please see http://www.cs.cmu.edu/~csd-grad/thesiscommittee.html for a full list of people with advising privileges. Suggested additions to the Approved List should be made by contacting the Department Head. A CSD faculty advocate is required for anyone wishing to be added to the list.

5 Directed Research

During a student’s first two years, he or she should be doing directed research at least half time; once all coursework is completed and before doing thesis research, full time (except when teaching). Different students, and different advisors, have different ideas of what directed research means and how progress can be demonstrated. It is the responsibility of both the student and his or

her advisor to formulate for each semester a set of reasonable goals, plans, and criteria for success in conducting directed research. At each semi-annual graduate student review meeting, the faculty assess the student’s previous semester’s research progress and the student’s next semester’s research plans to ensure that the student is making satisfactory progress. The evaluation of a student’s progress in directed research often depends on the student having produced some tangible result; examples include the implemen- tation of pieces of a software system, a written report on research explorations, an annotated bibliography in a major area, or, as part of preparation for doing research, a passing grade in a graduate course (beyond the required 96 required units). Advisors are individually responsible for adequately supervising this portion of the Ph.D. program.

6 Course Requirements

The purpose of completing 96 university units worth of graduate courses is to cover breadth across many areas in and beyond computer science. By taking five star courses, one per five areas, students acquire breadth through exposure to basic knowledge, concepts, and skills in five different areas in computer science. Through the equivalent of three elective courses, students typically choose to gain more depth in the student’s particular area of research. Some students use electives to gain more breadth by specialized exposure to an area outside of the student’s research area and even outside of computer science. Syllabi for all courses are monitored by the Doctoral Review Committee (DRC). Homework and exams in each course are limited to its prerequisite material and topics covered by its syllabus.

6.1 Five Area Star Courses

Each student must pass one star course from each of these areas:

  • Algorithms and Complexity
  • Artificial Intelligence
  • Computer Systems
  • Programming Languages
  • Software Systems

Each area lists from one to three star courses offered for the year. Each star course is 12 university units. Star courses differ from non-star courses in that (1) they assume an un- dergraduate background in the relevant area—no more and no less; (2) they are meant to be accessible to all Computer Science graduate students, not just

There is no explicit breadth or depth requirement. Students may use elec- tives to gain additional depth of knowledge in the student’s research area, e.g., to complement their directed research or to prepare them for choosing a thesis topic. Students may also use electives to gain additional breadth of knowledge in an area outside of the student’s research area. Though students typically take courses to satisfy the elective units require- ment, there are three other means of passing these units: doing an internal project, carrying out an external project, or teaching a graduate course. For students in some areas such as algorithms, it might make more sense to take advanced courses; for students in other areas such as software systems, it might make more sense to do a project. For those who like to reinforce knowledge by teaching, we provide the opportunity to obtain elective credit by being a teaching assistant. We strongly advise students to choose electives in consultation with their ad- visor. The student and his or her advisor are both responsible for making sure that through these 36 elective units the student gains new knowledge, perhaps to fill gaps or to prepare for thesis research. They are also responsible for bal- ancing how a student fulfills these units (through courses, projects, or teaching), taking into consideration the student’s career goals, and the student’s strengths and weaknesses in research, teaching, communication skills, and programming ability. Students are free to take more than the required number of elective units.

6.2.1 Project Unit

One way to obtain elective unit credit is through a faculty-directed project. Doing a project has the same primary goal of taking a course: the acquisition of knowledge. As a side benefit of doing a project a student often learns new research skills. Here are some rules-of-thumb for considering what qualifies as a project which may be used for elective credit:

  • The scope of the material learned should broaden the student’s education; it should not be too narrow.
  • The work should be something other than that which would otherwise be done as part of the student’s directed research or as part of the research project run by the student’s advisor.
  • A student should be able to complete the project working full time for no more than one month (or quarter time for one semester). The time frame for doing the project does not have to respect semester boundaries, but a deadline for completion should be set.
  • The project should have a written component resulting in a paper or technical report that demonstrates a high quality of writing.
  • The project should also have an oral component requiring that the student present a brief (seminar length) description of the work performed. The student is responsible for scheduling the talk, and the project advisor is required to attend. The talk may be given externally.

To get a project approved for elective credit, a student submits a short (1- 2 page) description of the project, written with the guidance of the project advisor. The proposal should clearly explain how the proposed work addresses the educational goals of the student. Every project must be approved by two faculty members and the Director of the Doctoral Program. The two faculty members are the project advisor and the student’s regular advisor. In the case that the regular advisor is also the project advisor, the student and advisor need to select some other appropriate faculty member to evaluate the proposed work independently.

6.2.2 Fahlman Teaching Unit

Another way to get elective unit credit is by being a teaching assistant for one of the Ph.D. star courses. We call such elective credit a “Fahlman Unit,” named after its proposer. To qualify, a student must have already taken and passed the course for which he or she plans to be a teaching assistant. Again, in the spirit of the educational objectives of coursework, doing a Fahlman Unit should broaden the student’s education. Students who wish to do a Fahlman Unit should contact the Director of the Doctoral Program who coordinates with the student’s advisor and course’s instructor in approving the credit. The two teaching assistant (TA) requirements (see below) are completely separate from Fahlman Units. A student may not use one course to satisfy simultaneously elective units and a TA requirement.

6.2.3 V Unit

A third way to obtain elective unit credit is to carry out an external project, exploring, for example, the role of computer science in society, or articulating a vision for new multi-disciplinary research involving computer science. A V Unit must be preceded by a proposal, to be approved by a faculty advisor and the Director of the Doctoral Program. More information on the V Unit can be found at http://www.cs.cmu.edu/~vunit.

6.3 Placing Out

There are two kinds of placing out: substitutions and waivers. Either can be done on the basis of previous graduate coursework. There might be exceptional cases, for example, students with extensive work experience. Substitution is when a student takes a non-star Ph.D.-level course instead of a star course. For example, if a student took courses in advanced operating systems, distributed systems, databases, and networking already, instead of taking one of our Software Systems star courses, he or she might wish to use the

Students have ample opportunities to present advanced material while work- ing on research projects, by participating in research seminars and by giving practice conference talks. To gain experience in presenting more elementary material, we require that all graduate students help teach two courses. The norm is for students to teach one introductory-level undergraduate course and one advanced-level undergraduate course. Current policy (which is subject to change from semester to semester) is that graduate star courses in the Com- puter Science Department with an enrollment of 20 or more are also eligible for TA credit. In particular, star courses in other units in the School of Computer Science, or advanced graduate courses are not eligible for satisfying the teaching requirement. It is important that all teaching that is to count towards the teaching re- quirement must be assigned and approved in advance by the responsible ad- ministrator, which is the Assistant Dean for Undergraduate Education for un- dergraduate courses (currently Mark Stehlik), and the Director of the Doctoral Program for graduate courses (currently Srinivasan Seshan). Students’ prefer- ences will be taken into account, but cannot always be honored. We encourage students to teach more than twice. At the semi-annual eval- uation of students the faculty give special recognition to those who do an out- standing job as a TA and to those who teach beyond the required load. The School of Computer Science offers a TA workshop which we encourage students to take advantage of.

8 Written and Oral Communication Skills

To be a well-rounded computer scientist each student should have not just basic knowledge, but also the abilities

  • To communicate technical ideas clearly in writing
  • To communicate technical ideas clearly orally

We also expect students to be able to program, but there is no formal check- point to certify programming skills. It is left up to the advisor and student to make sure the student has the necessary skills.

8.1 Writing Skills

To satisfy the written communication skill requirement each student must write a scholarly document, as either its sole author or its primary author (if co- authored), that is at least the quality of a Carnegie Mellon technical report. The student obtains written final approval of the document from at least two faculty members and one Ph.D. graduate student. A co-author on a paper can not be a reviewer of that paper to satisfy the writing requirement, and one of the reviewers must be a member of the Department of Computer Science. This document must be a scholarly paper with references to the literature that could be sent for peer review. It can be

  • A technical report
  • A submitted, accepted, or published conference or journal paper (rejected papers may count since sometimes conference program committees and journal editorial boards have their own agendas)
  • A document written to satisfy a course requirement (e.g., a course project’s final report)
  • A comprehensive survey paper, e.g., suitable for ACM Computing Surveys

Annotated bibliographies, user manuals, and reference manuals do not qual- ify because they do not require the same kind of explication, organization, and summarization skills needed to write a conference- or journal-like publication. It cannot be

  • The thesis proposal
  • The thesis

The student should iterate with at least one faculty member, not neces- sarily the advisor, in writing this document. To determine whether the writ- ing requirement has been satisfied, the student eventually must get at least two faculty members and one graduate student to read the document, to pro- vide written feedback by filling out a Writing Review Form (available from the Graduate Program Adminstrator or at http://www.cs.cmu.edu/~csd-grad), to meet and discuss this feedback, and to give final approval by signing the form accordingly. The student then gives these three (or more) signed forms to the Graduate Program Administrator who keeps copies in the student’s file and indicates in the student’s records that the requirement has been satisfied. Students are responsible for asking the appropriate faculty members and graduate student to help them with satisfying their writing requirement. We expect students to be able to satisfy this requirement within their first three years and prior to their thesis proposal. Computer Science Ph.D. students are welcome to enroll in the undergradu- ate communications course, required of undergraduate majors, to enhance their writing skills; however, taking it does not serve to satisfy the written commu- nication skills requirement.

8.2 Speaking Skills

The Department and School provide many opportunities for students to practice their speaking skills. Here are just a few:

  • Research area seminar series (AI, CS, Logic, POP, PS, Theory)
  • Research unit seminar series (MLD, HCII, LTI, Robotics)
  • Regular lunchtime talks (e.g., SDI lunch, Graduate Student Seminar Se- ries)

9 The Thesis Process

The thesis must describe a significant piece of original research work. It is evi- dence of proficiency, high attainment, and ability to do research in a specialized area of computer science. A more extensive checklist with specific information on the thesis proposal and thesis defense is available at http://www.cs.cmu.edu/~csd-grad. Every student must read and adhere to these more detailed process rules.

9.1 Thesis Proposal

The student submits a written proposal to the Faculty. The student also orally presents the thesis proposal to interested faculty and students in a public collo- quium. A thesis proposal should

  • Explain the basic idea of the thesis topic (e.g., the problem to be solved and the approach to solving it)
  • Argue why that topic is interesting (e.g., what contributions to the field would be made in carrying out the proposed work)
  • State what kind of results are expected
  • Argue that these results are obtainable within a reasonable amount of time
  • Demonstrate the student’s personal qualifications for doing the proposed work

The main purpose of the thesis proposal is to convince the faculty that the chosen thesis topic is significant and that the student’s approach has a reasonable chance of success. A thesis proposal gives the faculty the opportunity to pass such judgment at the start of the work and not at the end. We want to minimize the chance that a thesis will be turned down when almost completed. We expect students to present their thesis proposals as early as possible, not halfway through writing the thesis. A thesis proposal should be short, about 15–20 pages. A thesis proposal should not be

  • A dry run for the thesis
  • A summary or abstract of the thesis
  • The first chapter or part of the thesis
  • A technical report
  • A survey of the field
  • An annotated bibliography

Any included list of references or bibliography should serve the purpose of supporting the assessment of the state of the art and the student’s personal qualifications. To provide ample notice to the public, at least one week in advance of the oral presentation, students should provide the Graduate Program Administra- tor with one hardcopy of the thesis proposal, an on-line copy of the proposal’s abstract, and a list of the thesis committee members, including the external member. The Graduate Programs Administrator posts the public announce- ment of the thesis proposal presentation. Please remember that at least three thesis committee members (including the Chair) must be physically present for the thesis proposal. Upon completion of the thesis proposal the student must complete a Doctoral Candidate Contractual Agreement Form provided by the Graduate Programs Administrator.

9.2 All But Dissertation (ABD) Policy

After the presentation of an acceptable thesis proposal, and satisfying all other requirements except for the dissertation and its oral defense, students are re- garded as all but dissertation.” Time to Degree: Once students achieve ABD status, students who began in the PhD program prior to June 1, 2011 must complete all requirements for the PhD within a maximum of seven full academic years, unless terminated earlier by conferral of the degree or by academic or administrative action. Students who began in the PhD program after June 1, 2011 must complete all requirements for the PhD within a maximum of ten years from original matriculation as a doctoral student, unless terminated earlier by conferral of the degree or by academic or administrative action. Once this time-to-degree limit has lapsed, the person may resume work to- wards a doctoral degree only if newly admitted to a currently offered doctoral degree program under criteria determined by that program. An ABD candidate may choose to continue as a regular student In Residence, or to be In Absentia (ABS). Please see the University policy: http://www.cmu.edu/policies/DSS.html An ABD candidate may choose to continue as a regular student, or to be in absentia (ABS). ABS - Off Campus: Students who leave CMU but plan to continue working on the thesis will be classified as ABS. These students should not require sub- stantial use of university resources, but are permitted use of the libraries and consultation with faculty or students as necessary. While a candidate is ABS are required to pay the university technical fee each semester. No formal enrollment or payment of tuition is required, with the exception of the academic semester in which the degree requirements are completed. A candidate who is ABS is required to enroll for a minimum of five units during the academic semester in

complete thesis document should be provided to the whole thesis committee a minimum six weeks in advance of any proposed date for the defense. Significant deviations from this rule must be approved by the Director of the Doctoral Pro- gram. Committee members should meet briefly before the thesis presentation to discuss any issues. The presentation by the candidate is normally about 45 minutes, followed by a question-and-answer period which may be as long as needed. Please remember that at least three thesis committeee members (including the Chair) must be physically present for the thesis defense. The thesis committee chair (advisor) determines who may ask questions and in what order and brings the discussion to a close at the appropriate time. The question-and-answer period is followed by a closed-door session attended by only the members of the thesis committee and any interested faculty members. The options of the committee are:

  • To approve without corrections
  • To approve subject to minor changes, to be approved later by the thesis chair only
  • To require a resubmission after major changes and reapproval of the entire committee
  • Not to approve the thesis

All members of the committee are required to sign a Final Oral Examination card, indicating that the student has passed the thesis oral examination. In addition, the thesis committee chair, the Department Head, and the Dean sign a final certification sheet when the student submits the final version of the thesis.

9.6 Graduation Certification

The Graduate Programs Administrator maintains a checklist of procedures for scheduling the thesis oral presentation and completing the other requirements for graduation. The Graduate Programs Administrator certifies fulfillment of requirements for graduation only when the final version of the thesis has been approved by the thesis committee, the Department Head, and the Dean. Stu- dents are not allowed to participate in commencement exercises unless final certification has been made. If the final copy of the thesis is not submitted within one year of the thesis defense, the faculty may require a second defense before making a final certifi- cation.

10 The Emigration Course

In addition to doing research and taking courses, students also learn leadership and survival skills as part of their education in the Ph.D. program. Most directly, they obtain these skills through their advisors. To supplement this personal

mentoring, we offer the Emigration Course. Whereas the Immigration Course prepares entering students for their graduate career while at Carnegie Mellon, the Emigration Course grooms finishing students for their career afterward. The Emigration Course is structured as a series of talks offered throughout the year and focuses on five topics: Jobs, The Real World, Money, Ethics, and Communication. These talks cover nuts-and-bolts issues like how to job interview, how to apply for grant money, and how to write a technical paper. They also expose students to traditional and non-traditional career paths in academia, industry, and government. Participation is open to the entire SCS community and is completely vol- untary. More senior students, especially those planning to finish in any given year, are encouraged to attend sessions offered that year; however, even junior students can benefit from attending, to prepare for a smooth transition from life as a student to life in the real world.

11 Community Spirit

Our sense of community is well-known as a distinguishing aspect of doing com- puter science at Carnegie Mellon. It is one of the reasons many students choose to come here. The Computer Science Department is proud of our strong commu- nity spirit, which we foster through close working relationships between students and advisors, among faculty, and among students. Many working relationships turn into friendships for life. Luckily, our community works. People volunteer their time, energy, intellect, talent, and other skills to do many of the things that keep our environment run- ning smoothly. These efforts include organizing seminars, maintaining software packages, serving on departmental committees, grading for a graduate course, planning and running social activities, giving tours, and hosting visitors. We are initiating a new web-based mechanism to provide a way for students to volunteer for activities they enjoy doing and to inform the community of the activities that need volunteers. See http://www.grad.cs.cmu.edu/. This “SCS Community Page” serves the entire School of Computer Science and is open to all graduate students in the school. This service is run entirely by students.

12 Graduate Teaching Fellow Program

To encourage and recognize exemplary activities in teaching and education by Ph.D. students, we offer the Graduate Teaching Fellow program as part of the Computer Science Ph.D. program. Students who successfully complete this pro- gram are rewarded with a letter that documents the teaching accomplishments of the student and explains the requirements that were satisfied to complete the Teaching Fellow program. The letter is written and signed by the Department Head. There is no special designation on the Ph.D. diploma itself.