Learning Python
Boulder Sessions Page
Looking for professional Python training? Mark Lutz, author of multiple O'Reilly Python books, now teaches a general 3-day Python training course at Tom Christiansen's training site in Boulder, Colorado. These course sessions are open to individuals, and are filled on a first-come first-served basis. Come learn about an exciting object-oriented scripting language, and enjoy the beautiful Rocky Mountain region during your stay.
Python is a popular object-oriented scripting language, used for a wide variety of programming tasks. In this class, Mark provides an intensive, hands-on introduction to the Python language, as well as common Python tools and applications. Through lectures and laboratory work, students learn the basics of Python programming. In addition, each student receives a 250-page course workbook filled with material and examples used in the course, along with the new Python training CD-ROM containing course material in HTML form as well as Python documentation and distributions.
This document describes the course outline and schedule, and the instructor's background. It is composed of the following sections:
For all contact, schedule, and fee information related to the Boulder sessions of this course, please visit Tom Christiansen's web site, at training.perl.com. This subpage also lists upcoming courses. Tom's company is handling all administrative and registration support for this class. At this time, the next Boulder session is scheduled for May 24-26 (the last was held February 15-17), but check Tom's site for up-to-date details. In addition to these Boulder sessions, this class is also taught on an on-site basis, at your company or organization, and on demand in Longmont Colorado if you can't make one of the Boulder sessions. For information about the on-site version of this course, please visit this page: mytrain.html.
Mark Lutz is a Python trainer, writer, and software developer, and is one of the primary figures in the Python community. He is the author of the O'Reilly books Programming Python and Python Pocket Reference, and co-author of Learning Python. Mark has been involved with Python since 1992, and began teaching Python classes in 1997. In addition, he holds BS and MS degrees in computer science from the University of Wisconsin, and has worked on compilers, programming tools, scripting applications, and assorted client/server systems. Mark can be reached by email at lutz@rmi.net, or on the web at http://starship.python.net/~lutz/home.
This section describes the high-level outline for the full 3-day version of this course.
Besides the training materials (workbook and CD), each student will also receive copies of Programming Python and Python Pocket Reference, from O'Reilly & Associates. The course will refer to examples, sections, and exercises in these books. The new O'Reilly book, Learning Python may also be useful as a course supplement, but is optional reading; much of it is the same as class materials, because this book was largely based upon this class.
This course is designed to provide a hands-on, interactive learning experience. The course includes 30 minutes of lab work after each 1 hour of lecture time. Lab sessions are scheduled four times a day, with extra time at the end of the day for further work. The labs ask students to write simple programs, as well as modify pre-coded examples. Later exercises demonstrate more advanced concepts and tools (simple Tkinter GUIs, C integration, etc.). The final lab on day 3 also points students to online Python resources. Answers to all lab exercises, as well as source code for all examples, is provided on the lab machines and on the course CD.
To give you a better idea of what the course will be like, here is a typical schedule for the 3-day course with lab time. The class generally runs 9-5 each day, with 4 hours lecture and 4 30-minute labs each day.
Day 1
General Python introduction 30 min 9:00 - 9:30
Using the interpreter 30 min 9:30 - 10:00
lab 1 30 min 10:00 - 10:30
Types and operators 1 hour 10:30 - 11:30
lab 2 30 min 11:30 - 12:00
lunch 1 hour 12:00 - 1:00
Basic statements 1 hour 1:00 - 2:00
lab 3 30 min 2:00 - 2:30
Functions 1 hour 2:30 - 3:30
lab 4 30 min 3:30 - 4:00+
extra time 1 hour
Day 2
Modules 1 hour 9:00 - 10:00
lab 5 30 min 10:00 - 10:30
Classes 1 hour 10:30 - 11:30
lab 6 30 min 11:30 - 12:00
lunch 1 hour 12:00 - 1:00
Exceptions 30 min 1:00 - 1:30
Built-in tools 30 min 1:30 - 2:00
lab 7 30 min 2:00 - 2:30
System interfaces 30 min 2:30 - 3:00
GUI programming 30 min 3:00 - 3:30
lab 8 30 min 3:30 - 4:00+
extra time 1 hour
Day 3
Python object persistence 1 hour 9:00 - 10:00
lab 9 30 min 10:00 - 10:30
Text processing 30 min 10:30 - 11:00
Internet scripting 30 min 11:00 - 11:30
lab 10 30 min 11:30 - 12:00
lunch 1 hour 12:00 - 1:00
Extending Python in C/C++ 1 hour 1:00 - 2:00
lab 11 30 min 2:00 - 2:30
Embedding Python in C/C++ 1 hour 2:30 - 3:30
lab 12 30 min 3:30 - 4:00+
Packages and resources 30 min 4:00 - 4:30
extra time 30 min
This class has been successfully presented to non-programmers and programmers alike. It assumes that you know the basics of using a computer (how to edit text files, type at a command line, and so on), and is generally aimed at students who are already comfortable with the basic concepts behind computer programming. Familiarity with at least one other programming language will help, though is not strictly required to take this class; topics will be introduced gently enough for most beginners to absorb. For later units, a cursory knowledge of particular application domains and C programming is helpful, but is also not required.
Copyright 2000, by Mark Lutz
Back to my main training page
Back to my home page