So, I just finished up a semester of Java at NYU as part of their SCPS Java Certificate program. Taught by Sam Sultan, it was an amazing class. In fact, it was probably the best programming class that I have ever taken. I walked away after the ten weeks with a much deeper understanding of object oriented concepts. I recommend this class regardless of whether you want to study Java or not. It will give you a leg up with learning other languages.