High Performance Computing and Simulations


The Master of Science in Computer Science (High Performance Computing and Simulations) is designed to:

  • Train a new generation of graduate students in Computer Science to solve challenging scientific and engineering problems using high-end parallel computers, high-speed networks, and advanced scientific visualization.
  • Support a unique dual-degree opportunity, in which students can obtain a Ph.D. in the physical sciences/engineering and an M.S. in Computer Science.
  • Train engineers from industry to solve real-world problems using state-of-the-art computational techniques. The program will satisfy the critical need to train students, who have expertise in the physical/biological sciences/engineering and computer science, as evidenced by the current and future trends in cutting edge research and in the job market.

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:

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 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 599 – Special Topics* (4)
  • CSCI 653 – High Performance Computing and Simulations (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)
  • EE 653 – Multithreaded Architectures and Data-Flow Computing (3
  • EE 657 – Parallel Processing (3)
  • EE 659 – Interconnection Networks (3)
  • MASC 575 – Basics of Atomistic Simulations for Engineers (3)
  • MATH 501 – Numerical Analysis and Computing Using Matlab/C++ (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)

Complete the remaining units from the group list above or the following::

  • CSCI 590 – Directed Research (1-2, max 2)
  • 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

*Special Topics must be pre-approved by an advisor.

A maximum of 2 units of CSCI 590 and a maximum of 2 units of CSCI 591 may be applied.

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

 

  • There is no cumulative examination required for 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.
  • 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.