I took that exact course nearly 10 years ago at Waterloo.
Part of the problem when I took that course was that neither of the two professors who taught it actually knew C++ themselves. Our final exam contained syntax that wouldn't even compile if it had been tried on a real machine. It was a good thing that I already knew the language.
As for the course itself, I think that the problem is that the curriculum is overextended. They try to combine design, lifecycle methodologies, testing, and C++ all into one course.
I think that OP is misguided in his blanket statements about C++ being a poor teaching language to use in university. While I agree that a different language would be more useful for covering the remaining topics in that course, he's going to need C++ in years 3 and 4 whether he likes it or not. It would be a mistake not to leverage this course as an opportunity to learn about pointers.
Part of the problem when I took that course was that neither of the two professors who taught it actually knew C++ themselves. Our final exam contained syntax that wouldn't even compile if it had been tried on a real machine. It was a good thing that I already knew the language.
As for the course itself, I think that the problem is that the curriculum is overextended. They try to combine design, lifecycle methodologies, testing, and C++ all into one course.
I think that OP is misguided in his blanket statements about C++ being a poor teaching language to use in university. While I agree that a different language would be more useful for covering the remaining topics in that course, he's going to need C++ in years 3 and 4 whether he likes it or not. It would be a mistake not to leverage this course as an opportunity to learn about pointers.