M353 programming and programming languages : Open university (The Open University, 1996)