That&#x27;s interesting because the worse course I took was software engineering.<p>The techniques I learned there are all out of date or things I could have learned in the first few months on the job. While the techniques I learned in algorithms and data structures (and other theoretical classes like discrete math and automata) are pretty much still state of the art and have proved useful time and again (and I definitely wouldn&#x27;t have picked most of them up after a few months on the job).