Open access How to Design Programs: An Introduction to Programming and Computing
Matthias Felleisen; Robert Bruce Findler; Matthew Flatt; Shriram Krishnamurthi
82 selected books, grouped by course
A place to start
Editorial guidance for university students, with independent learners in mind. This is not an official university reading plan. Check your own syllabus before buying; editions and exercise numbers differ.
Browse all books ↓If you are new to programming, begin with a course-level introduction and write small programs. Then choose a branch: algorithms, databases, operating systems or architecture. A book’s depth and programming language matter; one title cannot cover the whole discipline.
Books are grouped by the course they are usually read for, then ordered from introductory to advanced.