University of Southern California
 
  MS in
     Software
     Engineering
  Related Links 
CS Dept Mission Statement
MS Brochure - PDF
MS Brochure - word

 

Home > Admissions > MS in Software Engineering

Master of Science in Computer Science with Specialization in Software Engineering

This program seeks to prepare students for an industrial leadership career in software engineering. It also serves as an introduction to this area for students who wish to pursue advanced studies and research leading to a PhD.

Curriculum:
You must take one of the following courses:

  • CS 545 - Robotics
    3 Units - Spring.
  • CS 561 - Foundations to Artificial Intelligence
    3 Units - Fall, Spring.
  • CS 564 - Brain Theory and AI
    3 Units - Fall.
  • CS 574 - Computer Vision
    3 Units - Fall.
  • CS 580 - 3-D Graphics and Rendering
    3 Units - Fall.
  • CS 582 - Geometric Modeling
    3 Units - Spring.

You must take the following courses:

  • CS 510 - Software Management and Economics
    3 Units - Fall.
  • CS 577a - Software Engineering
    4 Units - Fall.
  • CS 577b - Software Engineering
    4 Units - Spring.
  • CS 578 - Software Architecture
    3 Units - Spring.
  • CS 570 - Analysis of Algorithms
    3 Units - Fall, Spring, Summer.

You must take three of the following courses:

  • CS 503- Parallel Programming
    3 Units.
  • CS 511- Personal Software Process and Project
    3 Units - Spring.
  • CS 555- Advanced Operating Systems
    3 Units - Fall, Spring.
  • CS 585- Database Systems
    3 Units - Fall, Spring, Summer.
  • CS 588- Specification and Design of User Interface Software
    3 Units - Fall.
  • EE 557- Computer Systems Architecture
    3 Units - Fall, Spring.


  • 29 units are required for the degree and there is no examination required for the degree.
  • Similar to the CS (general) degree, only 9 units of your courses can be from 400 level courses and EE courses not listed above have to be approved EE courses.
  • Prerequisites must be taken prior to an advanced course. Even if a prerequisite is waived, you may not take the prerequisite course AFTER taking the advanced course.
  • Availability of courses per semester may occasionally change.