3 ms·
Warning, anecdotes ahead: I tried to read SICP after about 6 months to a year after learning my first language, and I couldn't get past the part where they tur
by zengid 8y ago
Warning, anecdotes ahead:
I tried to read SICP after about 6 months to a year after learning my first language, and I couldn't get past the part where they turn a recursive function into a tail-call eliminated 'iterator' style recursive function. I understood what was going on, but I just couldn't grasp how to generalize it. Of course, I get it now; you just pass an extra variable in and use it like you would the `i` var in a for loop, but at the time I just couldn't grasp it.
I also had similar struggles with the early use of math problems as examples and other vaguely described algorithms.
Granted, my background is in Music, so I didn't have the domain knowledge that the author mentions, but programming is more about strategic and logical thinking, so I was perfectly able to do that even at an early stage.
I think MIT is right to think SICP is too much for a freshman. Hell, I was already graduated and applying for grad-school when I tried to read SICP and I still struggled.