This text is for an undergraduate course called Introduction to Programming, Introduction to Computer Science or Ada Programming offered in computer science, maths, physics or engineering departments. It Covers the standard topics of the CSI course-basic concepts of computer systems including problem solving and algorithm development, program structures, data types and introduction to searching and sorting. The principle pedagogical device employed...