Logo: University of Southern California

High Performance Computing and Simulation

Curriculum:

 

You must take the following courses:

  • CS 596 - Scientific Computing and Visualization
    • 3 Units - Fall. 
  • CS 570 - Analysis of Algorithms
    • 3 Units - Fall, Spring, Summer.

You must take one course from the following:

  • EE 557 Computer Systems Architecture
    • 3 Units - Fall, Spring.
  • CS 555 - Advanced Operating Systems
    • 3 Units - Fall, Spring.
  • CS 551 - Computer Communication
    • 3 Units - Fall, Spring.
  • CS 571 - Web Technologies
    • 3 Units - Fall, Summer.
  • CS 577a - Software Engineering
    • 4 Units - Fall.
  • CS 585 - Database Systems
    • 3 Units - Fall, Spring.

You must take one course from 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
  • CS 580 - 3-D Graphics and Rendering
    • 3 Units - Fall.
  • CS 582 - Geometric Modeling
    • 3 Units - Spring.
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

  • CS 503 - Parallel Programming
    • 3 Units.
  • CS 520 - Computer Animation and Simulation
    • 3 Units - Fall. 
  • CS 551 - Computer Communications
    • 3 Units - Fall, Spring. 
  • CSCI 558L - Internetworking and Distributed Systems Lab
    • 3 Units - Fall, Spring. 
  • CSCI 580 - 3D Graphics and Rendering
    • 3 Units - Fall. 
  • CSCI 583 - Computational Geometry
    • 3 Units - Fall. 
  • CSCI 595 - Advanced Compiler Design
    • 4 Units - TBA. 
  • CSCI 653 – High Performance Computing and Simulations
    • 3 units – Fall 
  • EE 653 - Multithreaded Architectures and Data-Flow Computing
    • 3 Units - See EE dept. 
  • EE 657 - Parallel Processing
    • 3 Units - See EE Dept. 
  • EE 659 - Interconnection Networks
    • 3 Units - See EE Dept. 
  • Math 501 - Numerical Analysis and Computing Using Matlab/C++
    • 3 Units - See Math Dept.

(b) Computational Science /Engineering Application Track

  • AME 535ab - Introduction to Computational Fluid Dynamics
    • 3 Units - See AME Dept.
  • CE 529A - Finite Element Analysis
    • 3 Units - See CE Dept.
  • CHE 502 - Numerical Methods for Diffusive & Convective Transport
    • 3 Units - See CHE Dept.
  • EE 553 - Computational Solution of Optimization Problems
    • 3 Units - See EE Dept.
  • MASC 575 - Basics of Atomistic Simulations for Engineers
    • 3 Units - See MASC Dept.
  • MATH 578a – Computational Molecular Biology
    • 3 Units – See MATH Dept.
  • PTE 582 - Fluid Flow and Transport Processes in Porous Media
    • 3 Units - See PTE Dept.
  • PHYS 516 - Methods of Computational Physics
    • 3 Units - See PHYS Dept.

Thesis:

This specialization includes the possibility of a Thesis Option. For more information click here.

  • 27 units are required for the degree and there is no examination required for the degree. 
  • 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.