The problem is a lot of the science might be correct but that doesn't make it pragmatic and more often than not, it's just counter productive.
The problem is a lot of the science might be correct but that doesn't make it pragmatic and more often than not, it's just counter productive.
But the things that are in a computer science course. Type theory, compatibility, time/space complexities, more general algorithmic analysis, Logical programming, logical inference algorithms, Low level fundamentals, Mathematical concepts and proofs, machine learning, different models of programming, combinatorics algorithms. These are very useful many unchanging.
I must concede that I do hold in low esteem theories of practice that are taught as a panacea but this is a tiny fraction of what a student will learn and likely any one learning the craft will simply pick this up from tutorials or youtube.
It's not as if they are always bad rules of thumb either but that they can be done away with or violated once one knows what they are doing and has understood a bit more and got a feel for things.
Other than practicing some leet code in between jobs, it's extremely rare any of that stuff comes up.
The hard parts in my job isn't and hasn't been the computer science parts in a long time, or at least when it does come up it's not something I really think about much. The trade offs are almost always domain, business or product based. The technical solutions are just down stream of those constraints.