Python Master Classes

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

Target Audience:

This class is for programmers who already have some experience with another programming language such as Java, Perl, PHP, C, etc. Prior experience with Python is helpful, but not required as long as you are familiar with common programming concepts.

Next Course Date:

  • August 31-September 2, 2011.

Instructor: David Beazley

Price:

  • $500

What's Included?

  • A printed copy of the course notes.
  • A copy of the "Python Essential Reference, 4th Ed."
  • Breakfast and lunch at local restaurants
  • Snacks
[ Register | More Information |

Practical Python Programming (Chicago Edition)

[3 days] Learn Python programming and hack the city of Chicago in this experimental mash-up of Dave's Practical Python Programming course and Chicago's open data portal. The core course content is based on the same Python material Dave regularly teaches on-site to scientists and engineers. However, all of the course exercises have been reworked to have some kind of interesting Chicago spin. A major theme of the course is on how to use Python for data manipulation. This includes reading from files, interacting with online data services, and using popular extensions to Python such as numpy and matplotlib. It will be fun!

Major topics include:

  • An introduction to python
  • Working with data and collections
  • Program organization and functions
  • Modules and libraries
  • Numpy and matplotlib
  • Classes and objects
  • Iterators and generators
  • Text processing and parsing
  • Files and the file system
  • Interacting with REST-based APIs and web services.

More than half of the course will be spent programming and working on exercises. On the last day, you'll spend some time working on an application to impress your friends and coworkers!

Important Disclaimer: This course is not in any way affiliated with or endorsed by the city of Chicago. The course registration fee is intended to cover basic course expenses. All remaining proceeds will be donated to the Greater Chicago Food Depository.

Course Outline

  1. Introduction to Python. An introduction to the Python programming language. Covers details of how to start and stop the interpreter and write programs. Introduces Python's basic datatypes, files, functions, and error handling. Also includes information on accessing REST-based APIs, Unicode, XML, JSON, and essential I/O principles needed to write scripts that interact with web-services.
  2. Working with Data. A detailed tour of how to represent and work with data in Python. Covers tuples, lists, dictionaries, and sets. Students will also learn how to effectively use Python's very powerful list processing primitives such as list comprehensions. Finally, this section covers critical aspects of Python's underlying object model including variables, reference counting, copying, and type checking.
  3. Program Organization and Functions. More information about how to organize larger programs into functions. A major focus of this section is on how to design functions that are reliable and can be easily reused in other settings. Also covers technical details of functions including scoping rules, documentation strings, and exception handling.
  4. Modules and Libraries. How to organize programs into modules and details on using modules as a tool for creating extensible programs. This section concludes with a overview of some of the most commonly used library modules and instructions on how to install third party library modules. Some of the standard library modules covered in this section include those related to the file system and file handling, subprocesses, regular expressions, XML, data serialization, and database access. An overview of numpy and matplotlib is also included.
  5. Classes and Objects. An introduction to object-oriented programming in Python. Describes how to create new objects, overload operators, and utilize Python special methods. Also covers some basic principles of object oriented programming including inheritance.
  6. Generators. Covers the iteration protocol, generators, and generator expressions. A major focus of this section concerns the use of generators to set up data processing pipelines--a particularly effective technique for addressing a wide variety of common systems programming problems (e.g., processing large datafiles, handling infinite data streams, etc.).
Copyright (C) 2009-2011, Dabeaz LLC. All Rights Reserved.