Master of Science in Computer Science

Application Deadlines

Spring 2018: September 15, 2017

Fall 2018: January 15, 2018

The MS in Computer Science provides intensive preparation in the concepts and techniques related to the design, programming, and application of computing systems. Students are provided a deep understanding of both fundamentals and important current issues in computer science and computer engineering so that they may either obtain productive employment or pursue advanced degrees.

The MS in Computer Science program requires the student to take a broad spectrum of courses, while simultaneously allowing for emphasis in desired areas of specialization.

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 28 units is required for the general MS in Computer Science degree
  • Required courses: 12 units
  • Computer Science (CSCI) Elective Courses: 12 units
  • Additional Elective Course: 4 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-CSCI course can be counted in the degree
Detailed Program Curriculum and RequirementsSchedule of Classes

Fall 2019 (Scholarship Consideration Deadline)December 15, 2018
Fall 2019 (Final Deadline)January 15, 2019*
Spring 2019 (Scholarship Consideration Deadline)August 31, 2018
Spring 2019 (Final Deadline)September 15, 2018
*Applicants Interested in Online Delivery: Please contact to request an application extension for Fall 2018.
Visit our Application Deadlines page for more information.


  • 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 MS 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.


Transcripts: Official transcripts from all colleges and universities attended.

GRE General Test: Satisfactory and valid test scores. Valid GRE scores must be dated within five years of the start of the intended application semester. The fall semester starts in August, and the spring semester starts in January. Official scores must be reported from ETS directly to USC using ETS school code 4852. A department code is not required.

Resume/CV (Required)

Statement of Purpose (Optional): The statement of purpose should succinctly describe 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.

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.


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.

The following is an overview of the tuition & fees for graduate engineering students. Both on-campus and DEN@Viterbi students pay the same tuition.


Academic Year
Per Unit Rate
3-unit Course
4-unit Course
Fall 2017 - Summer 2018
Fall 2018 - Summer 2019



Fee Description
Fee Amount
Mandatory Fees (approximate)
Fall 2017: $450
Spring 2018: $400
Health Insurance
Fall 2017: $646
Spring 2018: $1,170
Norman Topping Student Aid Fee
ENGR Computing Access Fee (On-Campus students)
ENGR Computing Access Fee (DEN@Viterbi students)
Exam Proctoring
$40 - $100 per course
Detailed Information on Tuition & Fees
This program is also available online to professional engineers through 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.

Learn More About DEN@Viterbi
Detailed Program Curriculum and RequirementsSchedule of Classes


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 Course
1 Course Required – 4 units total.
CSCI 570 | Analysis of Algorithms (4 units)
Required Courses
2 Courses Required, students must choose 2 of the following 3 courses – 8 units
CSCI 561 | Foundations to Artificial Intelligence (4 units)
CSCI 571 | Web Technologies (4 units)
CSCI 585 | Database Systems (4 units)
Additional Required Elective Courses
Choose an additional 12 units of CSCI courses (*only one course may be 400-level)
Select any CSCI elective course from the department’s offerings on DEN (see list below)
CSCI Courses Available on DEN@Viterbi
CSCI 402x | Operating Systems (4 units)
CSCI 455x | Introduction to Programming Systems Design (4 units)
CSCI 510 | Software Management and Economics (4 units)
CSCI 530 | Security Systems (4 units)
CSCI 531 | Applied Cryptography (4 units)
CSCI 551 | Computer Networking (4 units)
CSCI 555 | Advanced Operating Systems (4 units)
CSCI 556 | Introduction to Cryptography (4 units)
CSCI 561 | Foundations of Artificial Intelligence (4 units)
CSCI 568 | Requirements Engineering (4 units)
CSCI 570 | Analysis of Algorithms (4 units)
CSCI 571 | Web Technologies (4 units)
CSCI 572 | Information Retrieval and Web Search Engines (4 units)
CSCI 573 | Probabilistic Reasoning (3 units)
CSCI 574 | Computer Vision (3 units)
CSCI 576 | Multimedia Systems Design (4 units)
CSCI 577a | Software Engineering (4 units)
CSCI 577b | Software Engineering (4 units)
CSCI 578 | Software Architectures (4 units)
CSCI 580 | 3-D Graphics and Rendering (4 units)
CSCI 585 | Database Systems (4 units)
CSCI 589 | Software Engineering for Embedded Systems (4 units)
CSCI 590 | Directed Research (1-12 units)
CSCI 591 | Computer Science Research Colloquium (1-2 units)
CSCI 598 | Professional Writing and Communication for Computer Scientists (1 unit)
CSCI 651 | Advanced Computer Networking (4 units)
Required Elective
Complete 4 units from one or more of the following options.
Non-CSCI courses on DEN – check with an advisor before enrolling.
600-level CSCI courses – faculty and departmental approval needed before enrolling.
Additional 500-level CSCI course
Please complete the following form for more information.