Python Master Classes

with David Beazley
Author of the "Python Essential Reference"
5412 N Clark Street #218
Chicago, IL 60640
Follow dabeazllc on Twitter

Am I Prepared?

My "Practical Python Programming" course is designed for people who already have some programming experience. Although no Python experience is assumed, you should be generally familiar with the following programming concepts:

  • Variables
  • Basic types of data (integers, floating point, strings, etc.)
  • Conditionals (if-else)
  • Looping (while-loops, for-loops, etc.)
  • Simple data structures (e.g., arrays)
  • Simple functions, subroutines, or procedures
  • Reading and writing data from files
  • Pointers/references.

Although Python is an object oriented (OO) language, no prior experience with object oriented programming is assumed. The course will introduce classes and basic concepts from OO. However, it is not a bootcamp on object oriented software design.

Other Useful Topics

The class is strongly focused on practical problems faced by programmers. As such, some additional background knowledge will be useful. None of these topics are strictly required, but certain parts of the course will touch on them:

  • HTML
  • XML
  • URLs
  • Relational databases (SQL)
  • Regular expressions
  • Subprocesses.
  • Binary vs. text encoded data.

A Sample Problem

Here is an example problem that you should be able to solve in some programming language (not necessarily Python). If you don't have the slightest idea how you would even start, then you're probably not ready.

Suppose the file portfolio.dat contains information about some stocks that you purchased. There are three columns showing the name, number of shares, and purchase price.
AA 100 32.20
IBM 50 91.10
CAT 150 83.44
MSFT 200 51.23
GE 95 40.37
MSFT 50 65.10
IBM 100 70.44
A different file, prices.dat, contains a list of current stock prices. The columns in this file are the stock name and price.
GOOG 509.71
YHOO 28.34
IBM 106.11
MSFT 30.47
AAPL 122.13
SUNW 5.01
AA 39.91
CAT 78.58
GE 37.38
HPQ 38.15

Write a program that reads the stock portfolio in portfolio.dat, the stock prices from prices.dat, and prints out how much the entire portfolio has increased or decreased in value.

I already know some Python, will I be bored?

I frequently teach my "Practical Python Programming" course to programmers who are already writing Python scripts--they usually walk away wanting to rewrite all of their existing code.

Although the first part of this class may be review, this is a fully modern course on Python programming. Unless you have been carefully following every change to the language across every release, you will learn new tricks and techniques. It is common for programmers with past Python experience to discover that they have solving certain problems the "hard way." Other parts of the course cover topics that often get overlooked (for example, generator functions).

Copyright (C) 2009-2013, Dabeaz LLC. All Rights Reserved.