A series of examples of graphics programming. There are 16 successive versions, each one slightly more complex and realistic than the one before; read through them in order so you understand the various techniques being introduced.
A series of five examples involving Timers and (eventually) inner classes. Updated Oct. 16 to include some examples of the Observer/Observable pattern (in versions 6, 7, and 8).
A series of examples involving Buttons, with four different approaches to event-handling: in the initiating class, in a separate class, in a named inner class, and in an anonymous inner class.
A program demonstrating recursion on Strings.
Example from lecture, Nov. 21: family trees, StringLists, and building a list of names appearing in a given tree. Contains a buggy version of distinctNames().
Example from lecture, Nov. 30: linked lists, still represented with polymorphism, but with methods written using loops rather than recursion.