Hacker’s challenge 3 : (McGraw-Hill, 2006)