HPC Certificate Program

Program Description

The Center for Computation and Visualization (CCV) is developing and implementing three levels of Certificates in High-Performance Computing (HPC) for Brown graduate students and postdoctoral researchers who complete workshops in topics ranging from basic to advanced.

The goal of this program is to help train participants with diverse backgrounds to use computing more effectively in their research at Brown and beyond. The program's focus is on practical and timely knowledge that participants can apply immediately to their own research and that, in the long term, will broaden their career options in both academia and industry.

Prerequisites

To accommodate a wide diversity in participants' backgrounds, the program will be organized into three Certificates: Basic, Intermediate, and Advanced. Participants with stronger backgrounds may test out of lower-level workshops.

Participants in the Basic Certificate are not expected to have any prior HPC experience. However, all students are expected to have a research problem or question that could benefit from computational analysis. This problem will serve as the basis for open-ended projects in several of the workshops.

Workshops in the Intermediate and Advanced Certificate require programming competency. Assignments and projects will be offered in Matlab, Python, and C/C++. Students are expected to demonstrate competency with at least two of these core languages, or one plus an additional language that is important in the student’s field (e.g. Fortran, Java, R, Stata, etc.). While the workshops will provide some training in basic programming concepts and syntax, it is highly recommended that students with no programming experience enroll in or audit a CS or Applied Math undergraduate course in programming, or complete a separate programming tutorial or course outside of the Certificate program.

Admission

CCV admits applicants on a rolling basis as seats become available. Currently, the program is limited to 30 enrolled students. Priority will be given to graduate students and postdoctoral researchers, and additional considerations include applicants' time to completing their dissertation or research project. Applications from undergraduate students and staff may also be considered at the discretion of the program director and will require recommendation by a faculty advisor or supervisor.

Admissions will be balanced to include students from as many departments and fields of research as possible. The program strongly encourages inter-disciplinary collaborations on projects and assignments.

Curriculum

Each full-day workshop (5-6 hours) is offered twice during the fall and spring academic semesters and once during the summer, at the discretion of the instructors. Workshops are scheduled to accommodate as many currently enrolled students as possible. Participants are free to make-up a workshop during a subsequent semester. There are no firm deadlines for completion of workshops: a Certificate can be awarded as soon as a participants completes the required coursework while at Brown. 

Participants are required to attend all workshops, complete all assignments and projects, and pass a final exam for a Certificate to be awarded. Workshops have some time built-in for working on assignments, but participants may need to spend additional time outside of this. Each Certificate has four workshops, and therefore requires a minimum of 20 hours of coursework. All grading is on a pass/fail scale, and participants who fail an assignment or exam may retry it during a subsequent semester.

Basic Certificate workshops, starting Spring 2012:

  • Using a Linux operating system
  • Automating tasks through scripting
  • Organizing, documenting, archiving and backing up research data
  • Visualizing and analyzing research data

Intermediate Certificate workshops, starting Summer 2012:

  • Parallel programming and concepts
  • Debugging, profiling and optimizing code
  • Data structures and algorithms
  • Best practices for software engineering

A full list of topics for the Advanced Certificate workshops will be announced at a later date, but will likely include GPU co-accelerators, hybrid-parallel programming models and large-scale data management and manipulation.