Thinking About Programs
- Authors
- Publisher
- Series
1 of 74
- Language
- English
- Format
- Category
Non-Fiction
This book describes how to think about computer programs, and how to use mathematics as part of that thinking. Many books and on-line 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 how can you be confident that the algorithm 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 modularisation, 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 behaviours 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 datatypes and data structures that every programmer should know.
The book is aimed at those who want to obtain a better understanding of programs they work on, and so become better programmers. The target audience ranges from those who are just starting out, to professional programmers. The book aims to be 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.
© 2025 ACM Books (Ebook): 9798400731600
Release date
Ebook: 1 August 2025
- Harry Potter and the Philosopher's Stone J.K. Rowling
- The Housemaid: An absolutely addictive psychological thriller with a jaw-dropping twist Freida McFadden
- Throne of Glass: From the # 1 Sunday Times best-selling author of A Court of Thorns and Roses Sarah J. Maas
- A Court of Thorns and Roses (1 of 2) [Dramatized Adaptation]: A Court of Thorns and Roses 1 Sarah J. Maas
- Dear Debbie Freida McFadden
- Fourth Wing Rebecca Yarros
- Icebreaker Hannah Grace
- Mushoku Tensei: Jobless Reincarnation (Light Novel) Vol. 1 Rifujin na Magonote, Shirotaka
- The Psychology of Money: The transformative multimillion-copy personal finance bestseller Morgan Housel
- The Divorce Freida McFadden
- The 48 Laws of Power Robert Greene
- The Hunger Games Suzanne Collins
- The Seven Husbands of Evelyn Hugo: A Novel Taylor Jenkins Reid
- One Hot Summer Debbie Ioanna
- This Is What Inequality Looks Like Teo You Yenn
Features:
Over 950 000 titles
Kids Mode (child safe environment)
Download books for offline access
Cancel anytime
Unlimited
For those who want to listen and read without limits.
S$12.98 /month
1 account
Unlimited Access
Unlimited listening
Cancel anytime
