ICS 32 Spring 2018
Notes and Examples


Notes and examples, from lecture and otherwise

Over the course of the quarter, I'll be providing notes and commented code examples for you, most especially when I write substantial code examples in lecture — beyond just experimentation in the Python interpreter or short code fragments —. When I do, I will be turning them into full-scale code examples and posting them here for you. Be aware that there is a process involved in fleshing out a lecture example — rather than just posting code exactly as we wrote it, I'd like to turn it into something more complete and instructive — and this process takes some time, so it's best, in general, not to expect these to be available right away, but I will generally try to have them available before the next lecture, at the latest.

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 Date(s) Title
Tu 4/3 Course Introduction
Th 4/5 Exceptions and Files
Tu 4/10 Paths and File Systems
Tu 4/10 Recursion
Th 4/12 Networks and Sockets
Tu 4/17
Th 4/19
Modules
Tu 4/17
Th 4/19
Protocols
Tu 4/24 Classes
Th 4/26 URLs and HTTP
Tu 5/1 Web APIs
Th 5/3 Duck Typing and Interfaces
Th 5/10 Test-Driven Development
Tu 5/15 Two-Dimensional Lists
Th 5/17 Third-Party Libraries
Th 5/17
Tu 5/22
PyGame Basics
Th 5/24
Tu 5/29
The "Spots" Game
Th 5/31 Inputs and Sounds
Tu 6/5 Tkinter Basics
Tu 6/5
Th 6/7
A Tkinter Application
BONUS Tkinter Layout


Python prerequisite background

If it's been a while since you've last used Python, you might also want to work through the following sections, which take you through the prerequisite background in Python that you would need in order to succeed in this course.

Title
Python Basics
Functions
Tuples and Lists
Type Annotations
Namedtuples
Sets and Dictionaries