Hacker News new | ask | show | jobs
by pingyong 2381 days ago
> Anything you learn in school, you can in principle learn on your own, but it can take significantly more time and there's no guarantee of consistency (compared to someone learning with a teacher).

So, honest question, did you guys really learn anything directly from a teacher? I've gone through high school (obviously) and university but everything I've learned has been at home by reading about it (or simply practicing to become fast enough). The lectures tended to only touch the absolute basic concepts, and the actual learning you had to do at home. Maybe it had to do with the lectures being in giant halls with little to no interaction with the prof in most cases, and that probably changes if you're doing a PhD (or just go to a different university), but even during high school I pretty much never learned anything of note directly from a teacher. So if anything, it would have been significantly faster and more efficient for me to just get a list of topics to learn instead of sitting in class.

As for consistency, my friends from a different university learned in some cases completely different things. If we compare strictly what was discussed in class or required to pass tests, there would be surprisingly little overlap. (And neither overlapped very much with actual programming.) Even courses with essentially the same topic would often differ greatly in content, as the professor usually decided which particular things to focus on. Which is completely fine I mean you can't go in-depth into everything, but this notion of consistency is kind of funny to me when the same degree from different universities (sometimes even the same university just a few years apart with different professors) can mean completely different skill sets. And then of course if your have a CS degree and want to work as a developer, from my experience you have to learn the actual programming pretty much 95% on your own anyway, as most courses focus on purely theoretical topics, and programming simply requires a lot of practice.

2 comments

>I pretty much never learned anything of note directly from a teacher.

I've learned things after being corrected by a teacher, and then I practised on my own until the next mistake, at which point I was corrected again, and so on. It's this interaction that I find valuable, not just stating facts on a blackboard. As I have taught mathematics myself at the university level, I find that students don't really need me to read them the facts, I was more there to align their understanding.

As for consistency, I meant that you won't get to cherry-pick the topics that you like when learning on your own (or solve the problem sets that you find simple), which is a natural thing to do by the way. If you have your own curriculum and you stick to it, that's great, but I have found that when I allowed students to pick their own problems for homework, they grew weaker in some areas and stronger in others. This also didn't give me enough signal on their understanding in general, which meant that it deprived them of useful feedback.

> but this notion of consistency is kind of funny to me when the same degree from different universities (sometimes even the same university just a few years apart with different professors) can mean completely different skill sets.

Absolutely! I didn't mean consistency in terms of pushing out duplicates of the same, but consistency in terms of attacking a variety of problems in some course, allowing you to become well-rounded in your understanding. Once you reach that level, you can fill in the gaps and be comparable to a colleague that maybe had a slightly different curriculum.

>I've learned things after being corrected by a teacher, and then I practised on my own until the next mistake, at which point I was corrected again, and so on.

Yeah, that actually makes sense. I suppose with programming (or anything CS related) I had this feedback loop much more readily available in forums, IRC or Stackoverflow etc. so I never really appreciated having this from a teacher. But outside of CS topics it might not be that easy.

Programming is also special in that you get quick, objective feedback from the compiler and tests themselves.

That's a lot harder to get in many fields.

That is really the most basic part of CS however. Anyone can fumble through with trial and error to get things to work. Design is the hard part, and you can trick yourself into thinking you designed something well just because it compiles and spits out what looks right.
"Does it compile" is indeed a low bar to clear, but you can also get fairly quick data on "how fast is it?" by benchmarking, and sometimes even "how well does it work?" (ML, compilers, etc).
> So, honest question, did you guys really learn anything directly from a teacher?

Reading papers and talking about them with professors has been one of the most invaluable parts of graduate school for me