![]() |
PhD Program in Software EngineeringInstitute for Software Research, International |
The ISRI offers a PhD Program in Software Engineering within the School of Computer Science.
[Expectations for Graduates] [Prerequisites]
[Applications] [Program Plan]
[A Typical Plan of Study]
[Courses] [Practical Experience
within the Program] [Research and Thesis]
Software-based systems have established themselves as essential parts of business and everyday living in the emerging global economy. As software becomes ubiquitous, the relation between end users and software development undergoes fundamental changes. No longer is software produced from scratch by a team of experts and delivered to clients. Increasingly,
Carnegie Mellon has established the Institute for Software Research International (ISRI) as a center of excellence for long-term interdisciplinary fundamental research, apprenticeship-based education and training, and international collaborations to address the challenge of designing, developing, integrating, validating, and maintaining practical, large-scale, high-quality software-intensive systems. The creation of the ISRI is a natural extension of Carnegie Mellon's long-standing commitment to research in software systems.
ISRI research activities include experimental prototyping, empirical modeling, codification of experience, formal analysis, creating design/development strategies for modern software, and developing public policy positions. The educational activities are tightly integrated with the research and demonstration projects.
ISRI's PhD program infuses the research agenda with deep appreciation of the practical issues of developing product-quality software-intensive systems.
Graduates will be prepared for faculty positions in software engineering, for research positions in industrial laboratories, and for leadership positions in development in both computer industry and application shops.
In addition to talent and research skills that will allow them to advance the
field, graduates will have a clue about practical issues of software design
and development from requirements acquisition through maintenance. They will
be prepared to enter research or advanced development positions in application
areas, distributed networks, embedded/critical systems, and other specialties
as well as conventional software system development. They will know enough about
managing projects and about the software industry that they will not be naive
about business questions.
[back to top]
Evidence of proficiency in computer science at an undergraduate level with emphasis on development of software or hardware systems.
Evidence of intellectual ability to succeed in a rigorous, high-quality doctoral program, demonstrated through transcripts and GREs.
Prior industrial software development experience, especially software design and programming experience as a member of a system team, is a strong asset. Students without sufficient quantity or quality of experience will spend more time during the program gaining practical experience. At a minimum, we expect that every student entering the program will have experience equivalent to two summer internships as a member of an industrial software development team.
Extensive, high-quality software development experience may substitute for
any of the normal requirements. It will be individually evaluated in each case.
[back to top]
Please make applications through the usual SCS admissions process. The application deadline, mailing address, and fee are the same as for other SCS PhD programs. In addition to the materials required for all programs,
| Courses |
|
||||||||||||||
| Practicum | The practicum involves participation in a software engineering practical experience, and reflection and analysis of that experience. The results are presented through an oral presentation and a written report. We are in the process of revising the practicum description and requirements; please check for updates in the near future. | ||||||||||||||
| Experience | We strongly prefer industrial software development experience prior to entering the program. A minimum of two summers is required. Students who enter with little development experience will increase their experience during the program. | ||||||||||||||
| Skills |
|
||||||||||||||
| Teaching | TA in two courses. Normally, one will be a classroom course (20 hours/week for 1 semester) and the other will be as a mentor/advisor for a masters project (7-8 hours/week for 1 calendar year) | ||||||||||||||
| Community Engagement | Participate in weekly ISRI meeting on current research activity; contribute actively to the tasks required to make ISRI a rich and rewarding environment | ||||||||||||||
| Research | Throughout the program, participate actively in an ISRI research project | ||||||||||||||
| Thesis | Conduct an original investigation leading to significant new results |
Estimated time requirement: 4 CY, accounted for as 1 AY for courses, 0.5 AY for teaching, 1 CY for background work and proposal, 2 CY for thesis, including contributions to sponsoring project. Expect up to 1 additional CY for students lacking sufficient prior experience.
A note on highly experienced students: We especially value the special perspective
that very senior software developers can bring to a research program. These
very senior developers typically have 10 years or more of system development
experience, at least 5 years in a position of senior responsibility for design
and outcomes. It is rare to attract such a person as a PhD student. Instead
of designing a program that anticipates all such situations, we recognize that
each will be a special case requiring special arrangements.
[back to top]
Evaluations of student progress in SCS at Carnegie Mellon compare student achievement to the criterion, "Is this student making reasonable progress to completing an excellent PhD?". Consequently, the requirements may be satisfied in whatever order best serves the student and the institution.
A typical plan of study includes the following requirements:
| Fall | Spring | Summer | |
|---|---|---|---|
| Year 1 | 2 Courses |
2 Courses |
Away for Internship |
| Year 2 | 1 Course |
2 Courses |
Internship or Full-Time Research |
| Year 3 | Mentor 1 Course |
|
1 Course |
| Rest | Full Time Thesis Research |
Full Time Thesis Research |
Full Time Thesis Research |
Common variations include TAing a course in the Spring of year 1 or 2 instead
of the Fall of year 2, TAing a second course instead of mentoring a studio for
a year, and moving the course from the TAing semester to the third year.
[back to top]
The courses listed below are examples of courses available. Students interested in courses not listed here should contact their advisor for guidance and suggestions.
MSE Core Courses: We have adapted some of the existing Master of Software Engineering (MSE) core courses to serve both MSE and PhD students. MSE courses available for PhD credit are cross-listed as 17-7xx (e.g., 17-751, Models of Software Systems), and may require an additional project to satisfy the PhD requirement.
Design and Engineering
Systems
Analysis
Business and Policy
Electives
An integral part of the ISRI research program is ongoing interaction with industrial-strength software development in a real (not just realistic) setting for hands-on education.
Two kinds of practical experience are required: 12-unit practicum and experience in lieu of prior industrial experience.
Examples of a 12-unit practicum include:
Experience in lieu of prior industrial experience:
In addition to the Practicum, students who have had minimal prior industrial
experience will be expected to deepen their understanding and perspective of
industrial software development during the Ph.D. program. Alternatives include
part-time work with local industry, extended internships in development groups
(summer plus semester), and special arrangements with industrial partners in
ISRI research projects.
[back to top]
Research in the program will address topics of interest to ISRI. Our focus is on systems that exploit the growing infrastructure for high performance, nearly ubiquitous computing and communication, especially systems that the public depends on for services provided through the electronic marketplace. The research approach for each project will be selected to match the needs of the project. Approaches appropriate to PhD theses include (but are not limited to):
For more information about the Software Engineering PhD Program, contact: isri-phd@cs.cmu.edu.
This page is part of the Institute for Software Research, International site in the School of Computer Science at Carnegie Mellon University. Please send inquiries about the Institute for Software Research, International to the ISRI office. This page was last modified on September 17, 2003.