pythonic science

CH410/510 Scientific Computing

  • The class will meet Mon and Wed at 9 am 1 hr, and then Fri for 2 hr.
  • In general, Mon and Wed will be instruction days where we cover new programming material. Fri will be an open “lab” where you will work on exercises in class.


  • Mike Harms OH: 12 pm Thursdays, Will 342)
  • Joseph Harman OH: 1 pm Wednesdays, Will 342)

Conceptual Goals

By the end of the course, students should understand:

  • Basic python: data types, key words, control, functions and imports
  • Core python extensions for scientists: scipy, numpy, and jupyter
  • Strategies for dissecting problems and formulating solutions in code
  • Where to go to pick up skills in the future as the need arises

Skill Goals

By the end of the course, students should be able to:

  • Write basic python programs from scratch
  • Identify existing libraries for a problem and learn how to use them
  • Generate arbitrarily complex custom plots
  • Simulate experimental sampling
  • Manipulate scientific datasets of the following types (at a basic level):
  • High-throughput sequencing data
  • Chemical structure data from databases such as the PDB
  • Images

Course schedule


Weekly assignments

  • There will be 8 labs.
  • We will (generally) start the labs on Fri in class.
  • They will be due the following Wed in class.
  • They can be turned in by email.


  • Breakdown:
    • 25% attendance
    • 25% final project
    • 50% labs (6.25%/lab)
  • Labs will be graded based on whether they are turned in, whether we can run the notebook, and whether they notebooks give the right results.
  • The final project will be graded according to the rubric given in the Final project description.

Indices and tables