Java is a decent learning language because you can get logic and basics down without worrying about platform details and other things that are abstracted away, but I argue that it's an absolute requirement that students take a C/C++ course later on so they can learn about memory management, null-termination, pointers, and all that good stuff. Even if you never use it, it makes you a better programmer when you understand what's going on behind the scenes.