The UCI General Catalogue is the official guide to all degree and graduation requirements; the information below is intended for general planning purposes only.
Software Engineering (SE) (M.S. and Ph.D.)
The field of Software Engineering is concerned with the creation and analysis of the complex software systems that underlie modern society. Research in Software Engineering targets software artifacts and the people that create them. The field is large, and it encompasses engineering design research, i.e. the creation of new software artifacts with some desirable properties, as well as empirical research, i.e. the study of the effects that software development tools and methods have in the context of software development teams. Topics include software architectures, testing and debugging, software development tools, formal languages, requirements engineering, mining of large software-related data sources, reverse engineering, and development processes.
The Ph.D. degree in Software Engineering (SE) offers students opportunities for graduate study in the spectrum of intellectual activity in SE. The M.S. degree in SE complements undergraduate knowledge in related fields with a solid framework for understanding the development of complex software systems.
The MS and Ph.D degrees will not be awarded to students who currently hold a MS or Ph.D degree in software engineering or a related field from the same or another university.
All MS and Ph.D. students are expected to maintain a minimum GPA of 3.5 throughout the program. Failure to maintain this minimum will result in a recommendation that the student be disqualified. In addition, no grade lower than B is counted towards satisfying any course requirements.
Students must complete the two introductory research courses (INF 200A and INF 200B), four software engineering courses, four elective courses, and two quarters of seminars, literature survey, and individual study courses.
- Research Overview
- INF 200A Introduction to Informatics A
- INF 200B Introduction to Informatics B
- Software Engineering Core Courses
- INF 211 Software Engineering
- INF 212 Analysis of Programming Languages
- INF 215 Software Analysis and Testing
- INF 221 Software Architecture
- Software Engineering Electives
Four elective courses chosen from the following courses offered by the School of ICS, all 4 units. The set of elective courses chosen by the student must be approved by the student’s research advisor. With the advisor’s permission, the student may substitute other non-seminar courses, as long as they are related to the student’s research interests
- INF 213 Formal Specification and Modeling
- INF 217 Software Processes
- INF 219 Software Environments
- INF 223 Applied Software Design
- INF 231 Human-Computer Interaction
- INF 233 Knowledge-Based User Interfaces
- INF 235 Advanced User Interface Architecture
- INF 241 Introduction to Ubiquitous Computing
- INF 242 Ubiquitous Computing and Interaction
- INF 251 Computer-Supported Cooperative Work
- INF 261 Social Analysis of Computing
- INF 269 Computer Law
- CS 203 Network and Distributed Systems Security
- CS 221 Information Retrieval, Filtering, and Classification
- CS 222 Principles of Data Management
- CS 225 Next Generation Search Systems
- CS 230 Distributed Computer Systems
- CS 232 Internet
- CS 235 Internet Technology
- CS 237 Middleware for Networked and Distributed Systems
- CS 241 Advanced Compiler Construction
- CS 273A Machine Learning
- CS 277 Data Mining
- Seminars and Individual Study
- INF 209S Seminar in Informatics (2 quarters; 2 units each)
- INF 291S Literature Survey (2 quarters; 2 units each)
- INF 299 Individual Study (2 quarters, 4 units each)
M.S. students must complete the two introductory research courses (INF 200A and INF 200B), four software engineering courses, four elective courses, and two quarters of seminars (INF 290S). Students doing Capstone Plan I (Thesis) must complete two quarters, four units each, of Thesis Supervision (INF 298); students doing Capstone Plan II (Comprehensive Examination) must complete two quarters of literature survey courses.
The course requirements are identical to the Ph.D. degree, diverging only in making the Literature Survey and the Individual Study courses mutually exclusive, depending on the students’ Capstone option.
Capstone Requirement
• Plan I – Thesis Option: Students must take and pass the Research Assessment examination. Additionally, students are required to defend their thesis in a public exam according to UCI Senate Policy. This requirement must be completed by the end of the second year.
• Plan II – Comprehensive Examination Option: Students must take the written Comprehensive examination, and obtain an M.S. PASS or higher. This requirement must be completed by the end of the second year. In case of FAIL, the exam may be re-taken once more. A second FAIL results in disqualification of the student from the Masters program.Students must pass a written examination testing their knowledge of the relevant topics and literature in Software Engineering and their ability to formulate clear arguments in writing and under time constraints. This examination is based on a predetermined reading list maintained by the program faculty. Preparation for this exam is done during two quarters of INF 291S. This exam is administered at most twice a year.
The exam is graded a Ph.D. PASS, M.S. PASS or FAIL. In case of M.S. PASS or FAIL, it may be re-taken once more, within twelve months, in an attempt to qualify for a Ph.D. PASS. A second M.S. PASS or FAIL results in disqualification of the student from the doctoral program (with or without a terminal M.S. degree).Students must find a faculty advisor and successfully complete a research project with that faculty member. The research project should be done over at least two quarters of independent study with that faculty member. The goal of this research assessment is to introduce the student to the practice of scientific publication.
Based on the project, the student must produce a research paper of publishable quality. This research paper must be reviewed by three faculty members in a peer-review process, revised by the student, and approved by the three faculty members.
The research assessment is graded PASS or FAIL. In case of FAIL, the student can re- submit the paper at most one more time within the maximum period of six months. A second FAIL results in disqualification from the program.Each Ph.D. student must pass the oral advancement to candidacy exam, which assesses the student’s ability to conduct, present, and orally defend research work at the doctoral level. The research project and paper are the basis for the student’s oral advancement to candidacy exam. The oral candidacy exam consists of the research presentation by the student, followed by questions from the candidacy committee.
The student must complete the course requirements, and pass the two qualifying examinations prior to advancing to candidacy. The candidacy committee will consist of five faculty members, the majority of whom must be members of the student’s program, and is conducted in accordance with UCI Senate regulations.The student must present a carefully articulated document representing the student’s dissertation plan. This document must include the proposed dissertation abstract, a discussion of the approach, a comprehensive survey of related work, and a plan for completing the work. The dissertation plan is presented by the student to the dissertation committee, who must unanimously approve the student’s proposal. The dissertation defense committee is formed in accordance to UCI Senate regulations.
Students are required to complete a doctoral dissertation in accordance with Academic Senate regulations. In addition, they must pass an oral thesis defense which consists of a public presentation of the student’s research followed by an oral examination by the student’s doctoral committee. The committee must approve the thesis unanimously.