- Studying medicine at school so you can avoid engaging with the expensive medical system for all but the most critical issues? - Studying law so that you understand how to read contracts and understand legislation?
Mathematics and language are the building blocks of programming. We study those. Going further upstream into the outputs of those disciplines (medicine, law, computer science) to pick compulsory topics doesn't strike me as making much sense.
Also, how do we reconcile this with the emphasis on design whereby the concept of the underlying nuts and bolts should be abstracted away from the end user? (two very separate questions I know)