Here you’ll find all your homeworks. The final column in this table, Guaranteed Feedback, is the last day you can resubmit for guaranteed feedback within one week. You can resubmit after that date, but the speed of your feedback is up to my schedule!

HW Link Assigned Due Guaranteed Feedback
Homework 1 1/12 1/19 1/27
Homework 2 1/20 1/27 2/7
Homework 3 1/27 2/3 2/17
Homework 4 2/3 2/10 2/21
Homework 5 2/10 2/17 2/21


Labs will be made available before class. Each lab will have to be turned in on Canvas; you should be able to turn it in by the end of class, but as always, later submissions are accepted.

Lab Link Date Guaranteed Feedback
Lab 1 1/5 N/A
Lab 2 1/12 1/24
Lab 3 1/19 2/7
Lab 4 2/16 TBD

Lecture Notes

Lecture notes will be posted the day of class and may be edited afterwards to reflect live-coding. Lecture notes will include a link to directly download any code or scripts we wrote together in class.

Notes Date
If/Else 1/9
For and While loops 1/11
Lists and Dictionaries 1/18
Functions 1/23
Functions with Returns 1/23
Strings 1/30
Regex 2/1
Pathing 2/6
File I/O 2/8
File I/O cont’d 2/13
Git and GitHub 2/15
Review - Control Flow and Inputs 2/20


Guides to installation practices or supplementary materials will be listed here.

Install Python (Windows)

Install Python (Mac)

PyGame: 4 - 9

Video Review


An all-in-one video with timestamps in the comment for Python programming.

CS Dojo

General Python information, as well as other content on his channel!

Clever Programmer

Another all-in-one video; kind of more of a traditional “Youtuber” style.

Additional Practice

Here are resources for additional practice, each with solutions. These are available if you want to try them; there’s no need to submit them.

Basic Practice Problems


These problems are pretty straightforward ways to get used to the basics of Python programming.

Word Problems


For problems more like the ones I ask on the homeworks, this site gives you more vague instructions about what to do with your program, and you have to practice interpreting it.

Challenge Problems

These problems go beyond the material we cover in class and introduce additional concepts and tools in Python that may be of interest to you.

None yet.