Center for Software Engineering
The M.S. Degree
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.
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 CSE site.
REQUIRED COURSES FOR MSCS-SE
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
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
CHOICE OF ELECTIVES
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
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.