This site by my former ComSci instructor is such a huge boon for anyone who yearns to code, using the Java programming language. Most schools nowadays try you with Python, but I think that's more for scripting/automation, while Java thrusts you into the Object-Oriented programming (OOP) paradigm, which is shared by the mainstream languages (C++, C#, etc.). Don't start with the CS 101 section, which uses "Alice" (it's like a kid's app) but instead, start with the CS 201 course.
What you'll need to get started is the Eclipse (Java) development suite, as well as the Java JDK.