Fortunately, it’s easier and more affordable than ever to learn how to code. As Code.org says, “Anybody can learn.” In the past, we’ve listed the best sites to learn web design– now it’s time to update that with sites that teach beginner coders not only for free, but also in a fun, interactive way. And what’s more fun and educational than learning as you practice?
1. Bitcast
´
Cost: Free; paid screencasts are $3 and up
Level: Beginner to Advanced
Language: Rails, JavaScript, Python, Ember, Node, JQuery, Angular, Django, Dart, Sinatra, HTML, Lisp
Bitcast is a platform that allows you to watch, buy and sell software development screencasts. It has a wide selection of videos for various programming languages. Aside from individual videos, Bitcast also offers bundles that cover a similar topic or progress through a single course. By signing up, you get extra features like managing your own video library, subscribing to developers or topics, and bookmarking screencasts. Just note that Bitcast is community-driven which means that all their material, free or paid, is subject to the developers who uploaded the content.
2. CodeAvengers
Cost: Free
Level: Beginner
Language: HTML/CSS, JavaScript
CodeAvengers offers interactive and step-by-step tutorials for total beginners. Courses are specially designed to teach you how to code an app or website in a fun and challenging way. There are mini-games, points, and badges to make the learning process more enjoyable and motivating. If you get stuck in a task, don’t fret. Access hints, glossary, and code references to help you complete the objective. Sign up to save progress in lessons and projects. CodeAvengers is ideal for young learners interested in coding.
3. CodeCombat
Cost: Free
Level: Beginner - Advanced
Language: JavaScript
CodeCombat is a unique approach to learning JavaScript. According to its creators, to learn a new skill you need to have fast, extensive practice. What they’ve come up with is a role-playing game that teaches you how to code. For beginners, there are several campaigns to teach you the basics. For those with more experience, the site also has a multiplayer mode that lets you code competitively. CodeCombat also has a forum where community members discuss programming and contribute to the development of game itself.
4. CodeSchool
Cost: Free; premium is $29 a month
Level: Beginner - Advanced
Language: Ruby, JavaScript, HTML/CSS, iOS
CodeSchool is a learning platform that teaches programming and web design through screencasts and interactive tasks. You can select from four paths – Ruby, JavaScript, HTML/CSS, or iOS – and under each course are levels. At each level, there is a short screencast and coding tasks. Finish a course to unlock the final video and earn a badge. Sign up through email, Facebook or google+ and you get your own dashboard to track progress and access to their forums to interact with other users. CodeSchool provides a genuine classroom experience in the digital age.
5. Codecademy
Cost: Free
Level: Beginner - Advanced
Language: Javascript, HTML/CSS, PHP, Python, Ruby, JQuery
Codecademy is an interactive platform for learning various popular programming languages. Codecademy challenges traditional teaching by building the first net native education. In each project, you are given written instructions, a document window, and a live preview. Earn badges when you finish sections and lessons. If you get confused, there are hints and references to help you along the way. Signing up is required but you get your own profile to see your progress through streaks and completed goals. Codecademy provides engaging projects and a system that encourages constant practice.
Cost: Free
Level: Beginner - Advanced
Language: JavaScript, Python, Ruby, Java
Learneroo is an interactive learning site that believes you “learn by doing”. Learneroo has courses in four programming languages and other subjects like Math and Physics. In the modules, you have reading materials, then challenges to quiz your understanding of the lesson. Learneroo promotes a hands-on approach to learning by letting you solve the problems through discovery. If the tutorials are too complex, they also have human mentors to help and support you. Sign up can be through email or Facebook. Learneroo gives you full reign on what you want to learn and how you approach it.
Cost: Free
Level: Beginner - Advanced
Language: Python, Java, C, JavaScript, PHP, Shell, C#
LearnPython.org, as well as its sister sites, is a free, ad-supported interactive tutorial site. Its creators believe in letting anyone interested to learn the programming language work with actual code so that learners get a feel of the real thing, without having to install anything. You can run code directly on your web browser, using the coding panel at the bottom of the page. Also check out its versions in other programming languages:
- Learn Java - http://www.learnjavaonline.org/
- Learn C - http://www.learn-c.org/
- Learn JavasScript - http://www.learn-js.org/
- Learn PHP - http://www.learn-php.org/
- Learn Shell - http://www.learnshell.org/
- Learn C# - http://www.learncs.org/
8. LearnStreet
Cost: Free; some modules require payment
Level: Beginner - Intermediate
Language: Java, JavaScript, Ruby, Python
LearnStreet is an interactive platform that teaches programming languages. It has one of the most comprehensive learning interfaces which include the work area, lesson, videos, and glossary in a single window. You have all the necessary tools in one place while you work on the instructions. Aside from the courses, they also have projects that help you practice through building a program. LearnStreet takes a practical approach in teaching and puts you in control of learning how to code.
9. Programmr
Cost: Free; some are paid courses
Level: Beginner - Advanced
Language: Java, C++, Python, C#, PHP, Ruby, JQuery, among others
Programmr offers a wide array of programming languages to choose from, from console, web, mobile, and rich media technologies. You study at your own pace, using interactive hands-on exercises done straight in your browser. To boost learning, there are practice sets and an auto-assessment feature that lets you check your own work. You also have an opportunity to learn and compete with others, showcase your work, and earn certificates.
10. RubyMonk
Cost: Free
Level: Beginner - Advanced
Language: Ruby
RubyMonk is an interactive learning platform for Ruby. The lessons are composed of reading material and puzzles in between. You are a “monk” in training, learning the ways of Ruby through your master. Role playing aside, the interface is very straightforward and easy to use. You can use the website without an account but you can sign up through google+, github or twitter. RubyMonk was created by CodeMonk, who also made a tutorial website for Python called PythonMonk - http://pythonmonk.com/.
11. SQLzoo
Cost: Free
Level: Beginner - Advanced
Language: SQL Server, Oracle, MySQL, DB2, and PostgreSQL.
SQLZoo is a rich resource of tutorials and reference material for learning SQL in various engines. You get access to interactive SQL engines and sample databases. There are exercises to help you practice and instant feedback on how you are doing. SQLZoo is more for the independent learner, if you don’t like too much hand-holding when you study. Aside from SQL, you can also learn CSS with CSSZoo and general programming with ProgZoo, SQLZoo’s companion sites.
12. W3schools
Cost: Free
Level: Beginner - Advanced
Language: HTML/CSS, JavaScript, PHP, SQL, JQuery
Last but certainly not the least, is the reputable W3schools. W3schools is a large resource for website development tutorials and references. It has a no-nonsense approach to teaching, showing you the code and you try it for yourself. No need for signing up, this platform relies on your willingness to study and learn the code through example. It is not the most friendly of environments, but it is a no-frills way of understanding how to code.