3 ms·
> What MIT decided was to move from a curriculum organized around topics (programming paradigms, then circuits, then signal processing, then architecture) to a
by chimeracoder 14y ago
> What MIT decided was to move from a curriculum organized around topics (programming paradigms, then circuits, then signal processing, then architecture) to a curriculum organized around applications (let's build and program a robot; let's build and program a cell phone).
While this is offered as an excuse for switching away from SICP, I don't like this either.
Programming paradigms are the perfect introduction to programming. First, it naturally teaches you one of the most fundamental concepts in computer science (abstraction) by example; with the SICP approach, you learn about abstractions by constructing your own idioms for abstractions within a programming paradigm!
Second, applications become easier and easier to develop the more one learns to break out of a single paradigm and borrow ideas and tools from each as needed - otherwise, it's easy to get stuck in a rut and miss a simple but elegant solution to the problem at hand. Being able to cross-pollinate features or ideas idiomatic in one language to another gives you a Leatherman instead of an x-acto knife.
Having a fundamental grasp of programming paradigms makes programming languages feel like a second skin, rather than an obstacle sitting between the brain and the binary output.
- mcguire 14y agoHe goes on to write, "Perhaps in time the applications-first approach will spark a revolution as profound as the one that followed SICP, but it hasn't happened yet." Put the way he's written described it, "a curriculum organized around applications", I don't think it will. You have it right: too many trees, not enough forest. Does anyone who has taken the new MIT curriculum have any comments?
- pretoriusB 14y agoSorry, but what "profound revolution" followed SICP? It was a mighty fine course and text-book. But where's the revolution? Where are the guys that were taught SICP that went on to do "revolutionary" things? And if they do exist, how do they compare to a control group that just learned with UNIX/C/C++ and the like? (Downvotes? I thought we're taking compute SCIENCE here. Where's the science and the proof? If one didn't know any better he would have thought I was stoned for insulting some holy scripture...)
- Garoof 14y ago> Downvotes? I thought we're taking compute SCIENCE here. From SICP: 'Underlying our approach to this subject is our conviction that "computer science" is not a science and that its significance has little to do with computers.' (Don't know about the downvotes or anything. Just thought that was like vaguely funny.)