This is a half-credit mini course on Python programming.

Why learn Python? The short answer is:

>>> print "Hello World"

The longer answer is that Python is a powerful and popular programming language, useful for building large systems as well as writing small scripts. It has intuitive syntax, extensive libraries, and supports both object-oriented and functional programming methodologies. In this class, we will explore a variety of these features through hands-on exercises and a final open-ended project.

Time: Mondays, 1:30-3:00pm
Location: MEYH B13
Instructor: Lili Dworkin
email: ldworkin@seas
TA:
Eric Kutschera
email: kute@seas
Office Hours:
Lili Dworkin:Fri 3:00pm-4:00pm in Levine 614
Eric Kutschera:Mon 8:00-9:00pm in Moore 204
Prerequisites: CIS 110 or equivalent; basic programming knowledge
Links: Piazza
Canvas
Official Python Documentation

There will be weekly homeworks and a final project. Homeworks account for 70% of the grade, the project accounts for 25%, and the remaining 5% is for class participation (including the weekly mini-quizzes).

Date Lecture Slides Homework
Sept 8 Introduction Slides HW 1 (Due: Sept 15)
Solutions
Test Cases
Sept 15 Data Types Slides
In-Class Coding
HW 2 (Due: Sept 22)
Solutions
Test Cases
Sept 22 Functional Programming Slides HW 3 (Due: Sept 29)
Solutions
Test Cases
Sept 29 Object Orientation Slides HW 4 (Due: Oct 6)
Solutions
Test Cases
Oct 6 Iterators and I/O Slides HW 5a (Due: Oct 13)
HW 5b (Due: *Oct 15*)
HW 5b Zip
HW 5a Solutions
HW 5b Solutions
HW 5b Test Cases
Oct 13 Helpful Modules Slides
HW 6 (Due: Oct 20)
HW 6 Zip
Solutions
Test Cases
phonenumbers.txt
Oct 20 Graphics In-Class Coding A
In-Class Coding B
Images
HW 7 (Due: Oct 27)
HW 7 Demo (Mac Only)
HW 7 Screenshot
Solution
Oct 27 Parsing HTML Slides
In-Class Coding
HW 8 (Due: Nov 3)
Solution
Test cases
Nov 3 Working with APIs Slides HW 9 (Due: Nov 10)
Solution
Test cases
Nov 10 Web Frameworks (Flask) Slides
In-Class Coding A
In-Class Coding B
HW 10 (Due: Nov 17)
HW 10 Zip
Final Project Proposal
(Due: Nov 17)
Solution
Test cases
Nov 17 Databases (SQLite3) Slides
In-Class Coding A
In-Class Coding B
Final projects!
Nov 24 Deploying and Concurrency Slides
basic_threads.py
web.py
threads_fixed.py
philosophers.py
Final projects!
Dec 1 Scientific Computing and Unit Testing Slides
numpy_demo.py
numpy_timing.py
polya.py
testing.py
Final projects!
Dec 8 Python Quizzo :) Final projects!