[Comment removed by author]
Behind the scenes there’s another reason: after the dot.com crash, MIT EECS undergraduate enrollment cratered, from ~400 students/class or ~40% of them which had been the case for decades, to ~180. And many people panicked (I mean, they were building a quarter billion dollar (but very dysfunctional) building for CS research).
This is really interesting and not surprising (although upsetting). Do you have any primary sources for this, or is this more of something you’ve gleaned through personal experience?
One of the things that I was hoping for, out of the next dot-com crash, was an end to the anti-intellectual MBA culture that has rendered the programming job more about stitching existing things together than one of creation and comprehension. I guess the historical evidence suggests that one should expect the opposite.
I may be unusual here, but I don’t think CS programs should wed themselves to one language. It’s obvious to me that you can’t learn modern computer science without gaining fluency in multiple languages: C, a Haskell-like language, and a Lisp. I would generally support using Python for a first course in CS, so I don’t take issue with that specific decision, but I think it is sad that we’ve tacitly accepted that most CS students (even at MIT!) are headed for stitch-shit-together jobs instead of R&D jobs or true technical leadership that will require knowledge of the fundamentals.
Perhaps the MIT Architecture Dept could be replaced by a trip to Ikea. :)
My comment was more an analogy, what if Arch Deot applied CS “poking” strategy. Just s joke.
But no, as a former arch student I’m not a fan of Gehry FWIW.
In the second quote:
What you do need is some amount of time spent on the idea that computer programs are mathematical objects which can be reasoned about mathematically. This is the part that the vast majority of people are missing nowadays, and it can be a little tricky to wrap your brain around at first.
I think I’m in this position, of not really having that fundamental understanding of computing at the root level. Can anyone recommend some learning resources that could help me fill in that gap?
The Structure & Interpretation of Computer Programs is an excellent textbook covering the topic, available for free online :)
Don’t forget the accompanying lecture videos, available on youtube.
oy vey, the category theory fans comments on that post. Category theory is a fundamental part of a clumsy abstraction in a fringe programming language!