USC Center for Software Engineering
Advanced Degrees


Last updated 9/02/2000



Advanced Degrees in Software Engineering at USC

Tremendous career opportunities await graduates of advanced-degree programs in modern, systems-oriented software engineering. You'll be able to create the applications generators used by tens of millions of user-programmers. Or rapidly compose unprecedented new applications. Or architect and integrate information megasystems or software-intensive consumer products. Or build the corporate, national, and international information infrastructures required to support all those applications. Or teach and do research for the next generation of software engineers and their products.


USC Software Engineering Program

Led by Professors Barry Boehm and Ellis Horowitz, the USC Computer Science Department's program in Software Engineering offers an exciting set of graduate research and educational opportunities. Supplemented by contracts and grants from ARPA, Army Research Laboratories, Air Force Rome Laboratories, and the world's largest Industrial Affiliates' program in software engineering, USC is pursuing advanced research in such areas as software requirements engineering, architectures, process modeling, cost modeling, environments, groupware, and knowledge-based software engineering.

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.

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.

Faculty

Robert Balzer, Research Professor:
Automatic Programming, AI & Program Specification
Barry Boehm, TRW Professor:
Software Engineering: Software Processes, Metrics, & Architectures
Prasanta Bose, Research Assistant Professor:
Requirements, Architecture, Groupware, Knowledge-Based Software Engineering
Peter Danzig, Associate Professor:
Operating Systems, Computer Networks, Distributed Systems & Performance Analysis
Alvin Despain, Charles Lee Powell Professor:
AI: Architecture, Machine Organization & Design Automation
Deborah Estrin, Associate Professor:
Computer Networks, Internetwork Routing & Multimedia Communication
Shahram Ghandeharizadeh, Associate Professor:
Database Management Systems, Multiprocessor Database Machines, & Multimedia Information Systems
Ellis Horowitz, Professor:
Software Engineering, Programming Environments & Computer-Based Instruction
Lewis Johnson, Research Associate Professor:
AI: Tutoring & Explanation Systems, & Knowledge-Based Software Engineering
Raymond Madachy, Adjunct Assistant Professor:
Software Metrics, Models, and Processes
Dennis McLeod, Professor:
Data- and Knowledge-Based Systems
Ulrich Neumann, Assistant Professor:
Computer Graphics, Virtual Environments, Medical Visualization, & Head-Tracking Systems
Rafael Saavedra, Assistant Professor:
Parallel Programming & Architecture, & Performance Analysis
David Wile, Research Professor:
Programming Languages & Environments

Admissions Information

Admissions decisions are based on the applicant's submission of academic transcripts, GRE results, TOEFL results (for international students), letters of recommendation, and an essay on the applicant's scholarly and professional ambitions. A BA/BS degree with substantial background in computing is required. Industrial experience in software engineering is preferred but not required.

Applications should be received by June 1 and October 1 for admission to the next Fall or Spring semesters, respectively.

For further information or to obtain application material about our Master's Program, please email or write to:

Master of Science in Computer Science-SE
Computer Science Department
University of Southern California
Los Angeles, CA 90089-0781
(213) 740-4496

To the Center for Software Engineering Home Page

Copyright 1995-2000 The University of Southern California

The written material, text, graphics, and software available on this page and all related pages may be copied, used, and distributed freely as long as the University of Southern California as the source of the material, text, graphics or software is always clearly indicated and such acknowledgement always accompanies any reuse or redistribution of the material, text, graphics or software; also permission to use the material, text, graphics or software on these pages does not include the right to repackage the material, text, graphics or software in any form or manner and then claim exclusive proprietary ownership of it as part of a commercial offering of services or as part of a commercially offered product.