Learn to Code With These (Mostly Free) Resources

by Ian Hernandez
Learn to Code With These (Mostly Free) Resources thumbnail

Have you guys heard about this thing called “the Internet”?

Seriously, I know we’re all just trying to survive the generative AI era and still have jobs (any job?) a decade from now.

And there’s one thing that can’t hurt: Learning to code.

Even with the rise of AI, coders and programmers are in demand around the world.

Plus, programming is more than just a way to build things — Coding helps you learn to solve problems, aids people in need, and, as Steve Jobs admonished, teaches you how to think.

The good news is you don’t have to live in Silicon Valley or have expensive, high-tech gadgets to learn how to code. Self-taught programming has been on the rise, and you can join the masses taking to the web to learn the next universal language.

With the click of a mouse, you can develop a whole new repertoire of programming skills, and we’ve got all the resources you need to help you learn to code and build your next website or app.

Here is a hefty list of 58 free online courses, open-source resources, and low-cost tools to get started.

Get Content Delivered Straight to Your Inbox

Subscribe to our blog and receive great content just like this delivered straight to your inbox.

Learn HTML

Let’s start with the front end.

Although HTML isn’t necessarily “coding,” it’s the fundamental building block of most of the web pages in the world.

If you’re just dipping your toes into understanding programming, HTML is a great place to start.

Let’s look at the best resources to learn HTML.

#1: Programming With Mosh (YouTube)

Dive into the Programming with Mosh channel, and you’ll find bite-sized coding classes on almost any topic you can imagine. From C++ to Java, Mosh offers a huge collection of videos on almost every language, syntax, and topic. Most videos are just 60 minutes, and they’ll teach you the ABCs of the topic and how to create neat, tidy code.

Unsurprisingly, this HTML for Beginners video will have you writing functional HTML in about an hour.

#2: Learn HTML From Codecademy

Codecademy’s Learn HTML course traverses a spectrum of topics, including elements, structure, tables, forms, and the much-discussed semantic HTML.

After signing up, you get a tour of enlightening textual explanations plus the chance to roll up your sleeves and get your hands dirty with real coding exercises.

Best of all: It’s 100% free.

#3: Learn-HTML.org

Don’t overlook learn-html.org, which houses a treasure trove of HTML tutorials.

The journey begins with the basics like elements, selectors, and classes and then propels you to format links, lists, and images in HTML. Each lesson includes code samples and exercises to help you master the art of writing compliant markup.

Learn CSS

DreamHost Glossary


Cascading Style Sheets (CSS) is an essential coding language used for styling web pages. CSS helps you create beautiful pages by modifying the appearance of various elements, including font style, color, layout, and more.

Read More

After you master HTML, you’ll be hungry to make things look neat and tidy. That’s where  Cascading Style Sheets (CSS) comes in.

Use these resources to learn how to write optimized CSS that works in every browser, screen size, and resolution.

#4: Codevolution’s CSS Crash Course (YouTube)

Codevolution’s CSS Crash Course

In need of a CSS starter kit? Check out Codevolution’s CSS Crash Course. It’s a brief – yet comprehensive – tour around the basics of CSS. It’ll teach you how to add and customize styles in an HTML document and covers color, text, fonts, lists, tables, and more.

However, keep in mind it’s just a crash course. It’s great for beginners but doesn’t cover everything.

#5: SuperSimpleDev’s HMTL & CSS Full Course (YouTube)

Have you ever watched a 7-hour YouTube video?

If you’re looking for a much more comprehensive (and functional) guide to learning CSS, this video is a great walkthrough. It also covers HTML, so if you already know HTML (or used one of the above resources), you can skip through those sections to get to the styling parts.

#6: Learn CSS From Codecademy

Codecademy’s Learn CSS course is another great way to go.

The course takes you through the right way to format files, add cool features, and design impressive layouts. It covers everything from syntax to colors and typography. Each lesson provides a detailed explanation and hands-on practice. You can see how your code touches up the website’s look in real time.

DreamHost Glossary


Typography is a process of arranging a typeface in variations of font, size, and spacing. This involves making text’s appearance, style, and arrangement readable and visually pleasing.

Read More

#7: CSS Diner

Ever thought mastering selectors could be fun? CSS Diner is an online game turning learning into an entertaining experience. It’ll equip you with the skills to pinpoint specific elements at the start of your CSS journey.

Learn JavaScript

HTML and CSS are great, but if you really want to “write code,” learning JavaScript might be your easiest entry point.

Using JS, you’ll be able to manipulate front-end components and start to work on back-end development. That makes you a full-stack developer. (Congrats!)

#8: Learnjavascript.online


It does what it says on the tin. Learnjavacript.online is an ultra-simple (but great!) way to learn JavaScript from your browser.

It’s an interactive hub where you can read bite-sized tutorials, roll up your virtual sleeves, and experiment with actual coding in the code playground, all without leaving your browser. The magic lies in the “learn and apply” formula, allowing you to practice new skills on the fly. Enjoy the first seven chapters on the house, and if you’re really cruising, a single payment unlocks the whole training.

#9: Scrimba

Picture a coding school with no dry lectures, but a hands-on learning style. It’s all about practical coding skills, without the theory. Just remember, completing the free HTML & CSS crash course would make your journey smoother when moving onto JavaScript.

#10: Free Code Camp

The site FreeCodeCamp.com offers a repository for free courses, including many JavaScript learning tools and lessons. You can work on 40 projects after learning the basics. There’s less hand-holding than some other guided resources, but the content’s valuable.

#11: JSRobot

If you thought coding was all about cramming commands, JSRobot is here to change your mind. You won’t spend a lot of time learning before you start programming. You’ll find yourself writing efficient code faster than you anticipated. So, roll up your sleeves, let your little robot guide show you the ropes of JavaScript logic, and watch the magic happen.

#12: CodeCombat

CodeCombat breaks down the walls of traditional learning, providing an engaging, socially interactive space to learn to code. The mix of a comprehensive curriculum and a charming fantasy world makes learning feel like an adventure. And for those with a competitive streak, pit your JavaScript skills against others in the exciting CodeCombat AI League.

Learn React

ReactJS (usually called “React”) makes building reusable components, forms, and interfaces easy.

This is technically a JavaScript library, but because it’s so popular and widely used, it’s worth taking the time to learn React if you want to get serious about building apps and software.

#13: React Official Tutorials

React Official Tutorials

The React official website is a goldmine of resources for all things React, from essential documentation and tutorials to a bustling community forum for collaborative problem-solving. A GitHub link to React’s source code is readily available. For beginners, the Tutorial tab hosts a fun introductory lesson that has you crafting a mini-game while teaching React fundamentals.

It’s tailor-made for hands-on learners and perfectly complements the wealth of advanced resources under the Docs tab.

#14: Learn React From Codecademy

Codecademy’s self-guided Learn React course is a ticket to the exciting world of React programming.

From creating components, props, and states to using React with JavaScript, you’ll learn it all. Completion of the course enables you to build simple React applications. You can become a React proficient in just 20 hours!

#15: Free Code Camp

Free Code Camp offers the course, Learn ReactJS – Complete Roadmap. It lays a clear path for front-end application building with React. Ideal for beginners, it can help grow your skills from intermediate to advanced React development.

#16: React JS Frontend Web Development For Beginners From Udemy

This no-cost Udemy course is set to walk you through the basics of hooks and working with external APIs. Additionally, it offers insights into making AJAX requests and the construction of a news app.

While you get access to nearly three hours of video content by default, you can spring for the paid membership to receive a completion certificate and the chance to engage in Q&A and direct messaging with the instructor.

#17: Egghead.io

Want to dive all the way into React? Meet Egghead.io.

This site provides numerous video courses tailored to your learning. The Beginner’s Guide to React is a 30-part course that lets you learn in a distraction-free setting, starting from scratch and culminating in a deployed application.

From understanding React’s problem-solving capabilities to JSX’s role and managing state with hooks, it’s a thorough, hands-on course. Plus, once you’re done, there are plenty more courses to go deeper.

Learn PHP

If you work on WordPress websites, you’ll want to learn PHP.

PHP pulls information from the database and allows you to format and display it on the front end like a pro. Cozy up with the code editor and dive in so you can debug the next plugin that goes haywire.

DreamHost Glossary


PHP (Hypertext Preprocessor) is an open-source scripting language. It’s widely used in web development and can be embedded in HTML. Several popular Content Management Systems (CMS), such as WordPress, are built with PHP.

Read More

#18: PHP For Beginners By Traversy Media (YouTube)

Traversy Media’s “PHP For Beginners” is an invaluable tutorial for anyone keen on learning PHP. Across three hours, the YouTube video takes you through the A to Z of PHP, touching upon functions, loops, and arrays.

Convenient timestamps help you focus on your areas of interest.

#19: PHP Tutorial For Beginners – Full Course By Envato Tuts+ (YouTube)

Looking to spend seven hours learning PHP instead of three? We’ve got you covered.

Seriously though, Envato Tuts+ offers a comprehensive PHP course aptly titled “PHP Tutorial for Beginners – Full Course”. Jeremy McPeak, the instructor, begins with fundamentals and progressively delves deeper into the language. The course is designed to make you adept at writing functions, manipulating variables, understanding syntax, and handling GET and POST requests.

While longer than the above option, it’s also more comprehensive.

#20: Learn PHP From Codecademy

For those seeking a structured PHP learning resource, Codecademy’s “Learn PHP” course is an excellent option.

This is a 25-hour curriculum covering variables, functions, arrays, loops, and other PHP essentials. Each module is followed by hands-on exercises that reinforce learning. The course also provides helpful aids, like hints, a cheat sheet, and module-specific community forums. Plus, you can use the built-in playground to write and test your code as you learn.

#21: PHP Apprentice

PHP Apprentice offers a unique approach to learning PHP. This online book, accessible for free, demystifies PHP practices through its well-structured chapters and coding examples. Best of all, it’s being actively maintained and updated. So there’s new content and new lessons being added all the time.

PHP Apprentice

Learn SQL

SQL (pronounced “sequel” and stands for “Structured Query Language”) is one of the most common and popular languages for accessing and manipulating data in a database. In other words, learning SQL is sort of like learning the Dewey Decimal system…but for computers.

#22: SQL For Beginners Tutorial (YouTube)

A 45-minute video crash course makes learning SQL basics a breeze.

This tutorial includes a detailed walkthrough on setting up Microsoft SQL Server and SQL Server Management Studio, two free and powerful tools. Gain a good understanding of tables, primary keys, and various data types, building a strong foundation in SQL.

#23: Learn SQL From Codecademy

Codecademy offers beginner-friendly courses like Learn SQL that guide you through the core concepts of SQL and relational databases. The best part? You can progress through these modules at your own pace, making it an ideal choice for independent learning.

#24: SQL Tutorial On W3Schools

SQL Tutorial on W3Schools

W3Schools offers an extensive SQL tutorial for those seeking a deeper understanding. It covers everything from writing properly structured SQL statements to advanced operations like database creation and alteration. Once you’ve digested the material, you can check your comprehension with hands-on exercises.

#25: Complete SQL Bootcamp (Udemy)

Udemy’s Complete SQL Bootcamp is a solid choice if you’re looking to certify your SQL skills. The course covers data analysis, table creation, database establishment, and much more, using PostgreSQL, a knowledge base that can be transferred to other SQL databases. Earning this certification could significantly boost your resume.

Learn Python

Coding isn’t all just variables and if-then statements.

Data analysis, data structures, algorithms, and machine learning are a hot topic these days. (You know, with that pesky AI thing requiring lots and lots of data.)

Learning Python will help you get your foot in the door on these topics and use cases.

#26: The Python Beginner’s Guide

For Python beginners, the official Python website is an indispensable resource. The freely accessible Beginner’s Guide serves as a roadmap to your Python journey. It links you to various learning tools like quizzes, assignments, cheat sheets, and style checkers.

#27: Introduction To Python Programming (Udemy)

There’s a concise yet comprehensive course on Udemy aimed at those new to Python.

It’s a compact program that runs just under two hours but covers essential Python concepts such as scripting and the creation of functions.

#28: Learn Python 3 From Codecademy

Ready to make it official with Python?

The Pro plan from Codecademy features an immersive Python 3 course well-suited for an introduction to scripting and fundamental programming concepts. Lessons span various topics, including Python syntax, control flow mechanisms, function building, and data structuring with lists and directories. There are no prerequisites, and after roughly 25 hours of study, learners can earn a certificate.

#29: LearnPython.org


LearnPython.org, an interactive learning platform, houses a great collection of coding tutorials. From elementary lessons on variables to advanced modules on data science, it caters to learners at all stages. It also extends a collaborative space on Facebook, connecting learners worldwide.

#30: Learning Python: From Zero To Hero (Free Code Camp)

I mean…who doesn’t want to go from zero to hero? Am I right?

Free Code Camp’s “Learning Python: From Zero to Hero” course is a text-based course that presents Python’s essentials in a clear and accessible manner. Master the art of variables, conquer conditional statements, and unleash the power of looping as you navigate through engaging sections. Explore the versatility of lists, dive into the intricacies of iterating through diverse data structures, and unlock the potential of objects and classes. By the time you complete this course, you’ll have transformed from a Python beginner to….well, a hero.

#31: One Month Python Bootcamp

Take the leap from beginner to advanced Python programming with the One Month Python Bootcamp. This comprehensive, self-paced course offers a project-based approach to deepen your understanding of Python. While it costs $299, the intensive material and hands-on projects provide the foundation you need to excel as a Python developer.

Coding Challenges, Games, And Assessments

We know gaming isn’t time-wasting — rather, it’s an engaging way to learn and practice new concepts as you learn to code.

Use these online activities to sharpen your skills:

#32: CodeAbbey

CodeAbbey is a collection of beginner-to-advanced practice problems that allow you to earn certificates and hone your skills. Consider it a type of fun homework.

#33: Coderbyte


Choose a coding language and solve challenges; accompanying solutions and tutorials help you cement crucial programming skills with step-by-step instructions.

#34: CodinGame

Play virtual coding games (think: destroying enemy ships with code) that can teach you essential skills and get you noticed by companies.

#35: HackerEarth

Coding activities with purpose. Help solve real-world problems for businesses with innovative programming solutions while joining a community of coders working on improving their skills.

#36: HackerRank

Unearth your inner coding competitor and solve challenges while interacting on a leading recruitment site for companies (meaning, it’s a resume builder!)

#37: Codewars

A great resource to train yourself, collaborate with others, and create in a variety of programming languages.

#38: Exercism

The website promises to help you “Get really good at programming.”

Can’t argue with that.

Practice problems (mini-quests) for newbies and experts, tailored to your interests, whether you want to learn to code, increase fluency in your chosen language, or develop clean code. Just submit your solutions and get helpful feedback. Works through GitHub.

Books To Learn To Code

No dull, dusty textbooks here — these programming reads can provide you with useful reading material.

#39: The Self-Taught Programmer

The perfect manual for self-studiers, written by one of coding’s own amateur-turned-professional graduates. ($9.99 Kindle Book)

#40: A Data-Centric Introduction To Computing

Want to start at computer science 101 and build your skills from a foundation of computing basics? This is the book for you.

Read this free online book to get an intro course on all things comp sci.

#41: Software Engineering For Internet Applications

Writing lines of code is one thing. Software development—actually building functional software—is more complex. Check out this book that goes beyond computer programming and shares how to plan and develop actual software products.

#42: Foundations Of Data Science

If you were gripped by the likes of Python or SQL, you may be more interested in data science than purely writing code. This book eschews writing code and delves into the world of advanced data and mathematics.

#43: How To Learn To Code & Get A Developer Job

Written by Quincy Larson, the founder of FreeCodeCamp, this book bridges practical programming skills with applications in the real world. If your goal is to use your skills to start a new job or career in computer programming, this will help you get there!

Coding Mentors And Meetups

Want to meet with like-minded individuals? Find a mentor or coding event in your area.

#44: Reddit Programming Buddies

Virtual classified ads for programmers; identify programming comrades that match your unique skills and interests and collaborate on personalized projects.

#45: CodeNewbie

This social media site and community allows you to connect with others learning to code. Share progress, ask questions, and learn together.

#46: CodeBuddies


This is a large community of programmers who connect via Slack and organize study (screen-sharing) hangouts. Make your hangouts as unique as your project.

Bonus: Coding Podcasts

Load up your device with audio coding lessons and listen on your commute or during your workout. Once you’ve mastered the coding courses, perhaps you’ll even decide to start your own podcast.

#47: Coding Blocks

Shoptalk about development best practices relevant to a number of different programming languages.

#48: DevRadio

Though its last episode came out a few years ago, you can listen to Microsoft’s DevRadio, a by-developers, for-developers podcast with lots of software and programming info.

#49: Software Engineering Daily

Featured interviews with experts that touch on tech topics like mobile app development and developer testing.

#50: Developer Tea

A snackable-size podcast designed for busy schedules. Listen to quick bites on all kinds of developer-designed details.

#51: Programming Throwdown

A perfect podcast if you want a little taste of everything; each show covers a different programming language, so you can expand your coding knowledge with each episode.

#52: CodeNewbie

This weekly podcast features stories and useful lessons from other individuals who are on their self-taught programming path.

Cost: Free

#53: Learn To Code With Me

Laurence Bradford’s weekly podcast helps self-taught coders transition to the tech field with useful real-world examples and tips on developing marketable skills and enhancing your resume.

Bonus #2: Coding For Kids

Turns out, it’s never too soon to start introducing your tots to their first bytes.

#54: C++ for Kids (Code Babies)

This board book will introduce your infants to C++ programming fundamentals. Also, check out HTML for Babies and Javascript for Babies, all in conjunction with site Code Babies.

(Amazon, $9.19)

#55: CSFirst

This Google-backed project offers a range of free resources that introduce kids to coding and computer science concepts.

#56: Code.org Student

A youthful resource for finding online programming courses or local classes. Includes games and activities.

#57: MoonHack

A record-setting event for Code Club where kids ages 7 to 18 around the world join together to tackle projects. Participants can take on MoonHack’s recommended problem or their own idea (moon-themed, of course). According to its website, over the last six years, more than 150,000 kids have coded as part of Moonhack.

#58: Code Your Own Games!: 20 Games To Create With Scratch

Entice youth early to get involved in coding with this easy-to-follow (and super fun) visual guide that helps them learn to program their own games. Gaming + learning = win-win.

(Amazon, $11.69)

Calling All Self-Taught Tinkerers

Whether you’re just learning to write your first function or you’ve been speaking machine language since you were in diapers, DreamHost is for you.

Our mission is simple. We make it easy to bring your dream to life.

Sign up for our newsletter to get many more great resources to help you build your next site or launch your next business venture.

Ian is a Product Designer based in Los Angeles, California. He is responsible for driving brand and product design at DreamHost, developing and maintaining our internal design system, and writing frontend code when he can. In his free time, he enjoys walking his dog, learning history, and discovering new music online and irl. Connect with him on LinkedIn: https://www.linkedin.com/in/ianhernandez23/