I want to self teach this subject to myself, but I don't know where to start.
Computer Science?
I would start with a free CS101 course, here are a couple to check out: http://www.udacity.com/view#Course/cs101/ https://www.coursera.org/course/cs101 http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-01sc-introduction-to-electrical-engineering-and-computer-science-i-spring-2011/
How about java?
Just a side note, I took a web development class before, I know a little of HTML, CSS, XML, Photoshop, and flash.
I would still start with a course like I posted above, the concepts are more important then the language you choose. You will find this as you become a better programmer and are able to learn additional languages easier and easier.
If you want to learn Java, you may want to take a look at the courses at http://see.stanford.edu
Join our real-time social learning platform and learn together with your friends!