Below is the class schedule. A few notes:
- All regular meetings except Friday are in the Gates-Thomas 135. This includes the evening exercises, when students work together under the guidance of the course staff. On Friday, we will meet in 115 Gates-Thomas.
- To allow attendance at International Student Orientation, incoming international grad students will skip sessions colored in purple and will have make-up sessions marked in green. The bootcamp for non-incoming international students ends Friday at noon.
- The lessons are labeled with the initials of their primary author/presenter from the course staff.
- There will be a special pre-bootcamp session on Saturday afternoon (Sept. 10) from 2-3:30 pm in room 115 of the Beckman Institute for students who are unable to complete Lesson 0.
Saturday, September 10
- 2-3:30 pm
- Lesson 0 (JB/SS): Configuring your computer
Sunday, September 11
- 9 am - noon
- Lesson session 1
- Lesson 1 (JB): Welcome, .py files, and IPython
- Lesson 2 (JB): Basic command line skills
- Lesson 3 (JB): Variables, operators, and types
- Lesson 4 (JB): More operators and conditionals
- noon - 1:30 pm
- Lunch
- 1:30 - 4:30 pm
- Lesson session 2
- Lesson 5 (DA): Lists and tuples
- Lesson 6 (NN): Iteration
- Lesson 7 (JB): Introduction to functions
- Lesson 8 (JB): String methods
- 4:45 - 5:45 pm
- Grad student lectures: Griffin, James, and Shyam talk about the importance of computation in their graduate work.
- 5:45 - 7:15 pm
- Dinner
- 7:15 - 10:15 pm
- Exercise 1
Monday, September 12
- 9 am - noon
- Lesson session 3
- Lesson 9 (JB): Review of exercise 1
- Lesson 10 (JB): Packages and modules
- Lesson 11 (AM): Version control with Git
- Lesson 12 (JB): Forking and practice with Git
- noon - 1 pm
- Lunch
- 1 - 4 pm
- Lesson session 4
- Lesson 13 (JB): Dictionaries
- Lesson 14 (JB): File I/O
- Lesson 15 (JB): Exceptions and error handling
- Lesson 16 (JB): Python style (PEP 8)
- 4:15 - 5:15 pm
- Faculty lecture: Michael Elowitz, Dynamics and Design Logic of Cellular Systems
- 5:15 - 7 pm
- Dinner
- 7 - 10 pm
- Exercise 2
Tuesday, September 13
- 9 am - noon
- Lesson session 5
- Lesson 17 (JB): Review of exercise 2
- Lesson 18 (JB): Introduction to NumPy and the SciPy stack
- Lesson 19 (JB): NumPy arrays and operations with them
- Lesson 20 (JB): Practice with NumPy arrays [solution]
- noon - 1 pm
- Lunch
- 1 - 4 pm
- Lesson session 6
- Lesson 21 (JB): Introduction to Matplotlib
- Lesson 22 (JB): More plotting with Matplotlib
- Lessons 23 and 24 (JB): Practice with NumPy arrays and Matplotlib [solution]
- 4:15 - 5:15 pm
- Faculty lecture: Michael Dickinson, Exposing the fly brain with data bombs
- 5:15 - 7 pm
- Dinner
- 7 - 10 pm
- Exercise 3
Wednesday, September 14
- 9 am - 11:20 am
- Lesson session 7
- Lesson 25 (JB): Review of exercise 3
- Lesson 26 (JB): Random number generation
- Lesson 27 (JB): Hacker statistics
- Lesson 28 (JB): Practice with hacker stats [solution]
- noon - 1 pm
- Lunch
- 1 - 4 pm
- Lesson session 8
- Lesson 29 (JB): Case study: computing the Luria-Delbrück distribution
- Lesson 30 (JB): Introduction to Pandas
- Lesson 31 (JB): Case study: extracting data of interest from frog tongue adhesion
- Lesson 32 (JB): Practice with Pandas [solution]
- 4:15 - 5:15 pm
- Faculty lecture: Markus Meister, Neural Computations [slides]
- 5:15 - 7 pm
- Dinner
- 7-10 pm
- Exercise 4
Thursday, September 15
- 9 am - noon
- Lesson session 9
- Lesson 33 (JB): Review of exercise 4
- Lesson 34 (JB): Seaborn and data display
- Lesson 35 (JB): Testing and test-driven development
- Lesson 36 (JB): Practice TDD [solution]
- noon - 1 pm
- Lunch
- 1 - 4 pm
- Lesson session 10
- Lesson 37 (JB): Performing regressions
- Lesson 38 (GC): Introduction to image processing
- Lesson 39 (GC): Case study: Basic image quantification
- Lesson 40 (JB): Practice image processing [solution]
- 4:15-5:15 pm
- Faculty lecture: Mitch Guttman and Noah Ollikainen, Predicting and designing 3D genome structures
- 5:15-7 pm
- Dinner
- 7-10 pm
- Exercise 5
Friday, September 16
- 9 am - noon
- Lesson session 11
- Lesson 41 (JB): Review of exercise 5
- Lesson 42 (JB): The Jupyter notebook
- Lesson 43 (JB/AM): Survey of other packages and languages
- Lesson 44 (JB): Bootcamp recap
- noon - 1 pm
- Lunch
- 1 - 4 pm
- Lesson session 9
- Lesson 33 (JB): Review of exercise 3
- Lesson 34 (JB): Seaborn and data display
- Lesson 35 (JB): Testing and test-driven development
- Lesson 36 (JB): Practice TDD
- 5:15-7 pm
- Dinner
- 7 - 10 pm
- Lesson session 10
- Lesson 37 (JB): Performing regressions
- Lesson 38 (GC): Introduction to image processing
- Lesson 39 (GC): Case study: Basic image quantification
- Lesson 40 (JB): Practice image processing
Saturday, September 17
- 9 am - noon
- Exercise 5
- noon - 1:30 pm
- Lunch
- 1:30 - 4:30 pm
- Lesson session 11
- Lesson 41 (JB): Review of exercise 5
- Lesson 42 (JB): The Jupyter notebook
- Lesson 43 (JB/AM): Survey of other packages and languages
- Lesson 44 (JB): Bootcamp recap