Skip to content

Triangle Python Users Group: TriPython (formerly TriZPUG)

Sections
Personal tools
You are here: Home » Boot Camps » Python Web Programming Workshop 2013 » Registration Open for Python Web Programming 2013

Registration Open for Python Web Programming 2013

Document Actions
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.

Register now and get the early bird discount.

WHEN: 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.

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 Class 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 Class 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 Wi-Fi capable Laptop Computer
We will be fetching resources from the network regularly. You will need to be able to ensure that your network connection works
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.