My son is currently taking his first programming course as a computer science major in this his sophmore collegiate year. He's struggling with the course, Introduction To C++.
I have a programming background myself, and based on my "old school" knowledge it just seems to me that C++ is an "advanced" programming language and shouldn't be the introductory course to computer programming. It seems to me that a simpler language, perhaps C, would be more appropriate to introduce novice students to the logic behind programming.
He's never taken any previous programming courses anywhere. I feel somewhat guilty now that he is struggling because I thought of, but never got around to, introducing him to some programming at home before he even got to college. Now he's struggling, got stuck with a bum tutor (according to him), and is even considering changing his major to protect his GPA.
My question is: Shouldn't they start with an easier programming language?
He says he has inquired and there is no other Intro course for CS majors, and there are no prerequisites for this Intro C++ course.
It doesn't make sense to start with such an advanced language. Do non-CS majors also start with C++? If not, what are they assuming CS majors know above & beyond what non-CS majors know? Something doesn't seem right to me.