UW Certificate Program in Python Programming
Spring Term, 2011
(10 Sessions) Tuesdays 6 - 9 pm, April 5 through June 7.
This program also includes Programming in Python (Fall 2010) and Internet Programmming in Python (Winter 2011).
Summary: This course is a will primarily be a studio/lab/clinic, where students (working individually or in groups) will do a capstone project of their own choosing that applies and consolidates what they learned in the first two courses.
Each meeting will also include a presentation by instructors, guests, or students. See the provisional schedule. The prepared presentation, including questions and discussion, will be limited to one hour per class.
Two hours per class will be devoted to project work. An instructor will meet with each student for twenty minutes in turn (each student working in a group will get the full twenty minutes). Each twenty minute appointment will be scheduled at least a week in advance. Students should prepare questions or discussion points for their appointments in advance. Students will present their projects to the class on the last day.
Instructors: Jonathan Jacky and Brian Dorsey. See Fall and Winter course pages for more details.
Here is a provisional schedule of possible presentation topics.
Week | Date | Topics and links |
1 | Apr 5 |
Integrating a Python web application with client code:
Javascript, Ajax, canvas, ... Jon, with guest speaker Jon Crump. Lecture notes here. Interferometic Qubit Meaurement, explanation here. Server code: spino.py, spinometer.py. Client code: spin-sim.html (view source), simAnim.js. |
2 | Apr 12 |
Testing: doctest, unittest, ... Brian Files: lecture slides, truth.py, doctest_example.txt, unittest_example.py |
3 | Apr 19 |
Testing: py.test, nose, program testing, automated testing Brian, Jon py.test & nose: lecture slides, truth.py, test_truth.py, doctest_example.txt, test_unittest_example.py notes, program testing: trun.py, clogdiff, test_ls.py, alternatively test_ls_unit.py, automation: generators, model-based testing. |
4 | Apr 26 |
Graphics and GUI protgramming: wxPython, object-oriented programming, and events Jon
notes,
GNU Radio,
wxPython:
reference
(etc.),
tutorial (another
here). |
5 | May 3 |
Doing several things at once: events, threads, and processes Jon
notes,
advice,
libraries
(etc.), and
systems |
6 | May 10 |
Asynchronous network frameworks: Greenlets, ... Brian
lecture slides and
notes. |
7 | May 17 |
Connecting Python to other languages: C-API, SWIG, and Cython Jon
notes
with many more links in addition to these:
also, PyPy
(more here),
and the PyPy Speed Center.
|
8 | May 24 |
Distributing and installing Python modules: distutils and PyPI, also setuptools, easy_install, pip, virtualenv, fabric, ... Jon
notes
with more links in addition to these: detailed explanation and critique of packaging tools by Distutils2 author. |
9 | May 31 |
Distributing Python programs: p2exe, cx_Freeze, pyInstaller, py2app, bbfreeze, ... Brian |
10 | Jun 7 |
Presentations of student projects. All |
Jonathan Jacky, jon at u dot washington dot edu