
How to Design Programs: An Introduction to Computing and Programming - zoowar
http://htdp.org/2003-09-26/Book/
======
xiaomai
The authors are working on a 2nd edition that seems much improved. Here's a
link to the draft:

<http://www.ccs.neu.edu/home/matthias/HtDP2e/>

~~~
sigzero
That is edition is also moving from PLT Scheme to the renamed Racket
(<http://racket-lang.org/>).

Here is the announcement:

[http://blog.racket-lang.org/2010/06/plt-is-happy-to-
announce...](http://blog.racket-lang.org/2010/06/plt-is-happy-to-announce-
release-of.html)

------
clyfe
sicp <http://mitpress.mit.edu/sicp/>

htdp (this thread)

plai <http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/>

eopl <http://www.cs.indiana.edu/eopl/>

Also,

htdw <http://world.cs.brown.edu/1/>

~~~
chrishan
Are there any of such books available in epub format so that I can read on my
mobile device?

------
manvsmachine
Really good book. GA Tech used this as their "Intro to CS" text until they
decided that learning scheme was too much for business and inta majors
(everyone in the school had to take the class). I'd recommend this as a
potential alternative for those thinking about learning to program using SICP.
The latter dives into some more advanced topics, but this is much more
accessible to newbies imo.

~~~
meowzero
I think GATech used SICP for a semester or two as well.

------
z0r
This was used at Waterloo in CS 135 back when I took it (maybe it still is the
text?). An introduction to programming that really is an introduction to
programming. On an unrelated note, this suddenly reminds me of "Assembly
Language Step By Step" (<http://www.duntemann.com/assembly.html>). Another
introductory book I thought was absolutely wonderful back when I read it, but
goes about things entirely the opposite way from this book - teaching
programming (from scratch!) at the lowest possible level. Maybe the desire to
memorize the names and functions of the x86 instruction set isn't so different
from an obsession with pokemon or whatever the latest childrens fad is. Both
approaches appeal to me, but maybe that isn't true for people in general.

~~~
JBiserkov
I've heard that(Scheme && Assember) a lot.

Could be that programs that write programs are really powerful/exciting and
that it is really possible only in both ends of the expressiveness spectrum.

------
ljordan
I will upvote this thing all day (figuratively speaking of course). Going
through this was a big level-up for me.

~~~
kanak
> Going through this was a big level-up for me.

That's a very nice way of putting it. I too feel a lot more confident about an
entire class of problems thanks to HTDP. The only problem I have with the book
is that the generative recursion stuff is not as well done as the structural
recursion portions, but I guess that could be because generative recursion
portions are inherently more creativity requiring/difficult than the
structural portions. Anyway, that portion is being revamped for 2e so I'm
looking forward to relearning it.

~~~
ljordan
I didn't realize it was being revamped. I had to skip some of the algorithm
parts for lack of math (which I'm also studying). IME Part V was by far the
hardest part of the book. I often found the language confusing and had to
puzzle things out slowly that once I understood them, it seemed they could be
more simply put. (Of course in order for that criticism to be useful I would
have to develop it and provide details.) There seems to be a lot of value
placed on abstraction, to the point that it's sometimes hard to follow. I
don't know if it's just me or if it's just a result of the authors being so
darn smart.

------
wensing
Findler was my Intro to CS prof. <http://www.eecs.northwestern.edu/~robby/uc-
courses/> Great teacher.

~~~
kunjaan
I loved his Macro Talk. <http://www.youtube.com/watch?v=GBpfOpk-ZBU>

------
deepGem
How I wish I had access to such books 11 years back. Very nice book. Thanks
for sharing.

------
macco
Great book, but how often it has already been posted on HackerNews?

