Software Engineering, M.S.

Students in the Software Engineering M.S. program complete 30 units of graduate work, including 6 units involving a thesis. The core of the program comprises advanced courses in software engineering processes, including requirements analysis, software design and implementation, verification and validation, quality assurance, software maintenance and software project management. The electives may be chosen to form a concentration in an area of specialization or to provide a broadly based program of study, whichever is more consistent with the selected thesis.

Program Requirements

A. Requirements for Admission

For admission to the Master of Science program in Software Engineering, applicants must meet the requirements of the University as listed in this Catalog, take the Graduate Record Examination (GRE), submit the results to the University and be accepted to the program by the Computer Science department. Each applicant’s transcripts and GRE scores will be reviewed by the Computer Science department to determine if the student shows high promise of success in the program. Applicants who have completed an ABET-accredited Computer Science Bachelor of Science program with a GPA of 3.0 or better and have met all other entry requirements are exempt from the GRE requirement.

Requirements for Classified Status

To attain fully classified graduate status in the program, students must complete any required prerequisite undergraduate material or demonstrate equivalent work experience and have a 3.0 GPA for all work taken as a conditionally classified student. Information about the prerequisite material can be obtained from the graduate coordinator.

B. Degree Requirements

All courses in the student’s graduate program must be completed with a grade of “C” or better. No course taken more than 7 years prior to the date of which all requirements for the degree are completed may be counted as part of the 30 units in the degree program. No time limit applies to courses taken to satisfy Software Engineering M.S. prerequisite requirements.

1. Required Courses (18 units)

a. Breadth Requirement (12 units)

COMP 582 Requirements Analysis and Specification (3)
COMP 583 Software Engineering Management (3)
COMP 680 Advanced Topics in Software Engineering (3)
COMP 684 Software Architecture and Design (3)

b. Culminating Experience (6 units)
Thesis

COMP 696 Directed Graduate Research (3)
COMP 698 Thesis (3)

Each Software Engineering M.S. candidate must submit a proposal for a thesis to be done under the supervision of a faculty member. When the thesis is approved by that faculty member, the graduate coordinator and the department chair, the proposal becomes a contract between the student and the department as to the work to be done for the thesis. A three-member thesis committee is formed with that faculty member as its chair. When the work is done, the student must prepare a report and defend or present the results of the thesis before the committee.

2. Electives (12 units)

Select two courses from each of the areas shown below:
Software Engineering Electives

COMP 584 Advanced Web Engineering (3)
COMP 585 Graphical User Interfaces (3)
COMP 586 Object-Oriented Software Development (3)
COMP 587 Software Verification and Validation (3)
COMP 589 Software Engineering Metrics (3)

Other Electives

Computer Science courses at the 400-, 500- or 600-level (not COMP 450, 480/L, 482, 490/L, 491L, 492, 494, 499, 696, 698 and 699).

Requests for elective courses that do not meet the requirements stated above must be approved by the student’s thesis committee chair, the department graduate coordinator and the department chair prior to course enrollment. The student’s thesis committee chair may require that specific elective courses be taken prior to enrollment in COMP 696 and COMP 698. Students should seek approval from their committee chair prior to enrolling in elective courses.

Total Units Required for the M.S. Degree: 30