This program will run Monday through Friday, June 3, 2019, until June 14, 2019 (2 weeks of 5 days each). Each day will run from 1 pm until 4 pm, although the room will be available to students until 5 pm if they wish to continue working.
Summary Schedule
Week 1 (June 3-7, 1-5pm): Programming Basics and Applications
- Scientific programming with Python, Git, and basic Unix commands.
- Each day will consist of ~2 hours of lecture (with breaks and interactivity)
- After lecture there will be open Coffee & Coding time
- Friday features lunch and professional presentations
Week 2 (June 10-14, 1-5pm): Statistics for Professional Scientists
- Professional statistics
- Bayesian statistics and common algorithms
- Error analysis
- Friday student presentations
Detailed Schedule
WEEK 1 – Programming Basics and Applications
Day 1 – Monday
- Introduction
- Using a terminal on Linux/Mac/Windows10
- Basic unix commands
- An introduction to Python and Jupyter Notebooks
- Python: Basic syntax, whitespace, data types
-
Coffee
& Coding – With live coding
- Unix and Python exercises
Day 2 – Tuesday
- Regular expressions?
- SSH/FTP/networking
- The numpy, scipy, packages.
- Visualizing data through the matplotlib python package
- Coffee & Coding – With live coding
- Python exercises
Day 3 – Wednesday
- Basic Computer Science – Memory, time scaling, optimization
- Debugging – fundamentals, tips and strategies
- Good practices and styleguides
- Code versioning, backing up code, and making code citable.
- Coffee & Coding – With live coding
Day 4 – Thursday
- Overview of Python packages for different fields
- working with Arrays and matrices
-
Coffee
& Coding – With live coding
- Array exercises, linear algebra
Day 5 – Friday
- Lunch
- Presentation 1 (TBD)
- Presentation 2 (TBD)
WEEK 2 – Statistics for Professional Scientists
Day 6 – Monday
- An introduction to statistics
- Bayes Theorem
- Making models of systems
-
Building
and testing a hypothesis
- Coffee and Coding – With live coding
Day 7 – Tuesday
- Model selection and curve fitting
- The meaning of p-values; Type-I and Type-II errors.
- Common techniques (KS-test, etc) and their strengths and weaknesses.
-
Examining
models, histograms, and other data.
- Coffee and Coding – With live coding
Day 8 – Wednesday
- Machine Learning Basics
- Gradient Descent and MCMC
-
Overview
of more advanced techniques (genetic algorithms, asynchronous
optimization, neural nets)
- Coffee and Coding – With live coding
Day 9 – Thursday
- Error propagation, analysis, and model error estimation.
-
Examples
of specific applications.
- Coffee and Coding – With live coding
Day 10 – Friday
- Lunch
• Student presentation – speed round
• networking
• Mingle time
• GRADUATION certificates