Learn to Code Online: the Ultimate List

I sometimes get questions on how to get started with programming. And the answer unfortunately is often: it depends. It depends on what your experience is, what your goal is, and mostly, what you like doing. To be a bit more helpful in this, I decided to create a list with some resources on how to get started.

The list focusses on different areas, such as general courses, web development, backend development, and mobile development, plus a list of basic skills which are handy to have.

If there are resources missing which you’d like to see here, please put a comment below, and I’ll update the list as soon as possible! Thanks for reading!


This is a list of coding resources which cover a broad range of topics, and these are generally a great place to start.

  1. freeCodeCamp
    freeCodeCamp is a non-profit organization that consists of an interactive learning web platform which will help you to learn how to code in topics such as HTML5, CSS3, JavaScript, Databases, Git & GitHub, Node.js, React.js & D3.js.
  2. Coursera
    Free online courses from universities. Offers a wide range of free online courses, ranging from machine learning to algorithms. Offers courses in Scala, Python, Java, C and many more.
  3. edX
    Similar to Coursera, edX offers free online courses and classes. There are courses available in English, Spanish, French, German and Dutch and some of the topics include Android, Java, C, HTML5,  UX, C#, and Python.
  4. FutureLearn (paid)
    Just like Coursera, edX and MIT, FutureLearn offers free online courses from top universities and specialist organizations. Programming languages: Java, Python & Haskell.
  5. Codecademy
    A great beginner resource on learn to code interactively, for free. Offers courses for HTML, CSS, JavaScript, SQL, Ruby, Rails, Sass, PHP, jQuery, APIs, Python, Java, Git and many other topics.
  6. Khan Academy
    Khan Academy is another non-profit educational organization which offers free classes focussed on most school subjects, such as math, science, besides offering programming classes in JavaScript, HTML/CSS, and SQL.
  7. Udacity
    Maybe not for the absolute beginner, Udacity offers free courses built by Google, Facebook and others which will teach you Data Science, Machine Learning, Programming, Cloud computing, and much more
  8. Udemy
    At Udemy you can follow free and paid programming courses. The free courses consist of Java, Python, HTML5, Swift, iOS, .Net, R, C, JavaScript and much more…
  9. Team Treehouse (paid)
    You can try Team Treehouse one month for free. But this website is really one of my favourites. Treehouse offers different ‘career’ tracks: Rails Development, Java Web Development, Web Design, Front End Web Development, iOS Development with Objective-C, Beginner Android Development, PHP Development, WordPress Development, Starting A Business, Learn WordPress, Python, Ruby and much more…
  10. GA Dash
    This is an online tutorial from General Assembly to help you learn HTML, CSS, and JavaScript. You’ll learn how to create websites from scratch. If you want to learn more, you can follow 13-week courses through General Assembly (not for free ;)).
  11. Lynda (paid)
    Learn a new skill online with Lynda. Just like Team Treehouse, this site offers a Free Trial.  You can, among others, learn C++, Java, C, Visual Basic and Python.
  12. Tuts+
    Learn to code and develop your programming skills with the free tutorials on Tuts+.  This site is very comprehensive and offers videos on WordPress, Angular, Swift, iOS, Android, Ruby, CSS, JavaScript, PHP etc.
  13. The Odin Project
    This site offers a ‘Web Development 101 Course’ where you will learn everything about HTML,CSS, JavaScript, Ruby, Rails, Git, testing, databases, jQuery and more.
  14. MIT OpenCourseWare
    Here you will find the materials used in the teaching of MIT’s subjects. You can find a lot of courses on problem solving, C, Java, C++, MATLAB, Python and algorithms.
  15. CodeAvengers (paid)
    Learn how to code games, apps, and websites with CodeAvengers. Languages: HTML,CSS & JavaScript. As with Team Treehouse and Lynda, this site offers a free trial.
  16. Code School (paid)
    Code School courses are organized into Paths based on technology. You can navigate the learning Paths to find the right course for you. Languages: HTML/CSS, JavaScript, Ruby, Python, iOS, Git, Database, and Electives.
  17. w3schools
    “The world’s largest web developer site”. Find tutorials on HTML, CSS, JavaScript, SQL, PHP, jQuery and Bootstrap.
  18. Nodeschool
    Focussing on Node.js and JavaScript, Git & GitHub, Electron, SASS, MongoDB and a little bit of C++.
  19. Codementor (paid)
    Codementor offers different online coding courses, for example on Angular JS, Ruby on Rails, iOS, Python and they offer a Web Development Bootcamp.
  20. Skillcrush (paid)
    Skillcrush is an interactive online learning community. You can choose different career blueprints: Visual Designer, Web Designer, Web Developer, Front End Developer, Freelance WordPress Developer and Ruby on Rails Developer.
  21. One Month (paid)
    One Month offers a lot of classes and tech career paths. They have an ‘Intro to Coding’ track intended to help you master the basics of software coding.


The command line is usually a big black screen in which you can type things. While it might feel intimidating at first, following these guides will take that fear away, and makes you much productive for tasks like editing files, copying and removing them, and many other tasks.

  1. Command Line Power User
    video series for web developers on learning the command line.
  2. A Command Line Crash Course
    This crash course by Viking Code School teaches you everything thing you need to know.
  3. The Command Line Crash Course
    Part of the ‘Learn the Hard Way’ book series. Personally, I really like these books. And the best part: you can follow this course online.
  4. A Command Lina Primer for Beginners
    Lifehacker wrote a comprehensive blog post about the Command Line.


Git is one of the most popular systems to version your source code, so you can easy revert to previous versions if you make a mistake. Github, not to be confused with Git, is a website where people can host their source code, so it can be easily shared with others.

  • Try Git
    Really nice Git tutorial from Code School & GitHub.
  • Git Immersion
    “Git Immersion is a guided tour that walks through the fundamentals of git, inspired by the premise that to know a thing is to do it”.
  • Git the Simple Guide
    Great guide for getting started with git by Roger Dudler. Available in a lot of different languages.
  • GitHub Guides
    You can also find a lot of guides and tutorials on GitHub.
  • Git Tutorial
    A very comprehensive guide on git from tutorialspoint.


HTML and CSS are generally used for creating websites and styling them. HTML defines the basic structure, such as titles, paragraphs and tables, while CSS can be used to make those items look pretty!

  1. Mozilla Developer Network (also JavaScript)
    MDN is one of the most popular resources for developers on the Web. Designed by developers for Developers.33. 
  2. HTML Dog
    “The web designer’s resources for everything HTML/CSS, and Javascript”. Offers quick and easy-to-follow practical guides.34. 
  3. HTML5 Rocks
    A project from Google where you can find lots of tutorials to dive a little deeper in HTML5.
  4. Marksheet.io
    A great HTML & CSS tutorial that also teaches you about the world-wide web, the browser, and the internet.
  5. Learn to Code HTML & CSS 
    Learn to Code HTML & CSS is a simple and comprehensive guide dedicated to helping beginners learn HTML and CSS: by Shay Howe.
  6. HTML5 Beginner’s Guide
    A nice and brief introduction to HTML5 and CSS. What I like about this guide is that it encourages you to use a text editor.
  7. HTML5 & CSS3 Fundamentals: Development for Absolute Beginners
    This is a Microsoft Virtual Academy course and it’s a bit different from the rest. In this course, you’ll watch 21 videos about HTML & CSS. It’ll teach the fundamentals of HTML5 & CSS programming and besides that, you’ll learn concepts about web pages, CSS3 styles, and HTML5 features. It takes some time to go through all the videos, but they are very clear and easy to follow. You’ll definitely be an expert when you finish this course!


Javascript is mostly used as a language in the browser, so it’s a great start if you want to build amazing websites.

  1.  JavaScript for Cats
    A funny yet useful course to get you started. A small guide (for cats!) that teaches you the very basics of JavaScript.
  2. Learn JS
    Learn JS is an interactive JavaScript tutorial. It teaches you JavaScript in the browser using short exercises. 
  3. How to learn JavaScript Properly
    This is not a tutorial, but a comprehensive guide on learning JavaScript. It also includes a weekly schedule, which comes in handy! 🙂
  4. JavaScript the Good Parts
    “JavaScript has bad parts that many times overshadow its good parts. Douglas claims JavaScript has, “some of the best parts of any programming language ever created.” He explains why in this course, quizzes you on functional programming and covers the monad in the final lecture of the course.”
  5. Eloquent JavaScript
    This is not really a course, but an online book. Eloquent JavaScript gives you a modern introduction into JavaScript and programming.


Python is an easy programming language to get started with, while still offering a lot of possibilities. Python provides and easy way to understand programming concepts such as variables, loops and functions and is therefore probably one of the best languages to get started with programming.

  1. A Byte of Python
    A Byte of Python is also an online book. It’s a free book and serves as a tutorial for the Python beginner.
  2. Learn Python.org
    Learn Python with this interactive Python tutorial in your browser.
  3. Learn Python the Hard Way
    Learn Python the Hard Way by Zed Shaw is a great introduction to programming in Python. I can really recommend reading this book.


Ruby is another programming language, similar to Python. Rails is a framework which uses Ruby to easily create the backend, such as interaction with a database.

  1. Learn Ruby the Hard Way
    Another great book from the ‘Learn the Hard Way’ series by Zed Shaw. This book teaches you everything about Ruby you need to know.
  2. Try Ruby
    You can try out Ruby code immediately with this tutorial. Try Ruby is a very basic 15-minute interactive tutorial that gives you a quick understanding of Ruby.
  3. Rails for Zombies
    Here you can find lots of videos about Ruby on Rails. Each level begins with a quick video lesson, followed by interactive challenges. You program Rails in the browser,  and no installation of Ruby & Rails is needed.
  4. Rails Tutorial
    Ruby on Rails Tutorial: Learn Web Development with Rails by Michael Hartl. It’s a great comprehensive tutorial to get started with Ruby on Rails
  5. RubyMonk
    Also, a great website if you want to learn everything about Ruby. There are beginners, intermediate and advanced levels available.
  6. Ruby in Twenty Minutes
    A small Ruby tutorial that should take no more than 20 minutes.
  7. Rails Karate
    Learn Rails by watching video tutorials for free.


This list wouldn’t be complete without a few links to Java and Kotlin. Java is mostly used for backend programming, while Kotlin can do the same, but it’s most popular when building Android applications.

  • Learn Java Online
    A pretty good resource to teach you the basics of Java
  • Code Gym
    While I haven’t tried this one yet, Code Gym seems like a good online place to learn Java without the need to install anything, with a nice story to keep you interested!
  • Kotlin Koans
    Kotlin Koans are a collection of programming exercises which will help you through the basics while diving into more complex subjects at a later stage.
  • Kotlin.link
    Lots of resources about Kotlin. They are not all beginner friendly, but it’s a great collection of links and books.

Leave a Reply

Your email address will not be published. Required fields are marked *