EatSleepCodeRunning 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 reading this post by Liz Abinante titled “So, you think you want to be a web developer?”. If you decide it’s the path for you, recruit a friend or find an online community to get assistance. 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).

Learning HTML/CSS

Learning JavaScript

Learning Python

Learning Ruby/Rails

Learning Java

Learning Git

Learning iPhone Development

Learning HTML/CSS

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. – 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.

HTML5Rocks screenshot – Founded at StartupWeekend Philly by Ryan Spahn, CodePupil uses interactive exercises and games to teach HTML/CSS.

CodePupil screenshot – 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.

CodeAcademy HTML screenshot

Recommended HTML/CSS books:

Learning JavaScript

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. – Their online tutorial focuses on learning JavaScript through a series of exercises, much like CodeAcademy.

CodeAvengers screenshot

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.

LearnStreet JS screenshot

As mentioned above, is another alternative.

Recommended JavaScript books:

Learning Python

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.

Screenshot of CodingBat -Python page

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.

LearnPython screenshot

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.

Screenshot of PySchools

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. – 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.

Screen Shot of

Hackety Hack – This download-only software has been compared to TryRuby and is recommended for absolute beginners in Ruby.

Screen Shot of program

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.

Rails for Zombies screenshot

Mentioned above, also check out Codecademy and LearnStreet for Ruby lessons.

Recommended Ruby/Rails books:

Learning Git

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, this interactive courses is associated with Github and promises to help beginners grasp the basics of Git.

Try Git screenshot from CodeSchool

Recommended Git books:

Learning Java

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.

Screen Shot CodingBat Java

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.

Programr java screenshot

Recommended Java Books:

Learning iPhone Development

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.

TeamTreehouse screenshot

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 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.

  1. Instagram’s founder had no programming training. He’s a marketer who learned to code by night
  2. Instagram Founder’s Girlfriend Learns How To Code For V-Day, Builds Lovestagram
  3. Non-Techie Cofounder Learns Code, Builds New Site Feature in 6 Days
  4. How I Failed, Failed, and Finally Succeeded at Learning How to Code
  5. 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.

Subscribe to this blog by email!