I basically agree with the OP that Dive into python is a pale replacement, but at the same time there is something to SICP's critics. Peter Norvig seemed to think most people would get the most out of it after getting some experience, and the HtDP authors definitely have a point about how much heavy math is involved. It's still a wonderful book, and won't be lost, I'm sure. http://www.amazon.com/review/R403HR4VL71K8…
> ...and the HtDP authors definitely have a point about how much heavy math is involved. I get why people object to heavy math in programming -- it makes the entire field less accessible -- but programming is heavily based on mathematics, if not entirely a subset of mathematics. Saying, "it requires too much math to learn this" strikes me as a lot like saying "there's too much biology in learning to be a doctor".
SICP is Under Attack
171–180 of 207 posts
Re: SICP is Under Attack
#172> Beautiful. I guess beauty is in the eye of the beholder. A simpler way to analyze this problem is noticing the f(n-3) term implies your function has to memorize up to 3 previous results. Then just use the coefficients from the formula to cycle the next result into memory. Using algebra and generating new coefficients as per the OP's solution is unnecessary. function f(n) if n
->LOOP:
7fff3dcfffd0 movaps xmm4, xmm5
7fff3dcfffd3 movaps xmm5, xmm6
7fff3dcfffd6 movaps xmm6, xmm7
7fff3dcfffd9 movaps xmm7, xmm4
7fff3dcfffdc movaps xmm4, xmm7
7fff3dcfffdf addsd xmm4, xmm4
7fff3dcfffe3 addsd xmm4, xmm5
7fff3dcfffe7 mulsd xmm6, xmm0
7fff3dcfffeb addsd xmm6, xmm4
7fff3dcfffef add ebp, +0x01
7fff3dcffff2 cmp ebp, eax
7fff3dcffff4 jle 0x7fff3dcfffd0 ->LOOP
Re: SICP is Under Attack
#173Re: SICP is Under Attack
#174SICP will not be abandoned at Berkeley.
Although Python will be used to convey the material, I have been assured that much of the content from SICP will be preserved.
I recognize now that CS61A is a fusion of sorts: an exciting modern treatment of traditionally intellectual material. This change reflects concerns about the difficulty of SICP, the popularity of Python, and a general lack of interest on the part of students and teachers in Scheme. Fair enough. I think this is the best possible solution for an introductory course, but that's just my opinion.
I want to reiterate that I mean Berkeley or its professors no disrespect, and that I only raised this issue because I was concerned about a potentially drastic shift in the curriculum.
I can't begin to thank you all for your comments, criticism, emails, and interest. It's made a world of difference.
Re: SICP is Under Attack
#175Earlier quoted context omitted.
Can you prove it?
Why, doesn't this add up?
Proof writing depends more on abstract reasoning than knowledge of arithmetics.
Of course, traditionally, it works that way. I would say, though, it's harmful a bit for the reason that the basic math curriculum is so boring, it puts off many brilliant minds.
Mandatory reference: TED Talk, Wolfram on Math Education. ;-)
Re: SICP is Under Attack
#176Earlier quoted context omitted.
Who offers a vocational education at an university level? Not everybody who is smart wants to be an academic.
What does your comment have to do with what I wrote? No one is denying that many people really want a vocational education. No one is claiming that smart people should want to be academics. The point is that what people want is not computer science. Civil engineers do not enroll in physics programs and then complain that their physics professors are not teaching them anything about practical bridge construction.
Re: SICP is Under Attack
#177I think that starting with Python is a fine choice. Please keep in mind that it's just the introductory course-- these students are going to be battered with CS theory later on. We are graduating around 20% fewer students in CS than we were in 2004. We need to find a way to make CS more accessible. I'm not saying that we should make the whole degree easier, but I think that having an easier & more practical first cou…
Those percentages don't mean much out of context. Was the curriculum less stringent back then (I.e. graduating people that shouldn't have been able to)?
However, we could try to look at CS school drop-out rates, and how many students picked-up or dropped the CS major. Nevertheless, it would be hard to separate "difficult courses" from "students who don't really love CS" as boit and pnathan suggested.
Re: SICP is Under Attack
#178Earlier quoted context omitted.
Why, doesn't this add up?
Frankly, not that much. Proof writing depends more on abstract reasoning than knowledge of arithmetics. Of course, traditionally, it works that way. I would say, though, it's harmful a bit for the reason that the basic math curriculum is so boring, it puts off many brilliant minds. Mandatory reference: TED Talk, Wolfram on Math Education. ;-)
But I think to be able to do actual mathematical proofs, elementary school students may lack many of the tools and mechanisms that are necessary. Those tools being arithmetic and basic operations. By the same token, I think understanding basic CS principles and programming are necessary prior to understanding the theory.
Though it would be interesting for an Intro to CS course that used no actual language but was taught with only psuedocode. Teach basic concepts, hell even data structures, prior to tying the concepts to any one programming language.
Re: SICP is Under Attack
#179Earlier quoted context omitted.
I am horrified by the idea of a body moving at government-speed dictating the norms I have to follow when my competitors move at internet-speed. Disclaimer: I am a professional engineer trained to design and build computers rather than program them.
Wouldn't your competitors have to follow the same norms?
Re: SICP is Under Attack
#180Earlier quoted context omitted.
When I started the project, I preferred CL over Scheme. Later, however, I had some experience with PLT Scheme and really liked the programming environment, so I decided to give it a try. I figured that using both languages will help me understand the differences between them better. It was not some serious limitation of CL, in any case.
Thanks for clarifying, Eli. As I said in my update, I was apparently badly misremembering a comment on your blog regarding the use of CL. You've actually inspired me to take up a similar SICP reading/blogging project, though I'm hesitant for two reasons. First is the concern over the depth of the material. I don't have a CS degree and I'm mathematically out of shape (and I never even did a calculus class), so I'm con…