M.S. Computer Science (General)

The Master of Science in Computer Science provides intensive preparation in the basic concepts and techniques related to the design, programming and application of digital computers. 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.  This program requires students to take a broad spectrum of courses, while simultaneously allowing for emphasis in desired areas of specialization.

Total Units: 28

Required course (4 units):

  • CSCI 570 – Analysis of Algorithms (4)

Choose 2 of the following courses (8 units):

  • CSCI 561 – Foundations of Artificial Intelligence (4)
  • CSCI 571 – Web Technologies (4)
  • CSCI 585 – Database Systems (4)

Additional Course Work (16 units):

The remaining elective units necessary to earn the degree are completed by selecting additional 500-level CSCI courses.


Additional Coursework:

  • Additional 500-level CSCI courses
  • One Non Computer Science Course (such as EE, ISE, INF,  etc. from approved list – see department website) (3-4 units)
  • 600-level CSCI Course (faculty and department approval required) (8 units max)
  • Other options may be available with department approval.


Students interested in computer science research can select from CSCI 591 Computer Science Research Colloquium (1 unit, max 2) and/or CSCI 590 Directed Research (1-2 units, max 2).

Note: A maximum of 2 units of CSCI 590 and a maximum of 2 units of CSCI 591 may be applied. Furthermore, only one course may be 400-level, and up to two courses may be 600-level. With adviser approval, one non Computer Science Course may be selected from the approved list.


Thesis courses (CSCI 594a, CSCI 594b, CSCI 594z) and Internship courses (ENGR 595a, ENGR 595b, ENGR 595z) are not eligible for elective credit.

  • 28 units are required for the degree.
  • There is no cumulative examination required for the degree.
  • A minimum grade point average of 3.00 must be earned on all course work applied toward the M.S. degree and all graduate course work taken at USC.
  • 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 two doctoral (600-level) course can be counted in the degree.
  • Only one Non-CS course can be counted in the degree.
  • Internship and Thesis credits cannot count as elective units toward the degree.
  • CSCI 590 Directed Research is a variable unit course, and can be taken for one or two units. A maximum of two units can apply toward the degree.
  • CSCI 591 Research Colloquium can be taken a maximum of two times for one unit each.
  • Other requirements for the M.S. degree are the same as set forth in the general requirements for graduate degrees.

With the approval of a supervising professor, qualified students may be allowed to pursue a thesis option. Students pursuing the thesis option must satisfy all of the policies and course requirements for the master’s degree and, in addition, must enroll in a minimum of two semesters of CSCI 594a, CSCI 594b, CSCI 594z for a maximum of 4 units. The thesis must comply with all requirements set by the Graduate School. Students interested in a thesis while enrolled in a CS specialization should consult with their department adviser.

Total units required for the degree with thesis is 32.

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