**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:**

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