Overview
========

Here are the things we will cover in this course:

* What is python?
  * Hello world
* Program logic
  * Whitespace in python
  * Declaring variables
  * Expressions
  * Loops
  * if..then..else
  * Declaring Functions
  * Documenting functions
* Python datatypes (dynamically typed, strongly typed)
  * String, int, float
  * Dictionaries
  * Lists
  * Tubles
  * String formatting
  * List comprehensions
* Introspection
  * Optional and named arguments
  * type, str, dir
  * getattr
  * lambda functions
  * __doc__
* Objects
  * Module imports
  * Import search paths
  * Defining classes
  * Class initialisation (constructors)
  * self
  * Class instantiation
  * Garbage collection
  * Instance Variables (class members)
  * Method overloading (not supported)
  * Class attributes (static class variables)
  * Private functions (to module)
  * Private class methods (to class)
  * Private attributes (to class)
* Exceptions
  * try...except
  * try...except...else
  * try...except...finally
* File IO
  * reading text files
  * writing text files
  * file path manipulation (os module)
  * splitting paths
  * directory listings / globbing