For engineering we had to pick either multivariate calculus or linear algebra for more upper level math courses. I picked multivariate, and I'll say it was also my least enjoyable there. I look back wondering what would have gone different if I picked linear algebra instead, but who knows, maybe I'd have just as blech of an experience with that. Lot of great classes in the EECS department though.
I totally remember 482 (Operating Systems for those reading) being really interesting. Story I remember is one of the final projects and dealing with locks in C++ world where I'd get close to full solution, but some errors from the locks, then I'd make a change and suddenly those previous failing tests passed but new ones failed. I didn't realize that could happen.
Great times. And I really liked how we did it all in C++ (other than computer vision 442 that was in matlab) rather than Python which some places do. Having that lower level understanding of languages in school makes understanding code so much easier, and something I didn't have to learn on my own.