Skip to content
PythonCHB edited this page Jun 15, 2012 · 17 revisions

Introduction to Programming in Python

UW continuing Education Program for EMC/Isilon, Inc.

Wednesdays 6 - 9 pm: Jun 20th to Sept 5th (10 Sessions)

  • Starting Wednesday June 20th (10 Sessions)
  • No class July 4th
  • No class August 15th
  • Final class September 5th

NOTE: in the spirit of the dynamic nature of Python, the Syllabus (and the class) will be a dynamic document -- evolving as the class progresses. The general structure is fixed, but the details will change.

Python Version:

There are two main supported versions of Python: the 2.* series and the 3.* series (py3k). In this class we will be using "cPython" version2.7, the version distributed by python.org

Approach:

This class assumes a basic knowledge of programming. Thus I will try to emphasize what is unique about Python, with less focus on general programing concepts.

One learns programming by doing -- I'll be demonstrating as I talk about concepts, and I will pause frequently to give you a chance to try things out, so plan on having a laptop up and running with python and your text editor of choice.

Homework:

There will be weekly homework assignments. They will usually be flexible to allow for students varying time constants. However, you learn by doing, so I do encourage you to put some time in to the homework. I will review your work, and do a mini code-review of selected assignments during class.

Class format:

Each class will be broken down something like this:

  • 20 minutes talk
  • 20 minutes exercises
  • 5 minute lightning talk
  • 20 minutes talk
  • 20 minutes exercises
  • 5 minute lightning talk
  • 20 minutes talk
  • 20 minutes exercises
  • 5 minute lightning talk
  • 20 minutes talk
  • 20 minutes exercises

(there will be no official breaks, but we should all feel free to move about during lab/exercise time)

Textbook(s):

The primary textbook comes in two versions: a printed book: Python for Software Design, and a free online version: Think Python.

Despite the different titles, the two versions have the same contents.

We we also be making much use of: Learn Python the hard way, also available online and in a dead trees version.

Optional texts:

There are many good books and resources online and in dead trees versions. A few notable ones:

The "Official" Python docs:
A good place to go for reference, and not a bad tutorial.
Dive Into Python
Dive Into Python is a getting pretty old and has not been updated for a good while -- nevertheless, thre is a lot of good stuff in there.
Python Essential Reference:
The definitive reference for both Python and much of the standard library.
Learning Python
This was the best intro book back when I learned in 1999...

... and many others

Class Schedule:

Week 1: General Introduction, basic data types, etc.

June 20

Week 2: Functions. Modules, Control Flow

June 27

Week 3: Files, Exceptions, Unicode, Text Processing

July 11

Week 4: Built in container classes, Argument passing, List comprehensions.

July 18

Week 5: Build a dynamic HTTP server from scratch.

July 25

Week 6: Object-oriented programming

August 1

Week 7: Special methods, Iterators and Generators. Decorators.

August 8

Week 8: Debugging, Packages and packaging

August 22

Week 9: Databases - relational and otherwise

August 29

Week 10: Testing.

September 5

Clone this wiki locally