Principles of Spin is an introductory book, the only requirement is a background in programming. Spin models are written in the Promela language which is easily learned by students and programmers. Spin is easy to install and use. The Spin model checker is not only a widely used professional tool but it is also a superb tool for teaching important concepts of computer science such as verification, concurrency and nondeterminism. The book introduces Spin-based software that the author has developed for teaching: jSpin - an integrated development environment for Spin; SpinSpider - uses output from Spin to automatically construct state diagrams of concurrent programs; VN is a tool for visualizing nondeterminism. Complete programs will demonstrate each construct and concept and these programs will be available on a companion website.