Course Objectives
Attendees completing this class should have a good working knowledge of the core Python language, be able to design and create Python objects, classes and modules, as well as have the ability to build a variety of tools and applications. Students will also be prepared to delve deeper into language fundamentals as well as tackle specific areas of application development taught in the following course, Advanced: Python Applications Programming.
Classes
Internet programming with Python
Python is an interpreted, cross-platform, object-oriented programming language that is popular for a wide range of applications, one of which is Internet programming. This tutorial introduces current Python programmers to a variety of distinct areas of Internet programming, each in self-contained modules with a lab session to hammer the concepts home. Topics for this 1-day course:
- Network Programming using SocketsUnderneath 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 ProgrammingOne level above the socket layer are well-known Internet protocols such as FTP, NNTP, POP3, and SMTP. In this section, we learn how to use Python's standard library to create clients using those protocols to transfer files, send and receive e-mail, and read Usenet newsgroup postings. (You must have your own news and mail servers, however. Contact your ISP to get the required connection information.)
- Web/CGI ProgrammingYes, 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.
- Introduction to DjangoThe final segment features a high-level introduction to the Django web framework. We will learn about its components and how to to use it to implement a simple web log (blog) application. This example can be found in the upcoming book, Python Web Development with Django.
Attendees will get a concise and comprehensive introduction to each of these Internet and networking related topics. Students completing this course should have a good introduction in three distinct areas of Internet programming using Python and should being able to create simple applications in each of covered subjects.
Prerequisite: You should have experience programming in Python and are interested in exploring a variety of areas of Internet application software development.
Required Software: A Python interpreter is required for this course. Any Python interpreter will do, from the standard C version to one of the various implementations described above. For the Internet protocol exercises, attendees must use their own news and mail servers. (Contact your system administrators or your ISP to get the required connection information.) Finally, download the latest Django software for the last component of the course.
Required Hardware: A laptop/notebook or otherwise portable computer is required for the course exercises. Attendees may use any platform where Python is available. Bring your power cord! A network or wireless card is optional but useful in case you wish to bring more than one computer and wish to truly test your networking code.