========================== Python Course Descriptions ========================== :author: Dave Kuhlman :address: dkuhlman@rexx.com http://www.rexx.com/~dkuhlman :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 http://www.opensource.org/licenses/mit-license.php. :abstract: This document provides descriptions of courses on Python that I am prepared to deliver. .. sectnum:: :depth: 4 :start: 1 .. contents:: :depth: 4 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 4. 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 5. 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 6. 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 7. Session 6 -- Statements Part 2 7.1. Statements (cont'd) 7.1.1. for 7.1.2. while 7.1.3. continue and break 8. More Python Features and Exercises Advanced Python =============== The advanced course is based on the on-line course "Python 201". See: `Python 201 -- (Slightly) Advanced Python Topics`_. .. _`Python 201 -- (Slightly) Advanced Python Topics`: http://www.rexx.com/~dkuhlman/python_201/python_201.html 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 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.