Announcements | Summary | Readings | Software | Schedule

This page has moved to http://jon-jacky.github.com/uw_python/winter_2012/ -- update your bookmarks

Internet Programming in Python

Winter Term, 2012
(10 Sessions) Tuesdays 6 - 9 pm, January 3 through March 6, downtown Seattle.

UW Certificate Program in Python Programming, also includes Programmming in Python (Fall 2011) and System Development with Python (Spring 2012).

This program will be similar to last year: Autumn 2010, Winter 2011, Spring 2011.


Announcements and updates:

The schedule is updated every week, consult frequently (refresh your browser).

Dec 23: This page has moved to http://jon-jacky.github.com/uw_python/winter_2012/ -- update your bookmarks
Dec 14: My GitHub page from last year: https://github.com/jon-jacky/internet-python
Dec 11: Post this page with week 1 reading assignment.


Course objectives: This course emphasizes distributed programs and web applications - how they work and how to program them in Python. Students will explore the underlying principles and their expression in Python libraries. Students will learn contrasting approaches in creating applications: programming with the low-level libraries versus using highly integrated frameworks. All topics will be presented with a focus on solving real problems with simple, pragmatic code.

Prerequisites: Students should have successfully completed Programmming in Python or have an equivalent level of experience. Contact the instructor prior to registering if not in the certificate program.

Textbooks: There is no textbook. Various online sources will be used, see readings and schedule.

Instructor: Jonathan Jacky. See Fall term page.

Technology Requirements, Assessment criteria, Disability accommodation: See Fall term page.


Assigned readings

See the Schedule below for specific readings each week.

Reference

Python 2.6 Quick Reference (awesomely dense and complete)
Python 2.x documentation (official documentation from python.org)
Python Standard Library - Internet Protocols and Support
Python Module of the Week - examples of using the modules in the standard library.

Supplementary readings

Brian Dorsey's weekly readings from last year, Winter 2011
Miscellaneous links on Internet technology, history, and milieu


Software

Python: Students will need Python installed on their computers. See Fall term page.

Git: Students will need the Git distributed version control system installed on their computers. Here are directions for Windows, Mac, and Linux. When you are done you should have something similar to my GitHub page from last year: https://github.com/jon-jacky/internet-python

ssh, scp: Students will need ssh (secure shell) and scp (secure copy) installed on their computers to communicate with remote Linux hosts. These come already installed on Mac and Linux. For Windows, they are included in putty.


Schedule and assigments

Tuesdays 6 - 9 pm, January 3 through March 6 (10 sessions).

Additional topics and readings will be added, consult frequently (refresh your browser).

More readings are linked to Brian Dorsey's
page from last year, Winter 2011.

Week Date Topics Readings
1Jan 3 Tools
Distributed version control, GitHub
Linux, virtual machines, BlueBox
Installing Git on Windows, Mac, and Linux. More help from GitHub.
Git command summary (front, back), ingenious graphic summary. Miscellaneous Git links.

Learning the Linux command line.
Linux virtual machines hosted at Blue Box Group.
2Jan 10 Internet fundamentals
Packet switching, protocols, layers, and APIs
Sockets
tba
3Jan 17 Web fundamentals
HTTP and HTML
Web servers
tba
4Jan 24 Web clients
Screen scraping, HTML and XML
Web APIs: RPC, SOAP, and REST, JSON
tba
5Jan 31 Web applications from scratch
CGI and WSGI
tba
6Feb 7 Simple web frameworks
cherrypy, web2py, Flask, ...
tba
7Feb 14 Complex web frameworks I
Django
tba
8Feb 21 Complex web frameworks II
Django again
tba
9Feb 28 Python in the Cloud
Hosting services, Amazon EC2, Google App Engine, ...
tba
10Mar 6 Other topics (possibly covered throughout the term):
Authentication, session management, security
Testing methods and tools
Network engineering and monitoring
tba

Announcements | Summary | Readings | Software | Schedule

Jonathan Jacky, jon at u dot washington dot edu