Unlike many of my coworkers at Appnovation, I never took a minute of Computer Science at school. Fine Arts sounded like a good idea at the time (yes, you were right Mom).
While front end development scratches my creative and logical itches, I've always thought it would be great to know how the backend of sites work as well. Double-threat!
While a Homer Simpson-like return to college sounds like a hoot, 2014 tuitions are too steep for my blood and time is even more precious. So where does a parent with a full time job turn to upgrade his skills?
The internet of course! No, not YouTube, I promise.
The following are a smattering of free and cheap options for learning how to code online. For my purposes, I chose to focus on Computer Science in general and Javascript in specific. Your mileage may vary depending on your subject of choice.
MOOCs
Short for Massively Open Online Courses, MOOCs have been growing in poularity over the last 5 years. While a convenient and cheap extension of distance learning, often from household names such as Harvard, MIT and Stanford, high "drop-out" rates keep MOOCs from reaching wider adoption.
Coursera and edX offer a wide range of free courses from the top schools. You can pay for certification at both. Both have comprehensive Computer Science sections with the edge for Coursera for offering more courses in non-English languages.
One other hitch is that MOOCs are presented as "real" courses so you can't just pick up a class whenever you like. For this reason, I decided to look elsewhere for training material. I'd say MOOCs are still worth a browse if you are both motivated and dedicated.
University Programs
Various universities offer open courses for free with paid certification. Much of this course material is exactly the same as what you would find at Coursera or EDX. For instance, Stanford points directly to the former and Harvard to the latter.
One advantage with University programs is that you can gain access to the course materials and lecture videos directly without having to sign up for an account.
The flipside of this is that you don't experience any of the interactivity and gamification touches that other sources do. You must provide your own motivation and follow-through.
iTunes U
iTunes offers courseware from most of the free University sources I've mentioned above. iTunes U is certainly amongst the most convenient delivery methods for lectures in audio, ebook and video form (even powerpoint presentations).
Of late, Apple has provided their own Apps in the Classroom series presumably to sell their own devices to educators.
It goes without saying that iTunes U is only for iOS devices.
Free Options
Codecademy (that's strangely hard to spell) offers a solid list of the most popular web-development languages. This site gets top marks for interactivity as it eschews video lectures for instant code validation.
All of their lessons are broken down into bite-size chunks and each section lists your current level of completion. Once you get rolling, I'm sure this could be an addictive way to learn new skills in your spare time.
Each lesson features a StackOverflow-style forum and an extensive glosssary.
Gitbook is very new to me but it certainly has me intrigued. Github + Markdown + eBooks sounds awesome to a web developer.
They even offer monetization options for authors to take their books directly to Amazon, Barnes & Noble and Google Play.
On the consumption side, Gitbook seems to offer a wide range of mostly free, mostly software development books with simple interactivity in a wide range of written languages.
The discovery of books could use some improvement. Books can only be filtered by "Trending," free vs paid, or by written language. Books can be reviewed out of 5 stars but you can only see this if you hover over a single title. If you want to see how many reviews a book has received, that requires 2 more clicks. Thankfully you can search through books by title.
Khan Academy (pause for Start Trek II reference) has been around for a long time but they've really upped the production quality in recent years.
Of the options I examined (both free and paid), KA features the most overt gamification options including some very Pokemon-inspired avatar options complete with evolutions (I'm calling Nintendo's lawyers now).
KA has added a great deal of written documentation and interactivity to their staple video lectures but the emphasis still seems to be on the latter. Each section features a healthy amount of upvoted comments and answers.
Sadly for me, KA does not focus on Computer Science in great depth. Those interested in Sciences and Math will be very pleased. KA features some Arts and Humanities subjects and interesting collaborations with MoMA, NASA and even LeBron (no kidding).
Paid Options
Lynda.com is another site that has been around forever. The service starts at $25 per month but this fee gives you Netflix-style, all-you-can-eat access to every video covering a huge range of web development and non-dev skills.
This would be good for those life-long learner types, I imagine.
StackSocial is an interesting option on this list because it is more akin to a Groupon/HumbleBundle-style deals site than an education provider. What it does offer is a number of Design and Development bundles costing between $0 to $89 USD.
The free options require some cheesy social media finagling but the paid ones are a real steal. I purchased the Javascript bundle recently and was pleased to find that every component was a for-pay Udemy courses at all skill levels.
I'm sure the quality of courses will vary but StackSocial clearly discloses the author or provider of each with a direct link (so you can see how much you are saving).
What's more, SS sells design assets, software bundles and gadgets right along with with their courses. While it might seem stange to see a course offered right next to batteries and a scanner, you should find something that piques your interest if you're a techie.
Udacity differentiates itself from other MOOC offerings in a number of ways. Udacity is for-pay only as far as I can tell. It seems to focus more on Software and Data Science industry expertise as opposed to freely-distributed academic content. As a plus, courses do not have specific start and end dates although their "Nanodegress" do. Didn't try this but I'm definitely curious.
Udemy (not to be confused with Codecademy or Udacity) is a mostly for-pay clearing house for short video courses (1 - 20+ hours) on a wide range of subjects.
While the interactivity of each course is limited (source files are provide in most cases) the direct focus on specific topics is welcome.
The browsing experience is pleasant and fully featured (a lot like buying stock photography). You can read a description of each instructor (mostly certified industry professionals) and preview videos before you take the plunge on a course.
As each course is offered a la carte, you get lifetime access should you want to access it later. They're offering a big Black Friday sale right now too!
Top Picks
Of course there are countless free or paid ebooks, apps and articles from various developers. I'd be wary of some of these as they vary greatly in quality and ROI.
For now, I have chosen Codecademy and Udemy (via StackSocial) as a good entry point to continue my education. Now all I have to do is stay "on course." Wish me luck!
As in all things educational, you get out what you put into it. Thankfully I have dozens of talented coworkers to tell me exactly how I'm doing it wrong.