Home
Overview
Topics
Classes
Availability
About Us
Contact Us

Python Training Services

Topics

[python]

Our Python course provides an in-depth and hands-on introduction to the Python programming language, and introduces the most common Python application domains and tools.  It stresses core concepts, up to date language features, and best practice in the Python programming world.  Students of this class are empowered to apply Python to their day-to-day programming tasks.

Our classes are taught in English.  They are delivered by Python author and trainer Mark Lutz, a pioneering figure in the Python world, with 15 years experience teaching Python.  Besides writing the best-selling Python books that this class is based upon, Mark has taught some 250 Python classes, to roughly 4,0000 students.  For information about our instructor, see his bio page.

As of 2011, our class covers both Python 2.X and Python 3.X, to a degree which depends upon client needs and interests.  Although most students today still use 2.X code and systems, 3.X features are introduced if they a part of your present or future goals.

This page describes the topics, structure, and prerequisites of the standard 3-day course session.  On this page:


Class Topics

The standard offering is a general Python course, composed of four main sections:

  1. Introducing Python
  2. Python Fundamentals
  3. Python Applications
  4. Resources

Full Course Outline

For a detailed course topics outline in both HTML and PDF formats, please click here.


Class Structure

New: See also the hourly class session schedule showing how a typical 3-day class allocates lecture and lab times.

A full 3-day session covers the Python Fundamentals material on days 1 and 2, and turns to the Python Applications topics on day 3.  However, this can vary based upon student skill level and interaction.

For example, some clients have opted to extend the Basics topics to 3 days to help beginners, and add extra days to focus on the more advanced applications topics.  Other clients have reserved time in the schedule for specific topics.  Class speed is very flexible, and can be tuned during the class itself.

Lab Work

This course is designed to provide a hands-on, interactive learning experience.  To the end, the course includes approximately 30 minutes of lab work after each hour of lecture and Q&A time.  Lab sessions are generally run four times per day.  The lab sessions are a crucial learning component of the class, and are strongly recommended.

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, object persistence, and more -- and are sometimes conducted as a group effort.  Answers to all lab exercises, as well as source code for all examples, is provided on student CDs with the course materials.

Course Per-day Schedule

A typical 3-day course with lab time runs 8 hours per day, with 1-hour breaks for lunch each day.  Although the exact schedule varies per student needs and interests, the course generally provides 4 to 5 hours of lecture and Q&A per day, with 4 lab sessions each day lasting 30 to 45 minutes each.  Lab session times tend to be longer on the first two days (for core language topics), and shorter on the third (for advanced topics).  In total, for a 3-day class, that comes out to an average of 14 hours of lecture and Q&A, 7 hours of lab time, and 3 hours for lunch breaks.


Class Prerequisites

This class is primarily targeted towards programmers, from novice to expert.

There are no formal prerequisites for this class, but prior exposure to any programming or scripting language in the past is recommended, especially for the advanced application topics of the final class day.  Even so, the class starts off slowly, and by the time we reach the more advanced topics later in the session, students will know enough Python to keep up with the materials.  Students do not need to know anything about Python itself to take this class.

What about true beginners?

Beginners often ask if this class will be too advanced for them.  While this depends on a variety of factors, my general answer is maybe, but it depends on how hard you're willing to work.  If you are relatively new to programming but motivated to learn, this class can work for you.  Although we do cover all of Python, and don't spend much time covering the basic ideas behind programming itself, this class has been presented to both experienced developers and relative beginners with success in the past.  If you show up ready to learn, there is probably no language better suited for learning programming with than Python.

Having said that, if you have never used any programming or scripting language in the past, you may find some of the class challenging, especially its later topics.  For this reason, we generally recommend some programming background.  Because this varies largely by student motivation levels, though, this is not an absolute rule.  Indeed, some beginners have done better than self-proclaimed experts in past classes, so motivation can often count as much as experience. 


[Python Logo]lutz@learning-python.com | other contacts