Introduction to the Art of Programming Using Scala by Mark C. Lewis