Live data from Hacker News

Structure and Interpretation of Computer Programs (SICP) Book

mitpress.mit.edu

61–70 of 77 posts

Re: Structure and Interpretation of Computer Programs (SICP) Book

#61
post #17

My girlfriend has told me a couple times she wants to learn to program but this is the only intro book I own. I feel bad giving it to her because it just beats you with recursion right from the beginning (that isn’t to say it’s bad, I love it, that’s why I own a copy. I just feel like you’ll appreciate it most if you already know a little of some non functional language.) On the other hand she took it with us on a pi…

http://atypeofprogramming.com/ <3

Re: Structure and Interpretation of Computer Programs (SICP) Book

#62
post #35

Earlier quoted context omitted.

Recursion seems to be one of those inflection points that some people just can't get past.

What I personally see in academic setting is that when recursion is taught, it's taught using examples where you would not want to use recursion. It's easy to understand why recursion is useful when you are tasked with traversing a file system. It's not when the first example you are given is calculating Fibonacci sequence.

This is like complaining that when piano teachers teach students how to hold their hands they teach it with scales where it doesn't really matter. The importance of hand position is obvious when you are tasked with playing chords in a real song.

The very first exercise should be as simple as possible. Explicitly because you're introducing a new concept and so want as little else in the way as you can arrange.

Re: Structure and Interpretation of Computer Programs (SICP) Book

#63
post #17

My girlfriend has told me a couple times she wants to learn to program but this is the only intro book I own. I feel bad giving it to her because it just beats you with recursion right from the beginning (that isn’t to say it’s bad, I love it, that’s why I own a copy. I just feel like you’ll appreciate it most if you already know a little of some non functional language.) On the other hand she took it with us on a pi…

When SICP was written the majority of the freshman who took that course had never touched a computer before they took that class.

This can be interpreted two ways:

1. It really is an introductory text and, as the book says, recursion is a simple, powerful, familiar idea.

2. Times have changed.

I’m partial to interpretation #1

Re: Structure and Interpretation of Computer Programs (SICP) Book

#64
post #17

My girlfriend has told me a couple times she wants to learn to program but this is the only intro book I own. I feel bad giving it to her because it just beats you with recursion right from the beginning (that isn’t to say it’s bad, I love it, that’s why I own a copy. I just feel like you’ll appreciate it most if you already know a little of some non functional language.) On the other hand she took it with us on a pi…

If videos are okay i would recommend the course on edx.org taught by Gregor Kiczales "How to code: Simple Data" and the successor about complex data. They are based on the book "How to design Programs" also from MIT IIRC.

Re: Structure and Interpretation of Computer Programs (SICP) Book

#65

html5 version: http://sarabander.github.io/sicp/ more resources: https://bitbucket.org/Tetsumi/workspace/snippets/ke6jL4/sicp

That HTML port is more complete than the one below, but this link has a built-in interpreter for playing around with code (without having to install some heavyweight runtime):

http://jaredkrinke.github.io/learn-scheme/

Re: Structure and Interpretation of Computer Programs (SICP) Book

#66
post #33

I make a point of re-reading Alan Perlis' preface from time to time: https://mitpress.mit.edu/sites/default/files/sicp/full-text/... Fun is important, and it seems all too easy to lose sight of that.

> Fun is important

Maxwell v. Kelvin: https://www.cambridge.org/core/books/fourier-analysis/ode-to...

Re: Structure and Interpretation of Computer Programs (SICP) Book

#67
post #17

My girlfriend has told me a couple times she wants to learn to program but this is the only intro book I own. I feel bad giving it to her because it just beats you with recursion right from the beginning (that isn’t to say it’s bad, I love it, that’s why I own a copy. I just feel like you’ll appreciate it most if you already know a little of some non functional language.) On the other hand she took it with us on a pi…

> it just beats you with recursion right from the beginning

I'm not disagreeing with you as I write this, more pontificating on teaching styles... we all know recursion can get tricky / be hard to understand in the context of a programming language, but sometimes it's all in the presentation... if we tell the student right up front "hey, this is how we do this, no big deal right?" then perhaps they don't put up their natural defenses and make it into a harder concept than it really is?

Re: Structure and Interpretation of Computer Programs (SICP) Book

#68
post #17

My girlfriend has told me a couple times she wants to learn to program but this is the only intro book I own. I feel bad giving it to her because it just beats you with recursion right from the beginning (that isn’t to say it’s bad, I love it, that’s why I own a copy. I just feel like you’ll appreciate it most if you already know a little of some non functional language.) On the other hand she took it with us on a pi…

I'd also recommend "How to Design Programs", newest version is here: https://htdp.org/2020-8-1/Book/index.html. It's a much more accessible version of SICP.

Re: Structure and Interpretation of Computer Programs (SICP) Book

#69
post #17

My girlfriend has told me a couple times she wants to learn to program but this is the only intro book I own. I feel bad giving it to her because it just beats you with recursion right from the beginning (that isn’t to say it’s bad, I love it, that’s why I own a copy. I just feel like you’ll appreciate it most if you already know a little of some non functional language.) On the other hand she took it with us on a pi…

HTDP is a more gentler introduction to programming.

Re: Structure and Interpretation of Computer Programs (SICP) Book

#70
post #48

If you only ever buy/read two computer science books, get your hands on Abelson/Sussman's SICP and Knuth's TAOCP. I could program before studying at uni, but thanks to our two-term course Algortmics I+II at FAU Erlangen (part I based on SICP), it seems a fog that I wasn't even aware of cleared.

Have you read TAOCP?
Post reply on HN