3 ms·
I think this is highly dependent on how your course is structured. I used to do a lot of contractor work and competitive programming before going to uni. I thou
by kidintech 7y ago
I think this is highly dependent on how your course is structured.
I used to do a lot of contractor work and competitive programming before going to uni. I thought I knew how to write code, or at least knew how to "teach myself". I had never been more wrong.
Having tough coursework across diverse esoteric subjects (where you cannot easily stack overflow your way into a solution) was easily the best learning experience of my life. Standing before massive "walls" that looked impossible to climb, and being forced to figure out how to do it on my own, is the most important skill I have. Some CWs which I thought were particularly tough and taught me a lot:
- Kernel for target non-widespread platform (where all you have is the processor's manual), capable of IPC, written from scratch in C.
- Both a pathtracer and a rasterizer without using a graphics library. (you can read about the advantages or disadvantages of each one, but writing both makes you appreciate each technique independently)
- Some sort of compiler or interpreter (parser too).
- HPC problem that requires non-trivial parallelisation and vectorisation.
- Some sort of adversarial attack on a target "real world" platform that uses deprecated encryption (i.e. RSA).
- Individual research project.
ALL of these tasks are possible to do by yourself, independently, but very hard to see them through the end without solid infrastructure and support staff surrounding you. I imagine it takes a very highly motivated individual to do the same things outside of academia.
The biggest benefit of attending uni is learning how to learn and tackle complex problems.