Running my software company from 2009 to 2011 without a development background was challenging to say the least. It is how I became involved with GirlDevelopIt (an organization offers programming classes for women) and why I started LearnRuby101. With this post, my goal is to share the free interactive learn-how-to-code sites I’ve come across that can help you get started. I’ve also gathered the top recommended books on each language from Hacker News.
For non-programmers, I would recommend learning how the Internet works as well before diving into a particular language. It’ll tie everything you’re learning together and ease the pain of getting stuck or frustrated. Also, recruit a friend or get assistance from an online community. The point is – reach out when you need help. It’ll get you through the initial dip.
For programmers that know one or more languages already, this is a useful list if you want to quickly dive into something new without using a compiler.
Finally, for aspiring women coders Pam Selle (one of our GirlDevelopIt teachers), compiled a useful list of organizations solely focused on providing hands-on programming classes that’s worth a look.
(Thanks to Owen Winkler for providing suggestions on this post).
When I was getting into coding, I asked the developers I know where I should start. Almost everyone answered “HTML/CSS.” While it’s not a programming language, it will be needed when learning certain languages and skills in HTML and CSS always come in handy.
HTML5Rocks.com – From blog posts, tutorials, case studies, demos and samples, this site allows you to choose exactly how you want to learn HTML5. A pre-working knowledge of HTML and CSS is assumed. Select an article about transitions, rounded corners, the canvas tag, box shadows and more, then view the code, make changes and look at the output in one screen.
CodePupil.com – Founded at StartupWeekend Philly by Ryan Spahn, CodePupil uses interactive exercises and games to teach HTML/CSS.
Codecademy.com – Codecademy is one of the most talked about new coding sites in the world. It only focused on JavaScript when it launched and it has since expanded to HTML, JQuery, Python and more. Most credit the Company for starting the trend for web-based, interactive programming tutorials.
Recommended HTML/CSS books:
- HTML/CSS – Design and Build Websites – I’m used this book to learn HTML5/CSS3 and I absolutely loved it. It’s not text heavy, has a lot of examples and breaks down every concept.
JavaScript is considered a good successor after HTML and like HTML/CSS, is a front-end language. Protip: If you’re going to be building sites continuously, expand your JavaScript knowledge.
CodeAvengers.com - Their online tutorial focuses on learning JavaScript through a series of exercises, much like CodeAcademy.
LearnStreet - It’s similar to Codecademy in how it’s structured but I liked it better when I started playing with it. It engages you immediately by sharing well-known sites and what they’re built on and the interface is simple and easy to use. You can revisit exercises, even get tips or ask questions when you’re stuck and the site invites you to tweet the teacher directly on Twitter. I also like how comprehensive the descriptions are. They currently offer JavaScript, Python and Ruby tutorials.
As mentioned above, Codecademy.com is another alternative.
Recommended JavaScript books:
I don’t have much experience with Python. Some developers say it’s a good language to start with for newbies and others say it’s not. Talk to a developer (preferably one you will be working with) about what you want to build and have him/her point you the right direction.
CodingBat - Instead of step-by-step tutorials, a series of exercises are featured on this site to challenge and reinforce what you’re learning. It’s a great compliment to learning to program on your own or with a book.
LearnPython - Another free interactive tutorial. This one doesn’t hold your hand as much and includes more instructions to help you understand what you’re learning.
PySchools – Instead of getting right into the code as other sites do, you first have to authenticate your account through a Gmail password. Also, this site assumes you’re already learning Python on your own. Once you’re in, you’ll be able to view exercises and compete with other coders on challenges.
Codecademy just launched a course for Python as well and LearnStreet also has a Python tutorial.
Recommended Python books:
I started learning Ruby because my developer chose the language to build our 123LinkIt site.
TryRuby.org - Created by Eric Allam and Nick Walsh, this was the first tutorial I finished and I absolutely loved the UI and how easy it was to follow along with the commands. It promises to go through the basics in 15 minutes and although it took me a little longer, I highly recommend it.
Hackety Hack - This download-only software has been compared to TryRuby and is recommended for absolute beginners in Ruby.
Rails for Zombies – Offered through CodeSchool, Rails for Zombies is a fun way to “get your feet wet without having to worry about configuration” as the site states. It will take you through five videos, each followed by exercises where you’ll be programming Rails in your browser.
Mentioned above, also check out Codecademy and LearnStreet for Ruby lessons.
Recommended Ruby/Rails books:
I wish I could search my past tweets because I remember stumbling upon an eBook on Git that I found really helpful. I was able to go through it and understand Git in under an hour. Regardless, learn the basics and setup a free Github trial.
Git - Modeled after TryRuby.org, this interactive courses is associated with Github and promises to help beginners grasp the basics of Git.
Recommended Git books:
Often confused with JavaScript by beginners, they’re entirely different. Remember this – Java runs on the server side and JavaScript on the client-side.
CodingBat - Instead of step-by-step tutorials, a series of exercises are featured on this site to challenge and reinforce what you’re learning. It’s a great compliment to learning to program on your own or with a book.
Programr - The site allows you to learn Java through coding challenges and either rewards points based on your answer or displays the bugs in your code. You can select your difficulty level instead of starting from the beginning which I really like. A leaderboard is displayed on the right that shows the top students. They are planning on expanding to PHP, C++, Android and iOS as well.
Recommended Java Books:
I don’t currently have an interest in learning mobile development. A couple of things to know: 1) iOS is Apple’s operating system and 2) you’ll also want to learn Objective-C.
Team Treehouse - Founded by Ryan Carson, the site recently announced it has passed 12,000 active students on the site. It provides nicely designed video tutorials with practice quizes and and code challenges after each section.
You may also want to check out Stanford University’s iPhone Application Development course in iTunes University.
Recommended iOS books:
Resources that deserve honorable mentions:
Coursera.org - Coursera is my favorite online education portal. Founded by two Stanford computer science professors, Daphne Koller and Andrew Ng, the site offers university classes online from top-tier schools like Stanford, Princeton and others. Their mission is to education millions of people globally for free. So far I’ve taken their Intro to Computer Science Science class and I’m in the middle of “Human Computer Interaction.” The courses play out like you’re taking an online class with an instructor. There’s a forum, activities, even weekly homework. Do yourself a favor and sign up for a class today, even if it’s not available. You will learn the latest technologies from teachers at Ivy League schools without the hundreds of thousands in tuition and maybe best of all, while sitting at your desk.
Khan Academy – A non-profit founded by Salman Khan, the Company’s mission is also to provide “ a high quality education to anyone, anywhere.” The website supplies a free online collection of more than 3,300 lectures through YouTube videos teaching a range of subjects with Computer science amongst them.
Udacity – Another free online courses site that uses videos and quizzes to teach STEM-related courses such as software development, math, physics and even a startup course with Steve Blank.
Mozilla Developer Network – Featuring comprehensive tutorials on HTML, CSS and JavaScript, Mozilla provides introductory, intermediate and advanced lessons as well as examples to view.
Google Code University - Offering free resources on web programming, security, algorithms, APIs and even Android, the site features tutorials with examples and even exercises.
The Code Player - This site blew me away when I started going through it. It provides video style walkthroughs of really cool effects like learning how to use Canvas in HTML5, how to make a Google Doodle animation using CSS3 and more using JQuery and JavaScript. You can either view the code or watch someone as they code (hence the name) which is also great for beginners who want to learn on their own pace and do it visually.
Go To And Learn - Created by Adobe’s Lee Brimelow, the sites covers a range of programming languages included above plus those we haven’t covered yet such as Flash, Android, PHP and more.
Flatiron School Pre-work – A school in NYC that runs an intensive 12-week development program open-sourced the material it requires their students to do before they start (hence the pre-work). In all, it’s 4 weeks (80 to 100 hours in total) of reading and assignments that takes you through the web, command line, databases, HTML/CSS, Git, JS, Ruby, Rails, testing and best practices by using Treehouse & Codeschool.
Take advantage of the generous Stack Overflow community to post questions and finally, a highly recommended book that must be included in the mix for those that want to learn more than one language is Seven Languages in Seven Weeks.
Inspirational Stories:
I couldn’t write this post without including inspirational stores of non-developers who talked about how they learned to code, whether it was for love (see first link below) or to their startup. These are great motivators when you’re in a coding slump or stuck on something.
- Instagram’s founder had no programming training. He’s a marketer who learned to code by night
- Instagram Founder’s Girlfriend Learns How To Code For V-Day, Builds Lovestagram
- Non-Techie Cofounder Learns Code, Builds New Site Feature in 6 Days
- How I Failed, Failed, and Finally Succeeded at Learning How to Code
- How I Taught Myself to Code, Created a Startup with a FT Job, New Baby & Living in an African Desert
Stumble this post if you liked it or share it on Twitter or Facebook.

















Pingback: C++ and R « Honglang Wang's Blog
Pingback: Monday Musings: @LearnStreet, #DowntonAbbey | Inside Dave's Head