ICS 32A Fall 2023
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 - 1 Python Basics
Week 1 Functions
Week 2 Tuples and Lists
Week 2 Type Annotations
Week 2 Files, Paths, and File Systems
Week 2 Exceptions
Week 3 Testing
Week 3 Recursion
Week 3 Modules
Week 3 Networks and Sockets
Week 4 Namedtuples
Week 4 Sets and Dictionaries
Week 4 Protocols
Week 5 Classes
Week 5 Duck Typing and Interfaces
Week 6 URLs and HTTP
Week 6 Web APIs
Week 7 Two-Dimensional Lists
Week 7 Test-Driven Development
Week 7 Third-Party Libraries
Week 8 PyGame Basics
Week 9 The "Spots" Game
Week 9 Inputs and Sounds
Week 10 Tkinter Basics
Week 10 Tkinter Layout
Week 10 A Tkinter Application