If you were being taught software engineering as an engineering discipline, these should be absolute bread and butter core components of the course.
If you were being taught software engineering as an engineering discipline, these should be absolute bread and butter core components of the course.
If you want computing theory without programming, you do a math degree with specialization in computing theory.
Plenty of other countries follow similar practices.
I'm increasingly convinced that the apprenticeship program approach would yield far better, deeper results than how we're going about recruiting these days, but most business leadership is fiscally addicted to short-term hire-fire cycles instead of looking for ways to exert more control over their destinies. I suspect that recruiting model is an ingredient to systematized innovation (the "deeper" part I mentioned, which I use to denote internalized concepts, procedures, mental models, etc. necessary to fluent application and craft that I believe are absolute table stakes in innovation).
[1] https://www.glassdoor.com/Interview/mechanical-engineer-inte...