Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software Professional Computing Series, Addison-Wesley, 1995.
Matthias Felleisen and Dan Friedman, A Little java with Patterns, MIT Press, 1998.
A short document that John wrote for the CIS 211 class.
Glynn Winskel, The Formal Semantics of Programming
Languages
Carl Gunter, Semantics of Programming Languages
Winskell gives a separate chapter to each of the three semantics discussed on Wednesday, with a lot of detail. This is more than you need to know, so unless you're enjoying yourself and want to know more, just read Winskell's Preface, and Gunter's Introduction (Ch. 1).