Course Syllabus
Full updated syllabus can be found at this link
Google Doc of syllabus
MIT 8.16/8.316: Data Science in Physics
Syllabus
The second version of course for Spring 2024 that will be taught jointly at both the graduate and junior/senior undergraduate level
Prepared by Phil Harris
Staff : Phil Harris, TA: Sang Eon Park MITx Online Staff: Alex Shvonski
Class: M/W 2:30-4:00 (36-114)
Office Hours : Thursday 3-4pm (24-502) or zoom (see canvas)
TA Office Hours : Tuesday 4pm (see canvas)
Assignments are due on Fridays at Midnight the week they are due unless otherwise stated
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, ML
- 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 discussion where we review the lectures, go through key “concept” questions, and then perform 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 interactive 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 :
FAIR4HEP Higgs(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 strongly recommend that you use github to work on your notebooks. You can also conveniently 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 collab 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 available online, with Jupyter links here : https://github.com/mit-physics-data/projects
Communications will be conducted via Canvas:
https://canvas.mit.edu/courses/25565/discussion_topics
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
- Deep Learnning MC techniques
- Markov Chain Monte Carlo
- Numerical Differential equations
- Likelihood Free Inference
- Anomaly detection
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: 23% each + 8% extra for first project
- Project 1 : 2 Psets (8% each)+ 15% for Project
- Project 2 : 8% Pset + 15 % Project
- Project 3 : 8% Pset + 15 % Project
- Project 4 : 23 % Project ( 15% Project + 8% Final Presentation)
Schedule (Assuming M/W lectures starting February 5th)
Week 1: Basic Statistics, Project #1 Intro
Feb 5 Day 1: Class overview, Jupyter setup, making plots, Expectations, Variance Feb 7 Day 2: Binomial, Poisson, Gaussian Distributions, Error propagation
Week 2: Distribution and Fitting Pset 1 due Friday Feb 16th
Feb 12 Day 1: LIGO Project Feb 14 Day 2: Gradient Descent, Minimization, Introduction to Fitting
Week 3: Uncertainty and interpreting uncertainty
Feb 20 (Tuesday) Day 1: Extracting Uncertainty from a fit and goodness of fit Feb 21 Day 2: Normal, confidence intervals, z-scores, non-gaussian distributions
Week 4: Project LHC Jet Physics Open Data analysis PSet2 due This week
Feb 26 Day 1: Correlations/Covariance Feb 28 Day 2: Introduction to jets and collider physics Project #1 Due: Fitting LIGO Gravitational Wave Data in the middle of Week 4
Week 5: Bayesian approaches
March 4 Day 1: Bayesian vs. Frequentist, Convolutions March 6 Day 2: Hypothesis testing Intro
Week 6: Hypothesis Testing PSet3 due This week
March 11 Day 1: Hypothesis testing II, f-tests/gaussian processes + semi-parametric methods March 13 Day 2: Deep Learning Introduction
Week 7: Deep Learning
March 18 Day 1: Deep Learning Regression March 20 Day 2: Advanced Deep Learning Topics ( Spill over of topics)
Project #2 Due: Measuring the SinθW with Jets Due in the middle of Week 7
Spring Break
Week 8: Intro to Simulation
April 1st Day 1: Introduction to Lattice QCD April 3rd Day 2: Finite Numerical Differential Equations and Integration Methods
Week 9: Numerical Simulation Strategies
April 8 Day 1: Eclipse (Virtual catch up lecture)
April 10 Day 2: Multi-body simulation (3-body problem)
Week 10: Towards Lattice/Multi-body techniques Numerical Boltzam Sim pset due
April 15 Day 1: (Patriots day holiday) April 17 Day 2: Monte Carlo Methods
Week 11: Modern MC Methods + More
April 22 Day 1: Deep Learning Monte Carlo Methods April 24 Day 2: Markov Chain Monte Carlo Project #3 Due: Lattice QCD Project Due
Week 12: Intro to CMB Analyses
April 29 Day 1: Deep Learning Markov Chain Monte Carlo May 1 Day 2: Overview of CMB measurements
Week 13: Advanced parameter estimation techniques
May 6 Day 1 : AI-based anomaly detection May 8 Day 2: Final Presentations
Week 14:
May 13: Final Presentations on this last day Project #4 Due: Extracting CMB Parameters from simulated Cosmic Data or project of choice on previous topics chosen for last class
Course Summary:
| Date | Details | Due |
|---|---|---|