Python Web Programming Workshop 2013
University of North Carolina at Chapel Hill Department of Marine Sciences hosts the inaugural Python Web Programming Workshop. Previously taught as a one semester course at the University of Washington as part of the UW Certificate in Python Programming, this five day workshop emphasizes network-based programming and Web applications, how they work and how to program them in Python. Explore the underlying principles and their expression in the Python libraries. Learn contrasting approaches in creating applications: programming with the low-level libraries versus using highly integrated frameworks.
 |
Noted expert Cris Ewing is your guide to Python web programming.
|
|
For more information, please email cris@crisewing.com.
|
|
When and Where
- WHEN: Monday through Friday, August 5-9, 2013
- WHERE: Classroom 332, Phillips Hall, 120 East Cameron Avenue, The University of North Carolina, Chapel Hill, NC.
This workshop takes place in a state of the art high technology classroom. Wired Ethernet networking and AC power are provided at every seat. A video projection screen monitors the presentation computer at the front of the room. The seating is conference style where you can spread out. Restroom facilities are just down the hall.
Check-in occurs at 8:30am on the first day. Class starts at 9am each following day. Class runs until 5pm each day.
Registration schedule:
- Complete by Friday, June 28 for early bird registration ($275).
- Complete by Friday, July 19 for regular registration ($300).
- Complete by Monday, July 29 for late registration ($350).
|
 |
Classroom 332 Phillips Hall - view from seats. |
 |
Classroom 332 Phillips Hall - view from podium. |
|
What To Expect
This one-week course will cover the fundamental concepts of networked
programming in Python. You'll learn everything, starting from the protocols
that power the internet and the sockets that enable communications between
processes and machines, right up to the full-stack frameworks that enable
developers to build rich applications efficiently.
Along the way, you'll learn through a combination of lecture and activity.
Historical information will be combined with exercises designed to help you
learn the Pythonic way to create programs that interact with each-other across
networks. Each module will include reading lists for more information and
ideas for projects you can use to help cement the lessons you learn after the
the class is over.
What This Workshop Is:
The goal of the course is to give students a solid grounding in the
fundamental underpinnings of network programming. In addition, you will gain a
basic understanding of a broad range of Pythonic tools and learn to choose the
right tool for a given task.
What This Workshop Is Not:
There are other training courses available that will teach you a web
framework in depth. This is not one of them. You will learn basic usage for
the frameworks covered as well as the choices and compromises that shape
them.
You Will Learn:
- The TCP/IP stack
- The sockets module
- Communications protocols like SMTP, IMAP and HTTP
- Network API tools like XML-RPC, SOAP and REST
- Dynamic network applications using CGI and WSGI
- Data persistence models including the filesystem, SQL databases and Object
Stores
- Template systems like Jinja2 and Chameleon
- Framework programming, including Flask, Django and Pyramid
You Will Build:
- A fully functional, basic HTTP server
- A "mashup" application combining several online APIs
- Three iterations of a simple web application using Flask, Django and
Pyramid
You Will Need:
- Basic Python Programming Skills
- This is not a beginning Python course. A basic understanding of the
fundamental syntax and structures of Python will be required.
- Basic Knowledge of HTML
- You should know enough to be able to create a page with headers, lists and
forms
- Working Knowledge of a Text Editor
- You must to be able to create, edit, save and delete files quickly and
comfortably
- Working Knowledge of the Command Line
- You must be able to change directories, run commands and manage files
(create, copy and remove)
- A Network Enabled Laptop Computer
- We will be fetching resources from the network regularly. Wired network
access is available in the room, but you will need to be able to troubleshoot
any connection issues for your own machine
- Python 2.6 or 2.7
- Although some of the tools we will cover have been ported to Python 3.x,
not all have. We will also use some language features that were introduced in
2.6, so that is the minimum viable version for this class.
Your Workshop Guide
Your workshop guide is Cris Ewing, a prolific open source programmer. Cris Ewing has been working with Python web programming long enough to know where the stumbling blocks and blind spots are. He has managed projects of all sizes, from small community sites to large sites with thousands of pages. Cris has nearly two decades of teaching experience and has delivered lectures, taught courses and mentored students and programming teams across the US, in Mexico and in China. His 14 years of experience as a professional web programmer stretch from static websites and CGI to today's most cutting-edge dynamic web technologies.
Participants
See the participant list updated daily.
|