You know that it’s totally possible to learn to code for free but what are the best resources to achieve that? Whether you already have some knowledge under your belt or have never typed a line of code before, start by exploring your options on these 11 fantastic websites.

1. Codecademy

Codecademy is the perfect place for aspiring coders to start learning. Interactive projects and quizzes let you get the hands-on experience you need to really grasp the concepts you’re being taught. There are separate courses for each topic: you might start out with Make a Website or Learn HTML & CSS, and progress to JavaScript, SQL, and more. Codecademy also provides forums for discussion, programming language glossaries, and blog posts and articles to help you as you learn.

2. Free Code Camp

At Free Code Camp, you’ll learn powerful skills while (eventually) building real-world projects for nonprofit organizations. It’s an open-source community that provides hundreds (well, thousands) coding challenges, projects, certificates, and connections for aspiring coders–and it’s not a boot camp, so you learn at your own pace. It’s all free, and through it you can even get connected to other up-and-coming coders in your city.

3. Codewars

Programming meets martial arts at Codewars, a coding “dojo” where you’ll practice “kata” challenges to sharpen your skills. As you progress through the ranks, you’ll be faced with more complex challenges, and have the chance to discuss your solutions with others in the community. Eventually, you can even create your own kata and challenge others to solve them.

4. The Odin Project

The creators of the prestigious Viking Code School also have a free version: the Odin Project. It focuses on teaching you the skills you need for a successful career in web development. You’ll come out the other side knowing Ruby on Rails, Javascript, jQuery, and more, with a portfolio to prove it. They also provide tools to connect you with other learners, so you can trade tips or team up on projects.

5. HackerRank

Over a million programmers use HackerRank to hone their development skills by solving code challenges. There’s a fun element of competition to it, as you earn points for conquering the problems and vye for a top spot on the HackerRank leaderboard. It won’t exactly walk you through a lesson; their philosophy is more “learn by doing,” so you might want to use it as practice alongside another curriculum.

6. CodeFights

CodeFights is very similar to HackerRank: you’ll battle strangers (and friends!) for a competitive rank. Race against opponents in real-time to find solutions to a wide variety of coding problems; you’ll have fun while you do it thanks to the game-like structure. The first challenge is easy, but games get harder as you progress. From time to time, you’ll also have the opportunity to compete in tournaments.

7. edX

Learn from the best (like MIT and Harvard) through this open-source higher education community. You’ll find a wide range of computer science courses, and unlike with traditional college, you can learn at your own pace. Note that while the courses themselves are free, you must pay if you’d like a verified certificate (price varies from course to course but is typically $50-$90). When you’re ready to level up even more, edX also features unique “MicroMasters” programs consisting of a series of graduate-level courses that will definitely impress employers.

8. Upskill

No previous experience is required to learn with Upskill, a free bootcamp which takes you from beginner to advanced. A series of video episodes leads you through a variety of portfolio projects, with a laid-back, conversational style. The main focus is on full-stack web development, so you’ll learn HTML, CSS, Javascript, Ruby on Rails, Git, Bootstrap, and more along the way.

9. Khan Academy

Khan Academy is another large education platform that has content on subjects from math to music–including, of course, programming. Start with beginner courses like Intro to JS or Intro to HTML/CSS, then move to the advanced levels once you feel ready. As you learn, you’ll encounter in-browser challenges that require hands-on application of what you’re learning.

10. MIT OpenCourseware

This education platform essentially allows you to attend MIT for free. Their online library includes every topic taught at the school; computer science courses can be found under the School of Engineering (grouped together with electrical engineering). Going through this material will require lots of discipline, since the homework, tests, etc. will all need to be self-administered and self-graded. Still, they’re impressive courses to have under your belt.

11. Coursera

Similar to edX, this online course library features a variety of wonderful classes taught by real professors (via pre-recorded video rather than live interaction). Quizzes and projects allow you to apply what you learn. Exploring non-graded material and watching lectures is free, but you have the option of paying for a more in-depth experience and a verified certificate. If, later, you’re interested in pursuing a specific topic in more depth, Coursera offers specializations that will make you an expert in your chosen area of study.

Original article posted here.