Finding programming study resources is tough. I mean, there's no shortage of material out there on the internet, but from a total beginner's perspective I've always found it hard to know where to start. So many tutorials assume some prior knowledge which I just didn't have. Here are a few links that I've found which stand out as very accessible to the absolute beginner. I'll add to these over time, but for now this is it. If you have any to add, please leave them in the comments.
Learn to Program: Ruby, Chris Pine Recommended by my friend Takaaki, this book/web-tutorial starts assuming that you know nothing, and walks you through the basics of Ruby. Update: There's also Ruby for Kids. Or try beginners.rb.
KillerPHP.com's PHP Video Tutorials These look a bit old, but I find that they're quite useful for learning PHP from scratch.
Python Video Tutorials Some good videos I came across on YouTube. Starts out pretty basic, even covering the install process.
Update 2: Even better videos from MIT. An entire course in python on YouTube, can't ask for much more than that!
- Carnegie Melon University has developed 'Alice', which looks to be a damn simple way to learn basic programming concepts in a visual manner, without the frustration of coding errors. MIT has Kaleido, which is compatible with Processing projects.
- Bryan Woods writes 'the letter I wish I could write to my former self, and have beamed at light-speed through some kind of vacuum tube and delivered at the precise moment when I finally learned to program'. Read this when you hit bumps in the road. See also Learning how to learn.
- Best free programming books with open source licenses Stanford Lectures on Youtube: Programming Methodology Can't go wrong with this one. These lectures introduce you to the very basic ideas of programming, and the prof is a pretty entertaining guy so you're not likely to be bored. I like passive learning, so grab yourself a coffee and a muffin, and sit back and enjoy. They're also on iTunes. Google has some courses too, particularly Python and C++. Though these do not appear to target absolute beginners, I'm going to add this to my list anyway. Their introduction to databases and MySQL looks promising. Another very useful tool to get yourself thinking like a programmer is Kongregate's game Coolio Naito. Manufactoria also looks cool.
, ¶ Other resources
- Code igniter video tutorials
- Carl Herold's programming course, started on reddit (see right sidebar for links)
- Ruby on Rails tutorial from Apple.com
- Learn Programming subReddit
- Creating, installing, configuring and using Git with Github (Thanks Takaaki!)
- Unix commands cheat sheet 30 free programming ebooks
- Hackety Hack (for learning Ruby)
- Andy Boyle and Django
- Data for journalists: JSPN for beginners
- Data for journalists: Understanding XML and RSS
Why Learn Programming?
Right now there are too many things that I want to do, and I'm finding that I just don't have the tools to do them. Simple as that. Whether it's building my own wordpress theme or something a little more ambitious, I don't like being limited by just open source CMSs and online web services. There's nothing as bad as being super-excited about an idea, but not having the tools to execute it. Except maybe syphillis. I hear that's bad too... Plus I understand hardware pretty well after my time with HP, so learning programming will hopefully fill the most obvious gap in my knowledge of how computers work.