Hacker News new | past | comments | ask | show | jobs | submit login

I disagree with this. A good Computer Science program must have enough software development curriculum that people actually learn to write code.

MIT'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.

> 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 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.

Right, 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).

I'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.

Yeah, Lisp especially is one of those mind-expanding languages, I think everyone should at least play around with it at some point.

YMMV, but 6.172 (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).

I 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.

Yeah, 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.

Yeah. 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.

Haha 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.

I 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_...

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.

Oh, that's a pretty sweet looking textbook. Reminds me a bit of http://landoflisp.com/

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact