Mastering computing - Buchanan, William (Palgrave Macmillan, 2002)