Internet Programming with Python

This tutorial introduces current Python programmers to 3-4 distinct areas of Internet programming, each in self-contained (approximately) 1-hour lectures (unless otherwise noted) with a demonstration of code on each lecture topic.

Presenter

WESLEY J. CHUN, MSCS, is author of Prentice Hall's bestseller, "Core Python Programming" (http://corepython.com), its video training course, "Python Fundamentals" (LiveLessons DVD), and co-author of "Python Web Development with Django" (http://withdjango.com). In addition to being an architect at Slide, he runs CyberWeb (http://cyberwebconsulting.com), a consulting business specializing in Python software engineering and technical training. He has over 25 years of programming, teaching, and writing experience, including more than a decade of Python. While at Yahoo!, he helped create Yahoo! Mail and Yahoo! People Search using Python. He holds degrees in Computer Science, Mathematics, and Music from the University of California.

Requirements

Developers familiar with Python who are interested in exploring client/server network programming with sockets, Internet client (FTP, NNTP, e-mail), development and web programming. Bring a laptop to try out examples in lecture. All of the code used can either be found in "Core Python Programming" (2007: Prentice Hall) or "Python Web Development with Django" (2009: Addison Wesley).

We will have a mix of both lecture and hands-on during our tutorial session. in order to maximize your experience, i recommend some setup before coming to the tutorial on Thursday:

  • Download the latest version of Django at http://djangoproject.com ... it should be 1.0.2+.
  • Have an email account with POP or IMAP access... this will allow you to write an app to download your own email! if you do not have such an account, apply for a gmail (Google Mail) account as it offers both types of access.
  • Have an email account that allows for sending via SMTP... this will allow you to write an app that sends email. similar to POP/IMAP access above, if you don't have such server access, then again, get a gmail account as Google does offer (a restricted form of) this access.
  • And although I will not be discussing Twisted, there are some equivalent code samples using Twisted code contained in the tutorial notes.

Class Outline

  • Network Programming using Sockets -- underneath all of today's network protocols, i.e., web/HTTP, FTP, database connections, IM conversations, online gaming, e-mail exchange, etc., lies the root communication mechanism, sockets. Here, we introduce client/server architecture and how to program sockets using Python.
  • Internet Client Programming -- one level higher than sockets are well-known Internet protocols such as FTP, NNTP, POP3, and SMTP. We'll learn how to use Python's standard library to create clients of those and other Internet protocols. (~40min)
  • Web Programming -- yes, pure CGI is "sooo yesterday," but before you jump on all the web framework bandwagons, it's a good idea to learn basics and the basis of how all web servers deliver dynamic content back to the client browser so that you can appreciate all the work that is done on your behalf by a more full-featured framework.
  • Intro to Django -- time-permitting, we will go one more level up, with a lightweight introduction to Django. You will be able to build an extremely simplistic blog in about 20 minutes! If you find the existing Django tutorials all filled up, here is your "out."

Diamond

  • White Oak Technologies Inc. - Diamond

Platinum

  • Google - Platinum
  • Sun - Platinum

Gold

  • ESRI - Gold
  • CCP Games - Gold
  • Visual Numerics, Inc. - Gold
  • Microsoft - Gold
  • Slide.com - Gold
  • Walt Disney Animation Studios - Gold

Silver

  • PSC Group - Silver
  • Enthought - Silver
  • Canonical - Silver
  • Imaginary Landscape - Silver
  • Wingware - Silver
  • ITA Software - Silver
  • Accense - Silver
  • Resolver Systems - Silver
  • Leapfrog Online - Silver
  • Emma Email Marketing - Silver
  • ZeOmega - Silver
  • Oracle Technology Network - Silver
  • VMware - Silver
  • Tummy.com - Silver

Vendor I

  • O'Reilly - Vendor I
  • Informit - Pearson Publishing - Vendor I