USC Center for Software Engineering
Advanced Degrees


The M.S. Degree

The resulting state-of-the-art research and its context are transitioned into the USC Master of Science in Computer Science with specialization in Software Engineering (MSCS-SE) degree program. Its courses provide students with a mastery of the USC WinWin Spiral Model; the USC WinWin groupware environment for collaborative requirements engineering and related CASE tools; the SEI Capability Maturity Model; leading industry and university tools and research in software architectures; software metrics, planning, and control based on the USC COCOMO® family of models and tools; Mills’ Cleanroom approach; and team development of production-grade software packages.

The MSCS-SE degree program also includes elective courses, enabling students to integrate the software engineering specialization with the Department’s other software strengths in user/multimedia engineering, operating systems, database systems, networking, high performance computing, and artificial intelligence.

Degree requirements include core courses in Software Engineering I and II, Computer Systems Architecture, and an Advanced Software Engineering Project course; three additional courses selected from six other mainstream software courses; plus the general master’s requirements. A total of 27 semester units is required (normally 9 courses). There are no thesis or comprehensive exam requirements for the degree. Additional information on the specific course can be found in the Courses section of the CSSE site.

Please contact Shirley Chan (213) 740-4496


For students in the MSCS-SE program, they must satisfy the current core requirements for the MSCS plus the following required courses:

CS 510 Software Management and Economics (3)
CS 577a Software Engineering I (4)
CS 577b Software Engineering II (4)
CS 578 Software Architectures (3)

In addition to the above required courses, the SE specialization requires 3 additional courses to be selected from the following 5 courses:

CS 511 Personal Software Process(PSP) and Project (3)
CS 555 Advanced Operating Systems (3)
CS 585 Database Systems
CS 588 Specification and Design of User Interface Software (3)
EE 557 Computer Systems Architecture (3)

Students may also include research for an optional master’s thesis in their programs by registering for CSCI 590 (Directed Research). 


Any remaining units can be accomplished by taking other 400 and 500 level computer science courses or field-related courses in electrical engineering or mathematics that form a cohesive program of study in Computer Science, subject to approval by an advisor in the Department. In addition, UPON APPROVAL FROM AN ADVISOR, the student may enroll in a maximum of one closely related class outside the usual department curriculum. No comprehensive exam or Master’s thesis is required for the M.S. degree. All generally allowable courses are listed at the end of this brochure. The student is permitted a rather wide latitude in selecting the remaining elective courses.

Of the 27 units required, not more than 9 units at the 400 level in either Computer Science or Electrical Engineering may be counted toward the degree. (deficiency courses not accepted) CS 590 – Directed Research may be counted for a maximum of 6 units toward the Master’s degree. All students are urged to specifically discuss with an advisor any “400” level course he or she wishes to take, since not all such courses are applicable to the Master’s degree. 

Ph.D. Research Fellowships

Two continuing Ph.D. research fellowships in Software Engineering are available each year for particularly outstanding applicants. The Ph.D. application requirements are similar to those for the MSCSSE.

Contact Sherri Fagan (213) 740-4499 for more information.


Contact Steve Schrader (213) 740-4779 for more information.