27 ms·
> I think ingraining the right discipline might be the hardest part of becoming an effective software engineer. Sure, but that's not the business of a universi
by simiones 5y ago
> I think ingraining the right discipline might be the hardest part of becoming an effective software engineer.
Sure, but that's not the business of a university course to teach.
> Also, this course's OS kernel presumably also has a spec, and implementing such a kernel is also "simply going through the spec".
Per some of the other discussions, this doesn't seem to be the case (i.e. the spec that was offered to students seems to have been quite open ended), as people mention that a huge challenge as a TA was in adapting to the large diversity of approaches that students were trying.
There is also a huge difference between a spec that says "the task scheduler must accept tasks in this format and ensure they are scheduled fairly with an O(n) algorithm" and a spec that says "to enable PVM set bits 1 and 3 in register 7; to issue a new read cycle clear all bits in register 21". Device drivers deal mostly with the latter, unless you move to extremely complex devices like video card drivers, that are probably way more out of scope than a simplistic kernel.