Course Syllabus

MIT 8.16/8.316:  Data Science in Physics

 

Syllabus

 

A new course for Spring 2023 that will be taught jointly at both the graduate and junior/senior undergraduate level

 

Prepared by Phil Harris

 

Units:  3-0-9 

 

Overview

To provide students with this necessary skill set, we propose a new class: 8.16/8.316, “Data Science in Physics.” This course aims to present modern computational methods by providing realistic, contemporary examples of how these computational methods apply to physics research. The class is designed around research “modules,” where students work on each module to gain experience with a specific scientific challenge. At the start, we envision modules that each aim to build a particular skill set and provide a real-world example of how to apply statistical tools to physics. Current modules, each with a specific focus, include: 

 

  • Analyzing LIGO open data - Fitting data, parameter extraction
  • Measuring Electroweak boson to quark decays - Hypothesis testing, Machine Learning
  • Lattice QCD/Ising model - Numerical Physics simulation (New Project)
  • Understanding the Cosmic Microwave Background - Large-scale Data processing 

 

This class builds on the existing 8.S50 course taught during the independent activities period in January 2021 and 2022. The 8.S50 class consisted of 3 projects, 18 lectures, and 12 recitations. All projects, lectures, and recitations were done using the python environment with Jupyter as a wrapper. The combination of Jupyter and Python allowed the lectures and recitations to be interactive.  Experience in Python is helpful but not required.

 

Course Format

The class format will build on these existing materials. Class lectures will be lecture based but split into core concepts. Class time will be allocated to recitation style discussion where we review the lectures, go through key “concept” questions, and then perform the recitation exercises. All resources will be available on github. 

 

The format will be

  • 3 hours of in-person class per week: consisting of two 90-min recitation-style lectures 
  • Full class materials are available online
  • One TA to help ensure the students can follow the lectures. They will be responsible for assisting students with the in-person projects during class. Additionally, they will be responsible for ensuring the projects are easily accessible, and students can run the introductory part of each project. 
  • Additional project-students will help with the various class projects. 

 

The lecture material and projects are “modular,” with each set of lectures and exercises corresponding to preparatory work for the project that follows. While the later projects will involve more advanced topics, it is envisioned that the order of the projects and corresponding lectures could be adjusted. However, there is a rough attempt towards building on previous concepts. 

We will spend roughly 3 weeks on each project, yielding a total of 3 projects over a 10 week period. Following these 3 projects, each student is responsible for picking a laboratory project based on one of the existing projects and give a final presentation. A 4th project will also be available for the final project as well. 

Each project will be due approximately at the end of the 3rd week (see due dates below). For each project, you are expected to submit a Jupyter notebook discussing their final analysis. The notebooks follow the standard paper with code paradigm. This means that a description of the code should be present before it is run.  The level should be at a level that one can reproduce the code. The detail is expected to be at a level similar to the class notes. Some examples are present here : 

https://github.com/jmduarte/iaifi-summer-school/blob/main/book/2.1_getting_started.ipynb

https://github.com/FAIR4HEP/hbb_interaction_network/blob/main/notebooks/1.0-ar-Baseline-Model-Inspection.ipynb 

https://github.com/FAIR4HEP/hbb_interaction_network/tree/main/notebooks 

(full details are discussed https://arxiv.org/abs/2108.02214

Moreover, an example for something similar to the project can be found in the submission for project1 : https://canvas.mit.edu/courses/20251/assignments/249074 

 

Submissions will be in PDF  for the convenience of grading and presentation.  We very strongly recommend that you use a github to work on your notebooks. You can also conviently use google collab to test and run your devices following the instructions here : 

If you have notebooks in a repo, like this https://github.com/mitx-8s50/nb_LEARNER, then you can open a notebook from this repo in colab using https://colab.research.google.com/github/mitx-8s50/nb_LEARNER/blob/main/8S50x_L01.ipynb

 

Course Resources

Lectures, recitations, and projects in this class will be stored in Jupyter notebooks. Extensive notes within Jupyter are provided for each notebook, along with regular challenge problems to promote active learning.  The course is python-based and will rely heavily on Jupyter notebooks as an interactive instruction tool.  Lectures will start to appear on the github link: 

 

https://github.com/mit-physics-data/lectures 

Problem Sets will be availble online, with jupyter links here : 

https://github.com/mit-physics-data/psets 

Projects will be availble online, with jupyter links here : 

https://github.com/mit-physics-data/projects

 

Communications will be conducted via MIT Slack: https://mit-physics-data.slack.com 

 

Brief Summary Lecture Topics (Detailed summary below) 

  • Poisson/Gaussian/Alternate Prior statistics
  • Error propagation
  • Likelihood construction 
  • Data analysis statistical measures
  • Hypothesis testing
  • Semi-parameter fitting
  • Deep learning
  • Monte Carlo Simulation techniques
  • Markov Chain Monte Carlo
  • Numerical Differential equations 

 

Course Requirements and Grading

Grading will be done with the TA(s) and Professor reviewing each of the labs and sending comments. In addition to the professor. The final grade will be a weighted average of the TA/Professor.   Unlike other laboratory classes, we will also release example solutions once the projects are performed to demonstrate how one would go about analyzing the data.  The final presentation will be graded by the professor and TA(s). 

 

For each module, two levels of data analysis will be available: a required level and an advanced level. The required level serves as the base for both projects, and the advanced level is particularly open-ended with suggestions to pursue; it is not required to complete the course. We will clearly distinguish between what is required for each base project and what goes beyond the baseline requirement.  In both cases, the requirements for the labs will be the completion of the designated base for each lab. However, we will encourage everybody to try to go further. The harder-level projects can also be used as a starting point for their final project. 

 

Course Requirements

  • Recommended Prerequisite: 8.04/(6.0001+2 or some python)  
  • Would qualify as a Physics S.B. degree requirement for any course above 8.02
  • For undergraduates, most likely a senior or junior elective, but it is complementary to the junior laboratory (8.13)
  • Can contribute to requirements for the Data Science focus for the undergraduate flex major and the Interdisciplinary Ph.D. in Physics, Statistics, and Data Science
  • Being considered as a graduate/undergraduate breadth, the success of the class will determine this

Grading: A-F

 

  • Projects 1-4: 20% each  
  • Project 1 : 2 Psets (5% each)+ 10% for Project
  • Project 2 : 6% Pset + 14 % Project
  • Project 3 : 6% Pset + 14 % Project
  • Project 4 : 6% Pset + 14 % Project
  • Final Presentation: 20% 

 

Schedule 

 

Week 1: Basic Statistics, Project #1 Intro 

 

Day 1: Class overview, Jupyter setup, making plots,  Expectations, Variance

Day 2: Binomial, Poisson, Gaussian Distributions, Error propagation

 

Week 2: Distribution and Fitting  PSet1 due This week

 

Day 1: LIGO Project

Day 2: Gradient Descent, Minimization, Introduction to Fitting 

 

Week 3: Uncertainty and interpreting uncertainty 

Day 1: Extracting Uncertainty from a fit and goodness of fit

Day 2: Normal distributions, confidence intervals, z-scores, non-gaussian distributions



Week 4:  Project LHC Jet Physics Open Data analysis PSet2 due This week

 

Day 1: Introduction to jets and collider physics 

Day 2: Correlations/Covariance      

 

Project #1 Due: Fitting LIGO Gravitational Wave Data in the middle of Week 4 

 

Week 5: Bayesian approaches

Day 1: Bayesian vs. Frequentist, Convolutions   

Day 2: Hypothesis testing Intro

 

Week 6: Hypothesis Testing PSet3 due This week

Day 1: Hypothesis testing II, f-tests/gaussian processes + semi-parametric methods

Day 2: Deep Learning Introduction

 

Week 7: Deep Learning 

Day 1: Deep Learning Regression

Day 2: Advanced Deep Learning Topics 

 

Project #2 Due: Measuring the SinθW with Jets Due in the middle of Week 7

 

Spring Break 



Week 8:  Intro to Simulation

Day 1: Introduction to Lattice QCD

Day 2: Finite Numerical Differential Equations and Integration Methods

 

Week 9: Numerical Simulation Strategies

Day 1: Multi-body simulation (3-body problem)

Day 2: Monte Carlo Integration Methods+Markov Chan Monte-Carlo for simulation 

 

Week 10: Towards Lattice/Multi-body techniques Numerical Boltzam Sim pset due

Day 1: (Patriots day holiday)

Day 2: Normalizing Flows+Simulation-Based Inference + Lattice Methods

 

Week 11: Modern MC Methods + More

Day 1: Deep Learning based Sampling strategies and Probability Modeling

Day 2: Symbolic Learning for Differential Equations

 

Project #3 Due: Lattice QCD Project Due

 

Week 12: Intro to CMB Analyses

Day 1: Overview of CMB measurements  

Day 2: Parameter Estimation with Markov Chain Monte Carlo

 

Week 13: Advanced parameter estimation techniques

Day 1: Quadratic estimators and power-spectrum estimation

Day 2:  Final Presentations 

 

Week 14: 

Day 1: Final Presentations on this last day

 

Project #4 Due: Extracting CMB Parameters from simulated Cosmic Data or project of choice on previous topics

Course Summary:

Course Summary
Date Details Due