Curriculum 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. STATISTICS 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 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.