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.

Course overview

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.

Course details

This document describes the course outline and schedule, and the instructor's background. It is composed of the following sections:

  1. Instructor background
  2. Course topics
  3. Text books
  4. Lab work
  5. Daily schedule
  6. Prerequisites

Contacts and schedule

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.


Instructor background

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.

Course topics

This section describes the high-level outline for the full 3-day version of this course.

  1. Introducing Python
  2. Python Basics
  3. Python Applications
  4. Where to go from here?

Text books

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.

Lab work

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.

Daily schedule

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

Prerequisites

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