142 Places to Learn to Code for Free in 2020
Tags: programming
Published: 2020-02-09 19:09:18

---
title: 142 Places to Learn to Code for Free in 2020
published: true
date: 2020-02-04 19:05:00 UTC
tags: programming
canonical_url: https://www.stephanmiller.com/best-places-to-learn-to-code-for-free/
---

### Lists from the Past

The first list I compiled was a list of online sources for parts for a Honda CB750 motorcycle. My first motorcycle was a 1975 CB750 and quickly realized it was the Volkswagen Bug of motorcycles: they were imported, a lot were sold in the United States, and a huge aftermarket sprouted around them that stuck around for decades.

This was before the days of Google. So I wrote a scraper that went through the varous results of Excite, Altavista and half a dozen other search engines and gave me all the unique urls. Then I went through them one at a time manually, checking the results.

I realized nobody else would be that OCD about data. I had spent a lot of hours on the project. I had over a hundred links to everything you could think of for the motorcycle. So I sold the list on eBay for $10 a pop and made $100-$200 a week for a couple of years. It funded all my motorcycle trips in Arizona and all the states surrounding it, at least once a month.

When this blog was more about SEO and online marketing, I compiled a lot of lists that used to be [here](/my-link-lists/) when any link was a good link and it would increase your rank in Google. Those lists were at one time responsible for 1500 visitors a day, because I kept them current and updated.

### A New List for Learning How to Program

This is the first list I have compiled that has to do with programming. I learned to code online with the help of a few physical books. Now that I have a few languages under my belt, I know the territory enough to do most of my learning in bite-sized chunks from Google search results.

But I figured if you are just starting out, you may not know an array from an object. When I started, I tried Python. People said it was easy. I tried Python for a while but I couldn’t figure out where the windows were. Up to that point, I had only used a Windows machine and to me, all software had a GUI, though I didn’t know that term yet. So I went to Visual Basic and stayed there until I learned web development. It helps to have a place to start rather than stumbling around for a few years like I did

Today there are a lot more resources that will start you off on a more solid path. A few will take you from beginner to a job interview in a year or less.

They were hard to categorize. The way I see it, is if you are a complete beginner, chose from either [Online University](#Online%20University), [Online Learning Platform](#Online%20Learning%20Platform), or maybe [Web Development](#Web%20Development), because there are usually a lot of entry-level jobs for web developers. If you already know the basics of one technology, then chose a specific language to learn about. If you already know JavaScript, HTML and CSS, maybe learn some [Python](#Python) or [SQL](#SQL). And if you just want to stay up to date, checkout the [News](#News), [Blogs](#Blogs), [Podcasts](#Podcasts) and [YouTube Channel](#YouTube%20Programming%20Channels) categories.

### Categories

- [Blogs](#Blogs)
- [C#](#C#)
- [Coding Challenges](#Coding%20Challenges)
- [Command Line](#Command%20Line)
- [Cybersecurity](#Cybersecurity)
- [Data Science](#Data%20Science)
- [Free Ebooks](#Free%20Ebooks)
- [Git](#Git)
- [JavaScript](#JavaScript)
- [Kids](#Kids)
- [Machine Learning](#Machine%20Learning)
- [Mentors](#Mentors)
- [Mobile Development](#Mobile%20Development)
- [News](#News)
- [Online Learning Platform](#Online%20Learning%20Platform)
- [Online University](#Online%20University)
- [PHP](#PHP)
- [Podcasts](#Podcasts)
- [Python](#Python)
- [Ruby](#Ruby)
- [SQL](#SQL)
- [UI/UX](#UI/UX)
- [Web Development](#Web%20Development)
- [WordPress](#WordPress)
- [YouTube Programming Channels](#YouTube%20Programming%20Channels)

### Blogs          

  - [
#### Tuts+
](https://tutsplus.com/) Thousands of free tutorials and videos that will help you learn the basics of various programming languages.        
  - [
#### David Walsh
](http://davidwalsh.name/) A blog by the Mozilla senior software engineer.        
  - [
#### CSS Tricks
](https://css-tricks.com/) A well-known blog on web development technologies.        
  - [
#### A List Apart
](http://alistapart.com/) This site began as a mailing list in 1997 and the website has been around since 1998. I don't know how many times a Google search on a programming topic sent me to this site.        
  - [
#### Sitepoint
](https://www.sitepoint.com/blog/) Frequent blog posts from top programmers.        

### C#          

  - [
#### Codeasy
](https://codeasy.net/) Learn to write C# code by playing an adventure game that requires you to write code to finish.        

### Coding Challenges          

  - [
#### CodingGame
](https://www.codingame.com/) Learn to code, practice your programming skills and compete against other developers in the language of your choice.        
  - [
#### Hacker Rank
](https://www.hackerrank.com) A coding platform designed to improve your coding skills and help you find a job.        
  - [
#### Coderbyte
](https://coderbyte.com/) Improve your programming skills with a library of over 300 challenges. Also prepare for interviews.        
  - [
#### Project Euler
](https://projecteuler.net) A series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve.        
  - [
#### Code Chef
](https://www.codechef.com/) Practice the coding challenges to become a better developer, compete with others to see how you rank or finish quizzes that could land you a job.        
  - [
#### Codility
](https://app.codility.com/programmers/lessons/) A software platform designed to test coding skills for tech recruiters and hiring managers, but open to the public so you can test your own skills.        

### Command Line          

  - [
#### Command Line Power User
](https://commandlinepoweruser.com/) A video series for web developers on learning a modern command line workflow with ZSH, Z and related tools.        
  - [
#### Conquering the Command Line
](http://conqueringthecommandline.com/book) Free online version of the book "Conquering the Command Line".        
  - [
#### Learn Command Line Basics
](https://onemonth.com/courses/command-line-basics/) Get started using the command line with this course.        
  - [
#### Learn Enough Command Line
](https://www.learnenough.com/command-line-tutorial/basics) Full online book that will teach you how to use the command line.        

### Cybersecurity          

  - [
#### O'Reilly Security Books
](https://www.oreilly.com/security/free/) Free ebooks on cybersecurity from O'Reilly.        
  - [
#### Cybrary
](https://www.cybrary.it/) Free courses in cybersecurity, with the option to pay for certificate based courses.        

### Data Science          

  - [
#### Elite Data Science
](https://elitedatascience.com/) EliteDataScience.com helps busy people streamline the path to becoming a data scientist.        
  - [
#### Dataquest
](https://www.dataquest.io/) Dataquest will teach you data skills. Learn Python, R, SQL, data visualization, data analysis, and machine learning. Try any of their 60 free missions to start your data science journey.        
  - [
#### Springboard
](https://www.springboard.com/learning-paths/data-analysis/) Learn data analysis with this free curriculum covering statistics, data wrangling, and visualization by an Airbnb/MIT alum.        

### Free Ebooks          

  - [
#### Launch School Open Book Shelf
](https://launchschool.com/books) A dozen free books on programming.        
  - [
#### Free Ebook Foundation
](https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md#professional-development) There are over 3000 links to free programming ebooks in this list. You should be able to find out about any topic you can think of.        

### Git          

  - [
#### Git Immersion
](http://gitimmersion.com/) A guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it.        
  - [
#### Learn Enough Git
](https://www.learnenough.com/git-tutorial/getting_started) Complete online book that will show you how to use Git.        
  - [
#### Try Git
](https://try.github.io/) Multiple resources that will teach you Git, hosted with Github.        

### JavaScript          

  - [
#### Watch and Code JavaScript
](https://watchandcode.com/p/practical-javascript) A free online course that will teach you JavaScript.        
  - [
#### JavaScript for Cats
](http://jsforcats.com/) A simple tutorial you can complete in an hour or two using the console of your browser.        
  - [
#### Watch and Code
](https://watchandcode.com/p/practical-javascript) A JavaScript course that promises to take out all the fluff and teach you exactly what you need to know for real life projects.        
  - [
#### JavaScript Essentials
](https://www.udemy.com/javascript-essentials/) A free course from Udemy on the basics of JavaScript.        
  - [
#### React Armory
](https://reactarmory.com/) Learn React without everything else that makes it confusing.        
  - [
#### Learn React for Free
](https://scrimba.com/g/glearnreact) Learn React with 57 online screencasts.        
  - [
#### VueJs.org
](https://vuejs.org/v2/guide/) Learn VueJs at this site.        
  - [
#### JavaScript.com
](http://javascript.com/) A basic intro to coding JavaScript brought to you by Pluralsight.        
  - [
#### Jquery Learning Center
](https://learn.jquery.com/) Jquery may not be used as much now when there are JavaScript frameworks, but sometimes you only need a little JavaScript, so it is good to know some Jquery.        
  - [
#### A Better Way to Learn Angular
](https://thinkster.io/tutorials/learn-angular-2) Angular is not AngularJS. Learn the new Angular.        
  - [
#### Learn JS
](http://www.learn-js.org/) Learn JavaScript with an interactive online tutorial.        
  - [
#### Learn ReactJS
](https://www.codecademy.com/learn/react-101) A 7 hour long beginner course on React.        
  - [
#### Sololearn JavaScript Fundamentals
](https://www.sololearn.com/Course/JavaScript/) Learn the fundamentals of JavaScript online or from your phone.        
  - [
#### W3Schools JavaScript Tutorial
](https://www.w3schools.com/js/) Learn JavaScript from the site I tend to land on pretty frequently when I have coding questions.        
  - [
#### Eloquent JavaScript
](http://eloquentjavascript.net/) This is an online book. I love this book. It really was a turning point in my knowledge of JavaScript.        
  - [
#### Node School
](https://nodeschool.io/) Open source workshops that teach web software skills. Do them on your own or at a workshop nearby.        
  - [
#### Microsoft Channel 9 JavaScript Fundamentals
](https://channel9.msdn.com/Series/Javascript-Fundamentals-Development-for-Absolute-Beginners) 21 episodes from Microsoft Channel 9 that will teach you JavaScript.        

### Kids          

  - [
#### Code Avengers
](https://www.codeavengers.com/) This site, based out of New Zealand is designed to make learning to code fun.        
  - [
#### CodeHS
](https://codehs.com/) CodeHS is used as part of the curriculm in high schools across the country. Home learners can also sign up.        
  - [
#### Code.org
](https://code.org/) I put this under the kids category, but they actually have free course up to university level, organized by grade level. It's goal is to make programming a part of the regular educational curriculm.        
  - [
#### Crunchzilla
](http://www.crunchzilla.com/) Interactive tutorials that will teach you the basics of programming.        

### Machine Learning          

  - [
#### Google AI
](https://ai.google/education/) Learn machine learning from the experts on the subject at Google.        
  - [
#### Machine Learning Mastery
](https://machinelearningmastery.com/) A site dedicated to simplifying and teaching machine learning to developers.        

### Mentors          

  - [
#### Hack.pledge()
](https://hackpledge.org/) This is a community of developers who have signed a pledge to mentor new developers.        

### Mobile Development          

  - [
#### Design and Code a Cool iPhone App
](https://line25.com/tutorials/design-and-code-a-cool-iphone-app-website-in-html5) A tutorial on the easy way to create an iPhone app with just HTML5.        
  - [
#### Google Android Training
](https://developer.android.com/guide) Learn to develop Android phone apps from the company that created the platform, Google.        
  - [
#### Start Developing iOS Apps
](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/index.html) Learn to develop iPhone Apps from Apple.        
  - [
#### Android Developers
](https://developer.android.com/docs/) The official docs for Android.        
  - [
#### Swift Playgrounds
](https://itunes.apple.com/us/app/swift-playgrounds/id908519492?mt=8) A gamified app-based way to learn about iOS app development.        
  - [
#### Google Developer's Training
](https://developers.google.com/training/android/#for-new-programmers) Learn how to develop Android apps even if you are new to programmings.        

### News          

  - [
#### Hacker News
](https://news.ycombinator.com/news) A site based on Reddit where users vote on programming stories. One of the most popular programming sites online.        
  - [
#### Medium Programming Category
](https://medium.com/topic/programming) I wasn't sure about the News category and how to seperate that from Blogs. This is here because I am considering any site that aggregates a bunch of blogs as a news source, a place to find something new you might want to explore. You an usually find high quality content on Medium.        
  - [
#### Lobsters
](https://lobste.rs/) A site similar to Hacker News, where users vote on popular programming stories.        

### Online Learning Platform          

  - [
#### Udacity
](https://www.udacity.com/) You can access all courses for free or pay to earn a nanodegree.        
  - [
#### Sololearn
](https://www.sololearn.com/) Millions of users are active on SoloLearn. Each course is geared toward a specific language or technology with complete lesson plans and frequent quizzes.        
  - [
#### Free Pluralsight Courses
](https://learn.pluralsight.com/resource/free-course/free-weekly-course) Pluralsight is a staple of on the job learning for tech companies. I have worked at two companies so far that bought licenses for all the developers. The whole Pluralsight platform is top notched. Most of the courses cost money, but there are a few free ones.        
  - [
#### W3Schools
](https://www.w3schools.com/) I often end up here when I search for a programming related issue on Google. The site has been around for a long time an houses a wealth of programming information.        
  - [
#### Scotch.io
](https://learntocodewith.me/scotch) Build real world projects by following these online video tutorials.        
  - [
#### After Hours Programming
](http://www.afterhoursprogramming.com/) Basic site to learn about various programming languages.        
  - [
#### Hackr.io
](https://hackr.io/) This is actually a searchable, votable list of coding tutorials submitted by users that are hosted elsewhere. So if my list is not enough for you, go there to find more.        
  - [
#### Simpliv
](https://www.simpliv.com/free-courses) A paid online learning platform that offers some free courses.        
  - [
#### Microsoft Learn
](https://docs.microsoft.com/en-gb/learn/) Learn about Microsoft technologies and prepare yourself to pass Microsoft certifications online.        
  - [
#### Course City
](https://coursesity.com/) An aggregator for courses hosted on other platforms.        
  - [
#### Upskill
](https://upskillcourses.com/) Upskill is a free online code boot camp that is project-based which means you will be building a portfolio as you learn.        
  - [
#### The Odin Project
](https://www.theodinproject.com/) Learn coding and get hired while interacting with fellow students.        
  - [
#### Code Conquest
](https://www.codeconquest.com/) A great site to learn the basics of programming.        
  - [
#### Code Wars
](https://www.codewars.com/) Kata style learning platform for a bunch of technologies.        
  - [
#### BitDegree
](http://bitdegree.org/learn/) At BitDegree you can take courses of JavaScript, HTML, CSS, PHP, SQL. And they have free certifications.        
  - [
#### Khan Academy
](https://www.khanacademy.org/) Learn to code at one of the original and most well known learning platforms.        
  - [
#### freeCodeCamp
](https://www.freecodecamp.org/) **I think freeCodeCamp is one of the best programs I have seen. I wish it was around when I was getting started. I think I would have made a big difference in my career. It is 100% free. There are a lot of technologies covered. You can follow a frontend developer roadmap, backend developer roadmap, or a devops roadmap. You can even get a certificate. They have coding interview prep. They will even help you get a job. You can even work on projects for non-profit organizations to build a portfolio. Currently over 40,000 people have gotten jobs after freeCodeCamp.**
  - [
#### Agupieware
](http://blog.agupieware.com/p/online-learning.html) Agupieware is a suite of courses created by an independent software developer who surveyed the courses of some of the top universities in the United States and created a similar curriculm        
  - [
#### Udemy
](https://www.udemy.com/) Udemy is one of the largest online learning platform with some free courses. Note that they have frequent sales on paid courses with really deep discounts, sometimes over 50% off.        
  - [
#### Bento.io
](https://bento.io/) This site curates online learning courses from across the web and combines them into full curriculms.        
  - [
#### Code Academy
](https://www.codecademy.com/) At Code Academy you can learn basic programming skills for free. They also have pro courses available for a monthly fee.        
  - [
#### Skillcrush's Free Coding Camp
](https://learn.skillcrush.com/skillcrush-free-bootcamp/) A course for the total beginner that can be completed in 5 minute increments. Great for getting for feet wet and deciding if development is for you.        
  - [
#### Edabit
](https://edabit.com/) Learn to code with interactive code challenges.        

### Online University          

  - [
#### MIT Open Courseware
](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/) You can audit the MIT courses online for free.        
  - [
#### Coursera
](https://www.coursera.org/) At Coursera, you can take courses from universities around the country and some of them are free. You can even earn a degree or certificate.        
  - [
#### edX
](https://www.edx.org/) edX is an online university similar to Coursera with some free courses. You can also earn a degree or certificate.        

### PHP          

  - [
#### PHP the Right Way
](https://phptherightway.com/) An online course that will teach you PHP.        
  - [
#### Killer PHP
](https://www.killerphp.com/) ‘Killer’ PHP Lessons for Non-Nerds!        
  - [
#### Learn-PHP.org
](https://www.learn-php.org/) Whether you are an experienced programmer or not, this website is intended for everyone who wishes to learn the PHP programming language. Learn online in the browser.        
  - [
#### Learn PHP
](https://www.codecademy.com/learn/learn-php) Learn the fundamentals of PHP, one of the most popular languages of modern web development.        
  - [
#### W3Schools PHP Tutorial
](https://www.w3schools.com/php/) Learn PHP at W3Schools.        
  - [
#### Develop PHP
](https://www.developphp.com/) Learn not only PHP here, but JavaScript, CSS, HTML and Flash.        
  - [
#### PHP Buddy
](http://www.phpbuddy.com/) This site is designed to help you learn PHP programming here you will find high quality PHP articles, Quick Start PHP tutorials and scripts that will help to you learn PHP quickly.        

### Podcasts          

  - [
#### Learn to Code in One Month
](https://podcasts.apple.com/us/podcast/learn-to-code-in-one-month/id1460397186) Each week Chris Castiglione interviews successful business founders, startups and programmers and asks them how they learned to code.        
  - [
#### Developer Tea
](https://spec.fm/podcasts/developer-tea)
  - [
#### ShopTalkShow
](https://shoptalkshow.com/) A podcast about building websites, covering development, design, performance, accessibility and more.        
  - [
#### Learn to Code with Me
](https://learntocodewith.me/podcast/) A podcast by Laurence Bradford, who taught herself to code and you can too.        

### Python          

  - [
#### The Python Foundation's Beginner's Guide
](https://wiki.python.org/moin/BeginnersGuide/Programmers) A list of links to Python courses and tutorials.        
  - [
#### The Hitchhiker's Guide to Python
](https://docs.python-guide.org/intro/learning/) The full book online along with links to other Python books and courses online.        
  - [
#### Learn Python Programming by Example
](https://realpython.com/start-here/) Learn Python by working with real-world examples.        
  - [
#### LearnPython.org
](http://www.learnpython.org/) Learn Python with an interactive online tutorial.        
  - [
#### Google's Python Class
](https://developers.google.com/edu/python/) Learn how to write Python from Google.        
  - [
#### Learn Python the Hard Way
](https://learnpythonthehardway.org/book/) This is the complete book on published online for free.        
  - [
#### A Byte of Python
](https://python.swaroopch.com/) A free online book on programming using the Python language.        
  - [
#### W3Schools Python Tutorial
](https://www.w3schools.com/python/) Learn Python at W3Schools        
  - [
#### Learn Python
](https://www.codecademy.com/learn/learn-python) A free 25 hour course that will teach you Python.        

### Ruby          

  - [
#### Learn Ruby On Rails
](https://www.codecademy.com/learn/learn-rails) Learn the basics of building applications with this convenient and powerful web development framework.        
  - [
#### Learn Ruby Online
](https://www.learnrubyonline.org/) This website is intended for everyone who wishes to learn the Ruby programming language.        
  - [
#### Rails Girls
](https://guides.railsgirls.com/) These guides are built to provide tools and a community for women to understand technology and how to build their ideas.        
  - [
#### Ruby Koans
](http://rubykoans.com/) Learn Ruby with interactive tutorials.        
  - [
#### W3Resource Ruby Tutorial
](https://www.w3resource.com/ruby/) A course on Ruby.        
  - [
#### Ruby in 20 Minutes
](https://www.ruby-lang.org/en/documentation/quickstart/) A free, quick course from the official Ruby site.        
  - [
#### Learning Ruby the Hard Way
](https://learnrubythehardway.org/) This is the complete book on published online for free.        
  - [
#### Rails Tutorial
](https://www.railstutorial.org/book) A complete online book that will teach you Ruby on Rails.        
  - [
#### Ruby Monk
](https://rubymonk.com/) Free, interactive tutorials to help you discover Ruby idioms, in your browser.        
  - [
#### Ruby On Rails Tutorial
](https://www.tutorialspoint.com/ruby-on-rails/) This tutorial has been designed for beginners who would like to use the Ruby framework for developing database-backed web applications.        

### SQL          

  - [
#### MySql Tutorial
](http://www.mysqltutorial.org/) Learn basic MySql, advanced MySql, even learn how to interact with MySql using Python, Perl, PHP or JavaScript.        

### UI/UX          

  - [
#### UXPin
](https://www.uxpin.com/studio/ebooks/) Free ebooks on UX design.        
  - [
#### UX Beginner
](https://www.uxbeginner.com/) Learn how to get started in UX design.        
  - [
#### The Encyclopedia of Human-Computer Interaction
](https://www.interaction-design.org/literature/book/the-encyclopedia-of-human-computer-interaction-2nd-ed) Full book online. There are also a few other good books available for free.        

### Web Development          

  - [
#### MarkSheet.io
](https://marksheet.io/) Learn HTML, CSS and SASS.        
  - [
#### The Code Player
](http://thecodeplayer.com/) Learn to code by going through real-life case studies of projects.        
  - [
#### HTML5 Rocks
](http://www.html5rocks.com/en/) As the name suggests, you can learn HTML5 at this site.        
  - [
#### HTML Dog
](http://www.htmldog.com/) Free HTML tutorial. If you plan on doing web development, HTML is where you start.        
  - [
#### Learn HTML & CSS for Free
](https://learn.shayhowe.com/html-css/) Learn HTML and CSS, neither of which are actual programming lanuages, but we're not counting.        
  - [
#### Web Fundamentals
](https://developers.google.com/web/fundamentals/) Learn the basics of web development from Google        
  - [
#### Mozilla Developer Network
](https://developer.mozilla.org/en-US/docs/Learn) Learn Web Development from a company that helped to set some of the standards.        
  - [
#### Learn HTML for Free
](https://onemonth.com/courses/learn-html-free) If you know you are going into web technologies or you are unsure of what type of programing you might like, chances are that you will have to know some HTML. And if you know HTML, you will need to know some CSS to layout and style that HTML. This is the perfect place to get your feet wet.        
  - [
#### Dash General Assembly
](https://dash.generalassemb.ly/) Learn the basics of HTML, CSS and JavaScript.        

### WordPress          

  - [
#### WPBeginners WordPress Tutorial
](https://www.wpbeginner.com/) This site will teach you the basics of Wordpress for free in a week or less.        
  - [
#### WordPress.tv
](https://wordpress.tv/) A site that hosts videos and Wordpress is the only topic.        
  - [
#### Beginner's Guide to Creating a WordPress Site
](https://www.smashingmagazine.com/2016/02/beginners-guide-creating-wordpress-website/) A really long form blog post on creating a WordPress site.        
  - [
#### Learn WordPress
](https://learn.wordpress.com/) Learn the basics of using WordPress. Not necessarily about coding, but if you have no experience, WordPress can be a good place to get your feet wet.        

### YouTube Programming Channels          

  - [
#### Derek Banas
](https://www.youtube.com/user/derekbanas) Derek makes tutorials based on your requests. He will cover any topic you can imagine. New programming videos are uploaded on Saturday and Wednesday morning. He live streams at 8PM EST on Monday and at 7PM EST on Tuesday, Thursday and Friday.        
  - [
#### thenewboston
](https://www.youtube.com/user/thenewboston) Tons of sweet computer related tutorials and some other awesome videos too!        
  - [
#### LearnCode.academy
](https://www.youtube.com/user/learncodeacademy) 100% FREE Web Development tutorials, web site design tutorials and more.        
  - [
#### Programming Knowledge
](https://www.youtube.com/user/ProgrammingKnowledge) Dozens of videos that will teach you how to code.