Wednesday 9 a.m.–12:20 p.m.
Web programming from the beginning
*What’s the web all about anyway? How can you make your computer talk to other computers with Python?* Modern web frameworks such as Django and Flask are immensely powerful. However, these useful tools obscure the foundations of network programming upon which they are based, which can be very helpful to understand. So instead of building useful applications with these libraries, let's experiment with sockets! At this tutorial, a Python-flavored history of the web will be presented and attendees will write or modify a TCP chat client, a static site web server, an HTTP client, a CGI script, and a WSGI-compliant server and web application. We will learn what all those things are and how they fit together, bringing the architecture of modern web apps into better focus. The material will be accessible to participants with no web development experience, however, they must be able to write and run Python scripts at the command-line. This tutorial might appeal to someone also attending an introductory web development tutorial, but it covers separate, complementary material. Web development experience is not required but a little exposure would be helpful; for instance, installing flask and running the minimal application on the [quickstart page](http://flask.pocoo.org/docs/0.11/quickstart/). Similarly, prior exposure to HTML would be useful but is not necessary.
No handouts have been provided yet for this tutorial