Hacker News new | ask | show | jobs
by gumby 2690 days ago
> ...[universities] often leave it to students to figure out a lot of the common knowledge about how to actually use your computer.

Now I'm out in the real world (MIT class of '86!) I think this is more of an MIT thing -- many graduates of other schools get explicit training in things that the MIT faculty, fairly or not, assumes students will simply pick up. And this is despite the heavy emphasis on actually doing stuff, especially in the school of engineering. Actually I've had hit or miss results hiring freshly-graduated MIT grads (maybe less so VI-A) for this reason, though once they are up to speed they've mostly been great.

Really good use of IAP by the way!

4 comments

> many graduates of other schools get explicit training in things that the MIT faculty, fairly or not, assumes students will simply pick up. And this is despite the heavy emphasis on actually doing stuff,

uh...I graduated from a low tier state school that was notable in our state for focusing on practical matters....and we didn't get 'explicitly trained' on this either. Most people do just pick it up.

I got a CS minor from a top-5 program, and while a lot of the core classes definitely covered some of these topics in various degrees, it's really nice to see all of these aggregated in a concise way.

While you definitely do pick stuff up over time, this is arranged in a way that I could see myself preferring to reference this rather than find that one stack overflow answer that clicked with me at the time. Now that I at least have a better understanding of these concepts 3.5 years into real-world web development, this seems like a good resource to cover my bases better now.

Well, I appears from my experience a surprising number of MIT students don’t, making this mini-course popular.

As an MIT grad myself I should be biased to think otherwise, and I certainly hope the credential stands for something good. But I haven’t found much difference in programmers 5 years out of school — it’s been attitude that has mattered more.

>many graduates of other schools get explicit training

From my undergrad programming class, which was a while ago, I remember that the first class had a brief intro to vim. But something like vim is an acquired taste. I never used or appreciated vim until much later when I saw others at work use it. During school, I think I used geany since that's relatively easy to use and install on ubuntu. So maybe there is some merit to spending more time on tools. However, my experience is from before everything was so easily accessible on the internet (i.e., pre github, stackoverflow etc.). So maybe these days it's not such a big deal.

I graduated from a low-tier state school and after reviewing MIT's course materials along the way, I feel the opposite. Sure there wasn't a class, but plenty was covered explicitly in the homework and labs.
All I can say is, despite my pro-MIT bias, my experience has been at best mixed, on this dimension.

(BTW, among things I’m glad that MIT has done, open courseware is top of my list. Glad you used it!)

University of Washington CSE added a practical course to get students familiar with Linux and C partly because students are expected mostly to come through other departments / disciplines where the only programming may have come from Java or Python. Students were having great difficulty in higher courses like graphics, OS, compilers, and embedded systems because we weren’t teaching programming courses in our curriculum except maybe our programming languages course itself which covers languages like ML, Scheme, Haskell, or Eiffel and OOP languages like Smalltalk.

Early pilots of the course were put together with a set of Linux guides including bash scripts and Makefiles, source control with svn (hopefully hit by now), and moved quickly into practical stuff with bison / yacc to parse complex files and work with GCC output. I never got to see how well it was received by students but I was glad to see students go through the time-honored traditions of learning CLI tools.