debanjan16
Joined 4 years ago
Joined 4 years ago
Two books that teach this style of programming to beginners are:
1. How to Design Programs - https://htdp.org/
2. A Data-Centric Introduction to Computing - https://dcic-world.org/
The book furthermore teaches a design recipe which comes in handy when you are stuck with a problem. Basically it teaches you to write examples first so that you understand the problem instead of jumping onto the editor to write code first. The examples help you structure your data. The rest of the code follows from it.
Edit: I would love others, who have read the above mentioned book, to weigh in with your anecdotes.
There are so many awesome lectures from other CMU courses like Andy Pavlo's Database, Keenan Crane's Graphics courses.
I so hope CMU records their intro courses and put them out in public.
Then I cam across the book How to Design Programs aka HTDP. I was skeptical at first. But I eventually started and worked through the second edition of the book available freely at https://www.htdp.org .
It was so beautiful. The teaching languages and writing examples before writing code. It made me really understand programming.
Now I can pick up any language (not that I become a language expert overnight) in a short time. I only need to map the concepts to this new language. And that's that. I can even pattern match my ideas from higher order functions to imperative looping constructs.
I have another book in to TDR list. It is Norvig's Paradigms of Artificial Intelligence Programming.