Day 1 - January 13
8:30 Python Introduction (Josh)
Lecture slides
9-10 Basic Training (Josh)
Lecture slides
Files (.tgz) or Files (.zip)
10-10:30 breakout #1
10:30-10:40 go over breakout #1 solutions
10:40 - 11:40 Advanced data structures (Josh)
Lecture slides
File (airline.py)
11:40 - 12:10 breakout #2
12:10 - 12:40 lunch
12:40 - 12:50 go over breakout #2 solutions
12:50 - 1:50 Functions & Modules (Josh)
Lecture slides
Files (.tgz) or Files (.zip)
1:50 - 2:20 breakout #3
2:20-2:30 go over breakout #3 solutions: age.py and age1.py
2:30 - 3:15 Numpy (arrays)/matplotlib Basic Plotting (Fernando)
Files (.zip)
3:15 - 3:35 breakout #4
3:35 - 4:15 Scipy - a brief introduction (Berian)
Lecture slides
Test data (or use your own)
IPython Notebook (optional) [also: PDF version]
Example Fortran code for f2py (optional)
4:15 Start homework #1
Homework Assignment #1 (associated files: trends.csv)
Homework Solution [IPython notebook]
Homework Solution [PDF]
Day 2 - January 14
8:15 - 8:30 review of homework (optional)
8:30 - 9:30 Advanced Strings & File IO (Josh)
Lecture slides
Files (.tgz)
9:30 - 10:00 breakout #5
10 - 10:10 discuss breakout #5 solutions (elie.info)
10:10 - 11:10 Advanced Stuff (Josh)
Lecture slides
11:10 - 11:30 breakout #6
11:30 - 11:40 discuss breakout #6 solutions
11:40 - 12:20 ipython/notebook (Paul/Fernando)
Notebook Tour - start "ipython notebook" in the same directory as you save this file, or drag this file into a running IPython Notebook Dashboard
Other notebooks - follow the links for .ipynb files, and then click on "raw" in the upper right to save the files directly
12:20 - 1 lunch
1-2:10 Object oriented programming (I) (Brad)
Lecture slides [pdf]
Lecture code [.py]
Breakout solutions [.py]
2:10-2:35 breakout #7
2:35 - 2:40 breakout #7 discussion of solution
2:40 - 4 Object oriented programming (II) (Josh)
Lecture (PDF)
Files (.tgz)
lecture_notes.py
4 start homework
Homework Assignment #2 (PDF)
a solution (change.py)
Another solution from Bootcamper Sabastian Werner: CookieJar.py
Sunday
8:30 - 9 review of homework (optional)
9-10 Development (I) (fernado)
Files (.tar)
Lecture (PDF)
import nose.tools as nt # assertion testing for non numbers
import numpy.testing as npt # numerical assertion testing
10 - 10:30 breakout + review
- buggy.py (fix with PDB)
- Nosetests & doctests:
Here's a broken version of the homework2 answer from last night: dirty_change.py
Your job is to fix it!
1. on the command line:
nosetests -vv dirty_change.py
2. hack that file until you get a clean set of tests
3. on the command line:
nosetests -vv --with-doctest --doctest-tests dirty_change.py
10:30-11:30 Development (II) (Stefan)
Lecture PDF
11:30 - 12:00 breakout:
git clone https://github.com/pkgw/bloomdemo.git
Take a look at the commit history
12:00 - 12:10 review
12:10 - 12:45 lunch
12:45 - 1:45 Scientific Programming (I) (Berian)
Lecture slides [pdf]
Notebooks: Scientific Programming, Problem 1 [nb, pdf], Problem 2 [nb, pdf]
Files: (.zip)
Answer notebooks: 1 [ipynb], 2 [ipynb] and 3 [ipynb]
1:45 - 2:10 breakout
2:10 - 3:00 Scientific Programming (II) (James)
Demo tarball (http://db.tt/EzWEnXlx)
3-3:15 breakout/coffee
3:15 - 4:15 Whetting your appetite (Brad)
Lecture PDF
Lecture code [.py]
Breakout solutions [.py]
4:15 - 4:30 breakout
4:30 - 5 What's next? (Josh)