We do not recommend that you acquire a specific programming language book, since we might get through a variety of languages along the course. Instead, we propose a very good and easy to read book on algorithms, Algorithms Unlocked by Thomas H. Cormen, The MIT Press.