Python

Python Logo

Python is a language that has captured my mind and soul for the last two years. Although it certainly can't replace every other language, it is such a joy to use that I always end up writing the vast majority of my everyday code in it. The language is very well thought out, with its minimalistic but powerful syntax, perfect consistency and a huge, easy to use standard library.

Unfortunately, my fellow CS students in Jordan (and even many professors) seem to have never heard of this wonderful language, despite its twenty years of existence. During the fall semester of 2009, I decided to rectify this sad state of affairs, and offered a free month-long crash course in the subject.

The Course

The course was targeted at 2nd and 3rd year students who were quite familiar with programming, but knew few languages outside of C and C++. I aimed to provide a solid foundation in Python and showcase its unique features, rather than give examples of using the language in real projects. The nature of Python's data structures, mutability, dynamic typing and binding, declarations-as-statements and functional aspects of the language were all explored in-depth, and some focus was placed on familiarizing the students with Pythonic ways of performing common tasks. The standard library was barely touched outside of practical examples.

Attendance was a little disappointing, particularly in the fact that many lost interest as soon as I mentioned that no official certificates would be awarded for completing the course (that should tell you something about the kind of students that attend PSUT). Still, the course went on and successfully reached its completion.

Material

PDF version of the slides I created and used for this course are available from the links in the sidebar. Note that there are a few indentation errors due to OpenOffice Impress messing up indentation after saving and reopening the document, but these should hopefully be rare.

Eventually I plan to convert these slides into a full online tutorial, but unfortunately this will have to wait until I get some free time. In the meantime, you can read any of these free books introducing Python: