Hacker News new | ask | show | jobs
by 10x-dev 1436 days ago
I loved 50% of my Master's degree program. Those were the best CS courses I ever took (writing assemblers, compilers, CPUs in FPGA, OS kernels from scratch). I could have presumably avoided the degree and done it all by myself, without the knowledge of a professor, without the support of the TA and without feedback from others, but it would have taken at least twice as long and I am not entirely sure I would have been able to get to the finish line.
1 comments

Agreed completely. Well-taught graduate systems courses are fantastic. Additional courses might include computer architecture (though maybe that was your FPGA course), networking, graphics, databases, numerical computation, parallel programming, AI/ML, etc..

The primary advantages, as you note, of taking a formal course are that it is well-structured and you get feedback and support.

Secondary advantages include a potentially positive and motivating learning environment, meeting and interacting with instructors and other students, increasing your portfolio of completed projects, and a potentially useful or beneficial degree or certification.

Overall though I'd say the main advantages come from completing the course projects.

If you have the time and motivation, you can teach yourself from the same material, but that usually requires more time and motivation.

It's a shame that formal and self-directed education are often seen as being in opposition to each other. As a field I think we should support and encourage both.