A balanced introduction to computer science - Reed, David (Pearson, 2005)