None of us at Arcen ever did any kind of game development studies, and none of us ever worked for an other game companies. Keith and I were both business software programmers for the better part of a decade each, and programming and designing games was a lifelong side hobby. So I don't feel you are at any particular disadvantage with the courses you are taking.
In terms of algorithm development, I would not say that it is particularly different in concept between games and any other software. Every software has its own unique algorithms anyhow, and the underlying principles behind all of them are pretty common. More important is software architecture, in my opinion. That is the thing I found hardes to get right as I refined my engines over the years, and having a really good one now is what lets us do so much so fast. I recommend reading books on design patterns and antipatterns -- those concepts will serve you well in any programming language, oop or not. I also found that the concepts from "discrete math" we're particularly helpful in letting me understand some optimizations to algorithms at a deeper level.
Beyond that, just learning as much as possible about how computers work and what the operations you are usig in a high level language are doing under the hood is good for being able to optimize. Trigonometry is used a lot more in games than in most other software, also. And memory management is more important to really be detailed on, too.
Hope that helps, and thanks for the kind words also!