OK. That title might be somewhat misleading because you won’t actually travel to the Stanford campus to learn Java. But you will get the opportunity to learn the basics of programming methodologies with a Stanford professor in their CS106A course that introduces students to programming. How cool is that?
There has been an onslaught recently of paid for online tutorials that promise you the riches of programming — if you pay about $200. This is simply a joke. The internets happens to be a wonderful resource with many free tutorials to get you up and going. I have gone through just about every site in my quest to improve my coding skills and found that this Stanford course was BY FAR the most comprehensive and fun way to learn online. The professor, Mehran Sahami, is my new personal hero. I actually love to listen to his lectures and the dorky references he makes to things of the 80s (to which his young students have not a clue). He is a great lecturer – simple to follow and concise.
In addition to having 26 hour long lectures online, you can also download Eclipse (a development tool to write Java) and the all of the course materials online at the Stanford site.
I downloaded all the lectures and material onto my iPad and listened to them on my way to work. Then I would do the homework assignments and check online if they were correct. Pretty awesome stuff.
The courses are available on both Youtube and iTunes U.
- Programming Methodology – iTunes U
- Programming Methodology – Youtube
After you finish this course, you can move onto Programming Abstractions (106b) or Developing Apps for iOS.
Other courses that I really enjoyed and highly recommend AFTER you finish a basic understand of programming with the methodology course would be:
- Learn Ruby on Rails by example – by Michael Hartl
- Learn Python the Hard Way – by Zed Shaw
Keep in mind that all of this still requires that you are somewhat geeky. If you have never programmed anything including simple HTML (and I don’t just mean a bold tag), then I would suggest that you start out with an HTML / CSS book and try to make some static pages. Don’t use WYSIWG editors because that is cheating. Once you are supremely comfortable in that environment, then move on to one of these courses.