Schedule

Below is the class schedule. A few notes:

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