5 ms·
I disagree with this. A good Computer Science program must have enough software development curriculum that people actually learn to write code.
by hildaman 7y ago
I disagree with this. A good Computer Science program must have enough software development curriculum that people actually learn to write code.
- ericd 7y agoMIT's was (is?) heavy on theory, light on coding practice. I still think it was a pretty good program, they just expected that you'd learn to program outside of class.
- ghaff 7y agoI took the 6.001 edX courses a while back. Introduction to Computer Science and Programming in Python--actually broken in 2 parts for edX. Yeah, it came across to me that the expectation was that you'd learn to program mostly outside of the course. Or, really, that you already had a reasonable grasp on the basic concepts. Otherwise I think that course would feel to most people like being tossed into the deep end of the pool from a great height. To be sure, with the campus version of the class there would be recitation sessions and other resources to get help on the programming side. There's also a companion textbook that goes into more Python details. But that's certainly not a class to "learn to program," much less how to work on a command line, use an editor, etc. That may be reasonable for an MIT CS curriculum but most other majors probably don't have the same degree of implied prerequisites.
- ericd 7y agoYeah, that was a pretty common feeling in 6.001, especially among those who hadn't done much programming in high school. At the time, it was taught in Scheme (a Lisp), which no one I knew taking it had any experience in, so everyone was on sort of equal footing there, at least. And more generally, it seemed to be a pretty common approach there to throw students into the deep end and let them figure it out - people liked to compare the experience to trying to drink from a firehose :-D. I'm not sure if it's optimal for learning the material itself, but it does make jumping into new subjects seem less daunting after you've gone through that a few times.
- ghaff 7y agoYeah. Course 2. '79. :-) There's probably an expectation these days that students have some degree of exposure to computers. When I took an intro to computing course (FORTRAN) it was pretty much no expectations. But times have changed. And I found 6.001x useful. But then I had a lot of experience with computers even if not programming full-time professionally.
- ericd 7y agoHaha so you know the feeling well. Makes sense, guessing not many high schools even had one computer until the Apple II, which I guess would have been a bit after you graduated. Side note, I love that it's possible to take a course like that online for ~free now.
- ghaff 7y agoI didn't touch a personal computer until a few years later in a job where we had an Apple II to do some engineering calculations. High school was BASIC using a teletype connected to a local community college--and that was pretty forward looking at the time. I did take a FORTRAN course in college which people would consider very rudimentary today. This was the textbook :-) https://openlibrary.org/works/OL6795090W/A_Fortran_coloring_book https://openlibrary.org/works/OL6795090W/A_Fortran_coloring_... But I didn't really use a computer to speak of (other than as a text editor in grad school) until I was working--and later got into programming as a hobby.
- ericd 7y agoOh, that's a pretty sweet looking textbook. Reminds me a bit of http://landoflisp.com/ http://landoflisp.com/
- sli 7y agoI'm not an MIT grad, but this has been my approach over the past few years when I decided I needed to educate myself on more paradigms rather than more languages. I found it less helpful to expand my skillset of similarly-styled languages and far more helpful to learn languages that are fundamentally different than the ones I already knew. Basically, I decided I should learn Lisp instead of yet another C-style language. The end result is nice little feedback loop of far better understanding of the theory and concepts behind the code that I write feeding into writing better code, which then feeds back into better understanding. So now when I help peers (especially friends still in college), I focus less on the language and more on helping the concept click for them. I can't say how well this works in practice in a university -- it sure seems to work for MIT -- but I know that in my professional life it has made just about everything I do far easier to reason about and my work is all the better for it.
- ericd 7y agoYeah, Lisp especially is one of those mind-expanding languages, I think everyone should at least play around with it at some point.
- yodsanklai 7y ago> light on coding practice I did for fun two MIT graduate students labs (operating systems, and distributed system) that complement the lectures. https://pdos.csail.mit.edu/6.828/2014/overview.html https://pdos.csail.mit.edu/6.828/2014/overview.html http://nil.csail.mit.edu/6.824/2015/ http://nil.csail.mit.edu/6.824/2015/ I found them very challenging and interesting. It took me a few weeks to complete them, and I didn't even do the "project" part which was more open-ended.
- ericd 7y agoRight, the labs were the major exception (and by far my favorite part, even though they tended to involve a lot of sleeping on things other than beds).
- jbn 7y agoYMMV, but 6.172 (https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-172-performance-engineering-of-software-systems-fall-2010/ https://ocw.mit.edu/courses/electrical-engineering-and-compu...) doesn't seem light on coding to me (full disclosure: I have been one of the MITPOSSE for this class for multiple years).