CS3101 Python: CVN

CS3101 Python: CVN

Course Objectives
Discover Python with an emphasis on practicality and real world applications.

Instructor
Joshua B. Gordon - joshua [@] cs.columbia [.] edu

Office Hours
By email appointment - happy to lend a hand if you let me know in advance.

When and Where
Once a week via CVN. [Spring 2009: Thursday evenings, 6:10-8pm, 834 Mudd]

Recommended Texts
Python in a Nutshell (Mark Lutz) - freely available on CLIO
The Python Cookbook (Alex Martelli)

Grading
Project - 70%, Homework - 30%.
Assignments are due one week after they are assigned, late policy: -10% / day.
Please submit assignments through CVN - if you have difficulty use email as an alternative.

Prerequisites
Familiarity with programming. Please speak with me otherwise.

Syllabus


Lecture 1

Language overview. Course structure. Scripting essentials. Homework 1 assigned.


Lecture 2 Datasets: Extra credit, Simpsons

Practical examples, sorting, parsing csv files, functions, command line arguments. Homework 2 assigned.


Lecture 3

Advanced functions, generators / iterators. Functional programming tools. Regular expressions. Coding practices. Homework 3 assigned.


Lecture 4

Object oriented Python. Exceptions. Libraries. Project proposal assigned.

Readings: Errors, classes, RPC.


Lecture 5

GUIs. Databases. Pickling. Real world library use.


Lecture 6

Performance, optimization, profiling. Threading. Integration with C / C++. Scheduling. Projects due the following week!

Resources