Programming With Python

Instructor: Mike Preshman
email: mpresh@gmail.com

Overview:
Python is one of today's most popular programing languages, used by IT departments in every industry.
It is one of the easiest to learn and it is the perfect language to learn programming with. This course provides
a comprehensive introduction to the Python language. It will be a practical course where one can apply what's
learned from the first lecture. Subjects covered will include text processing, object-oriented programming,
functional programming techniques, systems programming, and network programming.

Class meets Wednesdays 8 - 9:30 pm.

Week 1:
Lecture:   notes
    Intro to python. Python Interpreter.
    Data Types (strings,   
                        integers,
                        lists,
                        tupples,
                        dictionaries,
                        NoneType)
    nesting and indexing
    deep copying vs shallow copying
    mutable vs immutable data types.
    for loop
    garbage collection.
   
   

Practice Problems:
    Problem 1:
    a) Create a python program. Make the program print "hello world!" by executing it with the python command.
    b) Write a for loop from 1 to a 100 that puts the numbers into a list.  [1, 2, 3, 4, ... 98, 99, 100]
    c) Then iterate over the list and add up all the numbers.  Display the total.


Week 2:
Lecture:    notes
                 exercises
    Good Intro Examples:
    ...more grreat examples
    Motivation for Python: MIT uses python in intro course
    Syntax and scripts.
    if else ilif else statements
    for, while, for each, range loops
    Editors.  IDEs.  List of Development Environments
    Code organization: functions, classes, modules, packages
   

    Practice Problems in class:

Week 3:
Lecture:     notes
                 exercises
     Object Oriented Programming
     Modules, Packages
     Using python to solve text search problems
     Regular Expressions

Week 4:
Lecture:     notes
                 exercises
        Modules: sys,
                        os,
                        math,
                        array,
                        pickle,
                        marshal,
                        gc,
                        copy,
                        random,
                        re,
                        urllib
                        getopt,
                        time

        Connection to MySql:  good MySql-Python ref
         

Week 5:
Lecture:     notes
                 exercises
       
                     
                installing python modules, distutils, scons, make
                smtplib
                spidering, mysql (continue)
               

       
Week 6:
Lecture:     notes
                  exercises
         Review
         Example problems
         

Google Group Name - Learning Python:
http://groups.google.com/group/learning-python-?hl=en
Group email Address: learning-python-@googlegroups.com


Python Resources:
http://www.python.org     [Python Website]
http://www.diveintopython.org      [free python book online]
http://www.mindview.net/Books/TIPython
    [free python book online]
http://openbookproject.net//thinkCSpy
    [free python book online]
http://www.swaroopch.com/byteofpython/
    [free python book download]
http://homepage.mac.com/s_lott/books/python.html
    [free python book online]
http://www.network-theory.co.uk/docs/pytut/
    [free book online]
http://rgruet.free.fr/PQR25/PQR2.5.html#Invocation
    [quick python reference]
http://www.oreilly.com/catalog/lpython/chapter/ch09.html
 [Common Tasks In Python]

Programming Good Articles:
Teach Yourself Programming in Ten Years