Learn to program - Pine, Chris (The pragmatic programmers, 2009)