USC Viterbi - School of Engineering

You are here

Master of Science in Computer Science with Specialization in Software Engineering

Program Description: 
The M.S. in Computer Science - Software Engineering focuses on providing its graduates not only software development skills, but also systems engineering, customer collaboration, and management skills necessary for non-outsourceable careers and for leadership in software engineering. It emphasizes education for the future, including such emerging trends as software-intensive systems of systems, high assurance, agile methods, COTS integration, mobile and distributed network-centric architectures, and rapid software development and evolution. The program includes experience in real-client class projects and state-of-the-art evaluation assignments.
Application Info: 

Application Criteria

An undergraduate degree in engineering, math or hard science from a regionally-accredited university.

Applicants whose background is not in computer science may consider the M.S. in Computer Science (Scientists and Engineers).

Satisfactory cumulative undergraduate GPA (grade point average)
Satisfactory GRE test scores. All scores must be officially reported to the university directly by ETS.
Substantial background in computing constitutes a minimum requirement.

Application Materials for All Applicants

DEN@Viterbi Summer 2016 and DEN@Viterbi Fall 2016 Applicants: All applicants must complete and submit the USC Online Application. 

Spring 2017 and Fall 2017 Applicants: USC Online Application will be available July 1, 2016. Visit our Application Deadlines page for more information.

Transcripts: Official transcripts from all colleges and universities attended.
GRE General Test: Satisfactory scores less than five years old. Official scores must be reported from ETS directly to USC using ETS school code 4852. A department code is not required.
Letters of Recommendation (Optional): Letters of recommendation should be from faculty or others (supervisors, professional colleagues, etc.) qualified to evaluate your potential for graduate study. 
Statement of Purpose (Optional): The statement of purpose should describe succinctly your reasons for applying to the proposed program at the Viterbi School of Engineering, your preparation for this field of study, study interests, future career plans, and other aspects of your background and interests which may aid the admissions committee in evaluating your aptitude and motivation for graduate study.

Additional Application Materials for International Applicants

English Language Proficiency: In addition to the general admission criteria listed above, international students whose first language is not English are required to take the TOEFL or IELTS examination to be considered a candidate for admission.  There is no minimum TOEFL or IELTS score required for admission to the Viterbi School. For possible exemption from additional language requirements, you must achieve an Internet Based TOEFL (iBT) score of 90, with no less than 20 on each section or an IELTS score of 6.5, with no less than 6 on each band score. For more details on English Proficiency Criteria for the University of Southern California, please visit USC Graduate Admission - Proficiency in English.
Program Details: 
Please Note: Requirements for graduation, course offerings, course availability, track offerings and any other degree requirements are subject to change.  Students should consult with an academic advisor prior to registering for any classes.
  • A minimum of 32 units is required for the M.S. in Computer Science - Software Engineering degree
  • Required Courses: 12 units
  • Software Engineering Core Courses: 11-12 units
  • Software Engineering Elective Course: 3-4 units
  • Elective Course: 4-6 units
  • A minimum cumulative GPA of 3.0 is required for graduation
  • A maximum of 4 units may be taken from approved 400-level courses in either Electrical Engineering or Computer Science; the remaining units must be approved courses at the 500 or 600 level
  • Only one doctoral (600-level) course can be counted in the degree
  • Only one non-CS course can be counted in the degree
     Curriculum            Schedule of Classes     
Available Online: 

This program is also available online to professional engineers through the Distance Education Network (DEN@Viterbi). Because the DEN@Viterbi program provides a fully equivalent academic experience, the degree a USC engineering student earns is the same whether they are on-campus or online.

If you are interested in beginning classes as a DEN@Viterbi student next semester, explore the requirements and steps to enrolling as a Limited Status Student

More information about DEN@Viterbi

DEN@Viterbi Online Course Offerings

The following courses and program requirements serve as program planning for DEN@Viterbi students. Course offerings and availability are subject to change. Please consult with advisor if you have any questions.

Required Software Engineering Courses

5 Courses - 17 units total.
CSCI 510 | Software Management and Economics
CSCI 570 | Analysis of Algorithms
CSCI 577a | Software Engineering
CSCI 577b | Software Engineering
CSCI 578 | Software Architecture
Required General Masters Course
Students must take one of the following courses - 3 units total.
CSCI 561 | Foundations to Artificial Intelligence (OR CSCI 564, or 574)
CSCI 564 | Brain Theory and A.I. (OR CSCI 561, or 574)
CSCI 574 | Computer Vision (OR CSCI 561, or 564)

Elective Software Engineering Courses

Students must take three of the following courses - 9 units total.
CSCI 555 | Advanced Operating Systems
CSCI 585 | Database Systems
CSCI 588 | Specification and Design of User Interface Software 
EE 557 | Computer Systems Architecture