My understanding is that C++ is usually offered as the 1st OOP language, and as the 2nd programming language (after C) in my country (Bangladesh). I've taught it several times, and the problem I've run into is that students often tend to think C++ as an extension of C, i.e. C with cin
and cout
!
This has lead me to think about teaching Java as the first OOP language in the upcoming semester.
What is your opinion? I would like some suggestions from professional programmers as well as academics.