ICS 33 Fall 2024
Notes and Examples
Notes and examples, from lecture and otherwise
Over the course of the quarter (and in lieu of a course textbook), I'll be providing notes and commented code examples for you, detailing all of the topics we cover in the course. When we write code examples in lecture, you can assume that they will be turned into full-scale code examples and posted here; for other topics, I'll provide a detailed set of lecture notes.
Note that you are not permitted to simply copy and paste this code into your own projects, but, of course, the techniques employed may also be of general use to you in your work. These examples are intended to give you clean, well-documented examples of some of the things we cover in lecture (and possibly a few things that we don't, time permitting), so that you can be free in lecture to avoid trying to take detailed notes when we're writing code together, instead concentrating on understanding the process and the bigger-picture concepts at work.
Lecture Week | Title |
Week 0 | Course Introduction |
Week 0 | Modules and Namespaces |
Week 0 Week 1 |
Classes and Objects |
Week 1 | Functions and Their Parameters |
Week 1 | Context Managers |
Week 2 | Asymptotic Analysis |
Week 2 | Searching |
Week 3 | Databases |
Week 4 | Comprehensions |
Week 4 | Iteration |
Week 4 | Generators |
Week 5 | Using and Combining Generators |
Week 6 | The Python Data Model |
Week 7 | Inheritance |
Week 7 Week 8 |
Revisiting Recursion |
Week 8 | Functional Programming |
Week 9 | Decorators |
Week 10 | Class Design |
BONUS | Abstract Base Classes |
Python prerequisite background
If it's been a while since you've last used Python, you might also want to work through the Notes and Examples from my most recent ICS H32 offering, which cover essentially all of the Python topics that we'd expect you to understand at the outset of this course.