Curriculum and Syllabus

Curriculum Goals

At a high level, the goal of the School is to help students learn to:

  1. Describe the basic elements and architecture of a distributed computing system
  2. Use basic distributed computing tools to run jobs and manage data
  3. Select reasonable tools and methods to solve scientific computing problems using distributed computing
  4. Outline the role of distributed computing, its history, current state and issues, and hopes for the future
  5. Identify resources for support, further study, and development opportunities in distributed computing


The high-level syllabus for 2019 is below; a more detailed schedule will be published later as we get closer to the school.

Morning Afternoon
Monday Welcome
Introduction to high-throughput computing
Running jobs locally with Condor
Introduction to distributed high-throughput computing
Tuesday Basic troubleshooting
Dealing with real software
(Especially Python and MATLAB, but others as well)
Wednesday Software in the OSG Free choice:
• Advanced topics (HTCondor and Python, GPUs)
• Get one-on-one help with your computing work
• Take a break and visit Madison
Thursday Introduction to distributed storage
Using remote storage systems
Managing large, distributed data
Introduction to high-throughput workflows
Friday Turning scientific computing needs into HTC jobs
Estimating resource needs, decomposing and running large jobs
Strategies and technologies for handling large workflows
Principles of high-throughput computing
Scientific computing showcase
Where to go and what to do next — resources, funding, etc.