Live data from Hacker News

Structure and Interpretation of Computer Programs (SICP) Book

mitpress.mit.edu

41–50 of 77 posts

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

#41
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 have high hopes for this Fall's MIT course in Computational Thinking [1]. While it was discussed here on HN, I don't think it got all the attention it deserves.

I think this course will end up to be the start of a revolution in online teaching. We've had MOOCs and OCW, and other courses online for a while now, but this is a whole different level. They enlisted 3Blue1Brown (Grant Sanderson) to lecture. Arguably, he is head and shoulders above everyone else when it comes to mathematical animations and intuitive explanations. Coupling the pedagogical genius of this guy with the research genius of Alan Edelman, and with the expressivity of the new language Julia (which might beat Scheme in the end), this is a recipe for absolute success.

Oh, and the main lectures are live and you can ask questions (and if your question is good, you receive the answer right away).

Run, do not walk, to enlist in this course.

[1] https://mitmath.github.io/18S191

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

#42
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 recommend going through Brian Harvey’s video series while doing the book. Watch the video that covers the topic and then go through the section in the book. They also have recommended problems to do in the book. You don’t have to approach the book as a completionist who needs to complete every problem, etc. especially if you’re starting out. You can always revisit the book later with more experience, but the insights it can give you are invaluable . https://www.youtube.com/playlist?list=PLhMnuBfGeCDNgVzLPxF9o...

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

#43
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…

The Little Schemer by Friedman is a good choice.

https://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/0...

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

#44
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.

I disagree to an extent. Sure file system traversal is great motivating example (or any tree traversal example for that matter).

However, the Fibonacci sequence provides good end to end example of recursion, then tail recursion/dynamic programming.

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

#46
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.

If i had to retain one thing from SICP, it would be this from the preface of the first edition:

First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.

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

#47
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…

Python for the Absolute Beginner was very easy. Each chapter introduced a new concept (Ex: strings, variables, lists, iteration, branching, dictionaries, functions, file I/O, classes...etc) with a little text game (Ex: hangman). The writing is laid back and interesting. Once I read this I was able to start writing my own code with a little help using StackOverflow and it's been terrific for my career. There is no mathematical or computer science jargon to weigh you down. That can always come later. At this point programming is hard enough, but this book shows you all the building blocks and gives you some practice assembling things together.

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

#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.

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

#49
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.

TAOCP is nearly ten thousand pages spread over four volumes! That's not one book.

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

#50
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…

SICP was used as the reference book for the introductory course on programming on my degree. People with prior experience had the most trouble with recursion. Students with no programming experience whatsoever grasped the concept pretty easily. I would try it out. It might need some analytically wired thought process, but again that is true for any kind of programming paradigm.

Let's not forget to draw a distinction between programming and computer science...

SICP was created to be an introductory computer science textbook back in the day when anybody who actually enrolled in a computer science course could reasonably be expected to be an absolute nerd. It's a book for teaching computer science to people who already have some amount of programming aptitude. It is not a book that tries to teach programming, to hand-hold students through learning practical applications. Yes, it's been shoehorned into many programming courses, but that's not the book's purpose.

HtDP is much better for teaching programming - it's a book that follows many of SICP's ideas, but doesn't presume any relevant experience on the part of the student. It's still not an ideal book for teaching practical programming to a student who doesn't care about any of the CS theory, though.

Post reply on HN