So this year I'm taking some time to learn the ropes, on my own and at my own pace.
So whether you're a veteran code monkey who wants to brush up on app development, or a total newb who's finally ready to get into the coding game, I've found six excellent and relatively inexpensive and/or free resources to help you learn how to code better.
1. Mozilla School of Webcraft
Peer 2 Peer University (P2PU) is "a grassroots open education project that organizes learning outside of institutional walls and gives learners recognition for their achievements." It's all about sharing knowledge and giving each other feedback.
Within P2PU is Mozilla-backed School of Webcraft, which offers courses like Webcraft 101, (in English and Spanish), CSS Bliss & Beyond, and Python for Journalists, to name a few.
Pros: It's free, and totally peer-driven. You can also earn badges for completion of challenges. If you're into that kind of thing.
Cons: Some of the sections are really out-of-date and/or lack community involvement.
2. Code Academy
Code Academy is organized into "tracks." Within each track are a series of courses grouped to together to help you learn a topic. Code Academy isn't just about "learning to code" so much as teaching users how to build projects, like a website or game, while learning the basics of code in the process.
Pros: It's free, exercises are broken down into bite-sized pieces and progress is saved along the way. Badges and participation or "streak" points give users incentives to keep logging in.
Cons: In order to keep users engaged, it does send naggy emails.
3. MIT Open CourseWare
MIT offers a wide range of courses through its Open CourseWare program. It makes the materials of more than 2,000 MIT courses available to anyone in the world with an Internet connection, free of charge.
If you're really serious about getting an educational background in Computer Science, then the MIT courses would be an excellent resource. If you're simply interested in learning basic HTML, these classes might be a little too intense.
The class materials are from previous years, and inevitably some information will be out of date. But then again, I had the same problem when I was in university -- and I paid for the classes.
Pros: It's free. And did I mention, it's MI-frickin-T?
Cons: I'm just not ready for "Probabilistic Systems Analysis and Applied Probability."
4. Khan Academy
Khan Academy is a not-for-profit organization with the goal of providing a free education for anyone anywhere.
Pick a topic. Watch a video. Participate in interactive challenges, take assessments and get badges. What is it with these sites and badges?
Want to learn some serious Comp Sci but don't have the MIT math background? Khan Academy offers math classes that'll get you from 1+1 to calculus at your own pace. That kind of foundation will help if you're getting into Booleans, variables and If Statements.
Pros: Not only can you learn Computer Sciences, but you can brush up on your math too. The price is always right when it's free.
Cons: Much like MIT, Khan Academy only teaches the more technical aspects of programming.
Treehouse offers "affordable technology education" to anyone with an Internet connection.
Courses are broken up into videos and challenges, and topped off with a quiz. Pass the quiz and get a badge. Treehouse offers tangible lessons, aka "projects," in things like building a simple website, creating a Ruby on Rails application and building iPhone or Android apps.
Users can also do "deep dives" in HTML, Ruby and iOS development.
Pros: Tangible lessons and a dude with an eyepatch who welcomes you in the introductory video. Also, badges.
Cons: The price. Treehouse offers a two-tier subscription rate of either $25 or $49 a month (or $250 or $490 per year).
When I asked some of my dev friends where they learned how to code, many of them mentioned lynda.com. On lynda.com users can "learn software, creative, and business skills to achieve their personal and professional goals."
There are courses for every skill level in "more than 140 specialties." Not only are there tons of courses on coding, but there are also tutorials on other web and technology-based topics like SEO, project management, user experience, databases and wireframing, to name a few.
Unfortunately, or fortunately, there are no badges to be earned.
Pros: An extensive range of web and technology-related courses. Closed captioning on videos. That's a big plus that's often overlooked.
Cons: A monthly subscription will run you $25+. An annual subscription is $250+.