Degree Requirements for the MS in Software Engineering

Whenever possible, CSC course numbers below link to full course outlines in PDF format. (Although they are the most recent formal descriptions available, they may not reflect the current textbooks being used or the faculty member currently teaching the course. Students should check with the department office if they have questions about textbooks or instructors.)

Courses without full outlines are linked to catalog descriptions.

A.  Required Software Engineering Courses (21 Units)

Units

Course #

Course Title and Prerequisite

Select seven of the following eight courses:

3

CSC 230

Software System Engineering (fully classified graduate status in Computer Science or Software Engineering; OR fully classified graduate status in Computer Engineering and CSC 131)

3

CSC 231

Software Engineering Metrics (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 232

Software Requirements Analysis and Design (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 233

Advanced Software Engineering Project Management (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 234

Software Verification and Validation (fully classified graduate status in Computer Science or Software Engineering; OR fully classified graduate status in Computer Engineering and CSC 131)

3

CSC 235

Software Architecture (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 236

Formal Methods in Secure Software Engineering (fully classified graduate status in Computer Science or Software Engineering)

3

CSC 238

Human-Computer Interface Design (fully classified graduate status in Computer Science or Software Engineering)

B.  Required Research Methodology (1 unit)

Units

Course #

Course Title and Prerequisite

1

CSC 209

Research Methodology (fully classified graduate status in Computer Science or Software Engineering, a passing score on the Writing Proficiency Exam, completion of at least 12 units of 200-level courses in CSC)

C.  Restricted Electives (3-6 units)

Prior to taking an elective course, students must obtain approval from their advisor, and either the Graduate Coordinator or the Department Chair. Students should choose their electives according to the following guidelines:

  1. One of the following upper-division courses: CSC 148CSC 155CSC 159CSC 165CSC 176CSC 177, as long as they have not been used toward another degree. (A maximum of six undergraduate units may be used in any graduate program.)
  2. Any 200-level CSC course not already used to satisfy Requirements A and B, with the exception of CSC 295 and CSC 299. An additional three units in this category must be taken if a core course is waived.
  3. Related 200-level courses from outside the Computer Science Department may only be taken with prior department approval and may not have been used in another program.

D.  Culminating Requirement (2-5 units)

Units

Course #

Course Title and Prerequisite

2-5

Select one of the following:

CSC 500

Master's Thesis (CSC 209; advanced to candidacy)

CSC 502

Master's Project (CSC 209; advanced to candidacy)

Students are required to make an oral presentation of their master's project or conduct an oral defense of their master's thesis. The recommended department-level deadline in each semester for submitting an MS project or thesis signed by the committee chair and its members to the Graduate Coordinator is 10 weekdays before the University deadline.

Back to top