This is a 6-week introductory course to programming in Python. The goal of this course is to enable participants to get the best out of the features the language has to offer. After introducing language basics, the class will cover object-oriented and functional programming in Python, introduce important modules from the Python standard library, and then focus on Python paradigms and best practices to solve frequent tasks. We will investigate how to use Python in different scenarios; from small scripting tasks to medium-scale projects.

Final Project

Instead of a final exam, participants will create a final project in Python based on their own interest. The final project is meant to be fun and provide more hands-on experience in addition to the shorter weekly homework assignments. It will also allow individual participants to look at more advanced topics that are useful to them (such as specific third party libraries).


Working knowledge of any programming language.

Grading Policy

Class Participation 10%
Homework 40%
Final Project 40%
Project Proposal 10%