Python Course Descriptions

Author: Dave Kuhlman
Revision: 1.0a
Date: Feb. 23, 2006
Copyright: Copyright (c) 2005 Dave Kuhlman. All Rights Reserved. This software is subject to the provisions of the MIT License


This document provides descriptions of courses on Python that I am prepared to deliver.


1   Beginning Python

This course is intended for those who are new to Python, but have some familiarity with another programming language.

Here is a course outline.

  1. Session 1 -- Introductions Etc

    1.1. Resources

  2. Session 2 -- Lexical matters

  3. Session 2 -- Built-in datatypes

3.1. Tuples and lists

3.2. Strings

3.3. Dictionaries

  1. Session 3 -- Classes

4.1. Classes

4.1.1. The constructor

4.1.2. Member variables

4.1.3. Methods

4.1.4. Class variables

4.1.5. Class methods

4.2. Interfaces

4.3. New-style classes

  1. Session 4 -- Functions

5.1. Functions

5.1.1. Arguments

5.1.2. Return values

5.1.3. Global variables and the global statement

5.2. Packages

5.3. Debugging tools

  1. Session 5 -- Statements Part 1

6.1. Statements

6.1.1. Assignment

6.1.2. import

6.1.3. print

6.1.4. if: elif: else:

6.1.5. try: except:

6.1.6. raise

  1. Session 6 -- Statements Part 2

7.1. Statements (cont'd)

7.1.1. for

7.1.2. while

7.1.3. continue and break

  1. More Python Features and Exercises

2   Advanced Python

The advanced course is based on the on-line course "Python 201". See: Python 201 -- (Slightly) Advanced Python Topics.

3   Jython for Java Programmers

Note that first part of this course roughly follows the outline for the Beginning Python course.

Features specific to Jython.

Course outline:

  1. Introduction to Python -- See Beginning Python, above
  2. Introduction to Jython:
    1. What is Jython?
    2. Differences between Jython and CPython
    3. Installing Jython
    4. Running Jython
    5. Calling Java from Jython
    6. Preparing Java code to be called from Jython
    7. Compiling Jython to and for Java
    8. Calling Jython Code from Jython
    9. Calling Jython Code from Java
    10. Embedding and Extending -- A Summary
    11. Additional Exercises

4   Numerical Python -- SciPy

This course provides an introduction to SciPy. It is intended to serve as an introduction to numerical programming in Python with SciPy for those who are new to the use of numerical tools for Python. A mathematical background would be helpful and, in particular, will help the student to get more benefit from the course. But, it is expected that the student will still benefit from the course, with or without that background.