Program Description

Below is a partial list of topics the LSSTC DSFP covers. Our curriculum is developed and distributed openly-- to facilitate exploration of our materials, below we have linked example lessons for the topics below (full material is available via our Github repository). We also film every lecture and post the lectures to our YouTube channel!


Software engineering

Building code repositories; object oriented programming; version control/GitHub; issue tracking; unit tests; continuous integration.



Regression; frequentist vs. Bayesian methods; Gaussian processes; generative models; hierarchical models; missing information and selection effects.


Machine learning

Unsupervised methods; including density estimation, anomaly detection, feature extraction, and clustering techniques; supervised methods; end-to-end automated classification models; deep neural networks.


Scalable programming and data management

Parallel programming; databases; software profiling; cloud computing.


Time series analysis 

Understanding variable sources with incomplete and noisy sampling; measures of periodicity; Gaussian processes; the LSST alert stream.


Image processing

Noisy astronomical detectors; processing pipelines; position, flux, and shape measurements; hands-on experience with the LSST image processing software stack.



Visualization of large dimensional data sets; interactive visualization for exploration; visual hierarchies; the effective use of space, color, contrast, and textures.


Science communication 

Understanding your audience; effective body language for communication; presentation design principles; using data to tell a story.