Hi there! I'm an instructor with OSU's CSE department.  Let me see if I can clarify some things.

The "Resolve" language isn't actually what students at OSU use.  It's a language used for research purposes that undergrads never actually see (it looks quite different from what they use).  Until Summer 2012, when we switch to Java, students use something called Resolve/C++, which is really just C++ with a bunch of stuff added onto it.   The primary purpose of this extra "stuff" is to protect students from pointer errors, while still allowing them to manipulate objects without copying.   This allows us to teach them complicated concepts (like client-based binary search tree algorithms that involve a tree object swapping itself with a subtree) without exposing them to aliasing and dereferencing errors.  The utility of this approach is it greatly speeds up how fast we can teach them these sorts of concepts, until we're ready to actually get to pointers and linked lists.

The use of Resolve/C++ will disappear in a few months to be replaced by a Java series, which is the right thing to do, but it's not without a downside.   In Java, all objects (other than primitive values) are accessed through implicit smart pointers Java calls "references", so aliasing is a constant issue as it breaks encapsulation: imagine a client of a value-based map interface adding (foo, bar) to a map, then changing foo without realizing it: if it becomes a duplicate key, it could break all the operations of the map.   The implementer of the map can't prevent this eventuality in Java.  Additionally, in Java the only parameter that can be passed by reference is the distinguished parameter, so implementing a tree that allows this to swap with this.subtree requires enclosing the parameter inside a separate object, which is ugly, or else writing additional code to support item encapsulation within the tree interface.  So it's far from ideal, but it still needs to happen.

The upside is that students will be learning using a language they can experiment with on their own at home, which is to be encouraged.  As for how useful this is in principle, that's an open question.  OSU's CSE program is both controversial and award-winning.  Employers snap up students with BS in CSE and CIS from this college very rapidly, and they earn much more than people who get "applied" degrees at technical schools, even though OSU students don't come out of the program knowing all the tricks of C++ or Java or MSVS.  That's because needed skills in language and software change very rapidly, and how long do you think the languages of today will be useful, anyway?  Anyone with a strong theoretical background (such as an OSU BS degree) will be able to learn what they need to know on the job.  This is why employers choose them, and I feel the course as it currently is more than adequately prepares them, though some of the syntax is a bit annoying.  (Though apart from some wordy operation names, virtually the only thing students have to type in the labs that isn't standard C++ is the word "object" which is used before stack-based variables.)