Johns Hopkins University: Scott F. Smith's "Principles of Programming Languages"

Read Chapter 6, which discusses type systems.