Download PDF


  1. Learn the fundamentals of programming in the Python language so that you can automate a variety of common tasks, such as searching through documents, downloading files, or altering/editing texts.

  2. Understand the basic higher-order concepts of programming that Python enables, including the difference between different styles of programming–including imperative, functional, and object-oriented paradigms in python; and understand differnet data types and some fundamental data structures.

  3. Be able to understand the social constraints and goals of computer languages–why does that tool not do what I want it to? How are larger programs designed and fit together?

  4. Know how to use the fundamental infrastructure behind most modern programming projects, including iPython, git/Github, and the command line; know how to find and re-use existing code for your purposes.