I feel java shouldn't be used for teaching either algorithms or oop. It can be in c or c++ or even smalltalk. There is nothing called c microedition, c++ enterprise edition and pascal bloated profile. c or c++ or any language is just a means of expressing your ideas to solve a problem.
Solving a n-queens problem will stress on the problem and not on the language, the language doesn't matter really. OOP alone cannot make our lives simple look at the linux kernel its really big, can you believe it was written in c?
I feel java shouldn't be used for teaching either algorithms or oop. It can be in c or c++ or even smalltalk. There is nothing called c microedition, c++ enterprise edition and pascal bloated profile. c or c++ or any language is just a means of expressing your ideas to solve a problem.
Solving a n-queens problem will stress on the problem and not on the language, the language doesn't matter really. OOP alone cannot make our lives simple look at the linux kernel its really big, can you believe it was written in c?