Tbh I think that may be it, a weed out class.
Tons of people think they have what it takes to be a programmer and they just don't. This isn't to say coding is hard, it isn't, but to make things that are efficient, useful, scale well, and stand the tests of time you need to have at least a small passion for it.
In my first few CS classes 90% of the students failed or dropped out(no exaggeration). Passing on the first try and passing with an A was something all my classmates thought was impossible. It was seriously common for people to take the first 5 classes up to 5 times.
This shocks the students and makes them realize this isn't a joke and if you fall behind you're gonna be left behind. So the ones who want to make it dig in and figure it out.
After these gateway classes my CS classes got easier and more relaxed by far.
So either it's a similar situation for you or your teacher is outdated and it's gonna be a boring as hell 4 years. I had a few assignments that were dated "September 2002" etc and you ask the teachers and they say "oh yeah, I've been assigning this for 15 years".
It's annoying to deal with old technology and have the geezers tell you it's the best when you know it isn't, like C++98 with VIM, that's not what you're gonna be what you use irl. Visual Studio with C++ 11 is what you'll be using. But at the same time, getting down to the metal of things gives you a very valuable perspective that you end up using even on the highest level languages.