Logo: University of Southern California

High Performance Computing and Simulation

Curriculum:

 

Total Units: 32
 
Required courses (8 units):

  • CSCI 596 - Scientific Computing and Visualization (4)
  • 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)

Technical Elective Courses (9-12 units):

In addition to the above required course, the HPCS specialization requires 3 additional courses to be selected from the following list of courses. You must choose the 3 courses from both tracks (i.e., one course from one track and two courses from the other track): 

(a) Computer Science Track

  • CSCI 503 - Parallel Programming (3)
  • CSCI 520 - Computer Animation and Simulation (4)
  • CSCI 551 - Computer Communications (4)
  • CSCI 558 - Internetworking and Distributed Systems Lab (3)
  • CSCI 580 - 3D Graphics and Rendering (4)
  • CSCI 595 - Advanced Compiler Design (4)
  • CSCI 653 – High Performance Computing and Simulations (4)
  • CSCI 599 - Special Topics* (4)

(b) Computational Science / Engineering Application Track

  • AME 535ab - Introduction to Computational Fluid Dynamics (3-3)
  • CE 529A - Finite Element Analysis (3)
  • CHE 502 - Numerical Methods for Diffusive & Convective Transport (3)
  • EE 553 - Computational Solution of Optimization Problems (3)
  • MASC 575 - Basics of Atomistic Simulations for Engineers (3)
  • MATH 578a – Computational Molecular Biology (3)
  • PTE 582 - Fluid Flow and Transport Processes in Porous Media (3)
  • PHYS 516 - Methods of Computational Physics (3)
  • EE 653 - Multithreaded Architectures and Data-Flow Computing (3
  • EE 657 - Parallel Processing (3)
  • EE 659 - Interconnection Networks (3)
  • MATH 501 - Numerical Analysis and Computing Using Matlab/C++ (3)

Complete 5-7 additional units from the following options:

  • CSCI 598 - Engineering Writing and Communication (1) AND*
  • ENGR 596 - Engineering Internship (1, max 3)
  • CSCI 590 - Directed Research (1-4, max 4)
  • CSCI 591 - Computer Science Research Colloquium (1, max 2)
  • 600-LEVEL - Doctoral level CSCI course (faculty and departmental approval required)
  • 500-LEVEL - Additional 500-level CSCI course

*Topics must be pre-approved by an advisor.

**CSCI 598 must be taken BEFORE a student can be approved for ENGR 596.


Total Units: 32

  • There is no cumulative examination required for the degree. 
  • A combination of ENGR 596 (Internship/CPT) and CSCI 590 (Directed Research) is also available for up to 4 units of credit.
  • CSCI 590 is a variable unit course, the number of units is chosen in consultation with your research supervisor.
  • CSCI 591 can be taken a maximum of two times.
  • 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.
  • 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.