How to Design Programs (HTDP) is one of the quite well-known books that provide an introduction to computer science.
HTDP teaches fundamentals of the programming in a detailed and comprehensible manner. It is a valuable source of information to both newbies starting their journey in the world of programming and programmers who strive to deepen their theoretical knowledge and improve practical skills.
This repository contains solutions to the Second Edition of the book.
- School-level math.
- Discrete mathematics knowledge would be a plus as it provides background to many topics discussed in HTDP.
If you find some of the tasks to be difficult, it's okay. Take it easy: use the "baby steps" approach and make breaks from time to time. Studying the next sections of the material (or other resources on programming) may also help, since they may contain the clues you're lacking.
One example: the first chapter and, surprisingly, even the prologue can be challenging for beginners. They require using a relatively complex image library, which may get in the way while focusing on the topics being explained. [And may also result in a lot of time spent getting nicely looking results.]
With that in mind, have happy coding!
- How to Design Programs, 2nd edition.
- Download IDE DrRacket.
- Racket Documentation.
- DrRacket IDE Shortcuts.
- Teach Yourself Computer Science lists essentials (distilled curriculum) for CS self-study.
- Data Definitions
- Functions headers
- With data types (signature)
- Optionally: a purpose
- Or write self-documenting code
- Stub
- Unit Tests
- Templates
- Implementation
- Run tests
- Review the code