Get Free Shipping on orders over $79
Thinking About Programs - Gavin Lowe

Thinking About Programs

By: Gavin Lowe

Hardcover | 5 August 2025

At a Glance

Hardcover


$132.00

or 4 interest-free payments of $33.00 with

 or 

Ships in 5 to 7 business days

This book is based on the author's experience of 30 years of teaching programming at the University of Oxford and is an excellent choice for early programming courses offered by universities worldwide. It is a rigorous and thoughtfully structured textbook designed to equip students with both the theoretical underpinnings and practical skills essential in today's programming landscape. It describes how to think about computer programs and how to use mathematics as part of that thinking. Many books and online tutorials teach the basics of coding: the syntax of the language, and how to translate an algorithm into code. But how do you come up with that algorithm and know it is correct?

The first part of the book considers small programs that use a loop, and how to demonstrate their correctness using loop invariants. It also covers some algorithms and algorithmic techniques that every programmer should know. The second half of the book considers slightly larger programs. It teaches the basics of modularization, splitting up a program into manageable chunks. It teaches about abstract datatypes, values within a program that can be treated as mathematical values: how to specify their behaviors formally, and how to treat them as abstract mathematical objects when programming. It also teaches how to use data structures to represent abstract datatypes, and what it means for such a representation to be correct. And it presents some abstract data types and data structures that every programmer should know. The book is pragmatic: the philosophy is to include enough formality to be convincing and to guide the programmer towards correct code, without getting bogged down in the mathematics.

Each chapter includes questions at the end and a solution manual for those exercises is available for adopting instructors. Source code is also available for download from the author's website or Github. Combining pedagogical clarity with up-to-date industry relevance, Thinking About Programs guides learners through fundamental programming concepts, algorithmic thinking, and problem-solving strategies while fostering a deep understanding of computational logic.

More in Computer Science

The Tech Coup : How to Save Democracy from Silicon Valley - Marietje Schaake
Microsoft 365 Excel For Dummies : For Dummies (Computer/Tech) - David H. Ringstrom
New Beginnings : why change is so difficult and how to achieve it - Stefan Klein
Creative Machines : AI, Art & Us - Maya Ackerman

RRP $57.95

$44.75

23%
OFF
Empire of AI : Inside the reckless race for total domination - Karen Hao
Genesis : Artificial Intelligence, Hope, and the Human Spirit - Eric Schmidt
Python All-in-One For Dummies : 3rd Edition - John C. Shovic

RRP $74.95

$55.75

26%
OFF
The Shortest History of AI - Toby Walsh

RRP $27.99

$22.75

19%
OFF
Co-Intelligence : Living and Working with AI - Ethan Mollick

RRP $36.99

$29.75

20%
OFF
More Human Than Human - Michael-Patrick Moroney

$49.75

Falter : Has the Human Game Begun to Play Itself Out? - Bill McKibben