1. What Python Can Do for You

  1. Why we program; what we're learning; what we're not (Terry Lang)
  2. The very basics: Hello, World! Variables, and Printing (Matt Davis)

2. Organizing and Storing Data

  1. Lists, Dictionaries, Tuples, and Sets (Terry Lang)
  2. Fancy Data Structures (Matt Davis)

3. Making the Computer Make Decisions

  1. Logical tests and the Nature of Truth (Matt Davis)
  2. Loops and Escapes (Terry Lang)

4. Reading, Writing, Using LOTS of Data; and Using Other People's Code

  1. Files: Readin' 'Em and Writin' 'Em (Matt Davis)
  2. Functions, Modules, and Pickles (Matt Davis)

5. Interacting with the Outside World

  1. Common errors, Print debugging, and Exception Handling (Matt Davis)
  2. System Calls, Running BLAST, Introduction to the Projects (Matt Davis)

6. How to Be Good: Best Practices, iPython, and the Debugger

  1. Best programming practices, and more about the projects (Matt Davis)
  2. Interpreter, debugger: things to try when you're stuck (Matt Davis)

7. Data Processing

  1. All by ourselves: Mapping Reads to the Genome (matching, slices, indices) (Matt Davis)
  2. Mapping Reads to the Genome with Bowtie (advanced sorts, parsing output) (Matt Davis)

8. Numerical Computing and Data Analysis

  1. NumPy, SciPy, Pylab: Numerical computing and data analysis (Matt Davis)
  2. Graphing (Terry Lang)

9. Connecting Sequence with Structure and Function

  1. Structure Gazing with Chimera (Terry Lang)
  2. Fitting Data (Terry Lang)

Sticking with it

  1. Other modules of interest, how to find them, how to use them (Rich Price)
  2. Bring your project to class day! (Everybody, now!)