This text is a first course in the skills of computer programming, using as a vehicle C, which is gaining currency in both education and industry. It is carefully structured into three sections, introducing the language, explaining the principles of good program design and then proceeding from a statement of need through to a working program. Questions and solutions using a cheat system on the accompanying disk test the student's understanding at each stage. The emphasis throughout is on good design practice and coding style.