Required book for the course:

The book by Marseland is thin and manageable, yet a little light on the 'why' things work. It is enough for getting to know the algorithms out there though! There are a number of other books that go a bit deeper: