Lots of people are into programming nowadays. Even kids know how to code. They even have toys to teach them how to code! What’s with the hype? Generally, people learn how to code because they love the challenge, are excited by computers and want to build a career creating websites, mobile apps or desktop programs. But even if you do not intend to become a professional programmer — to make a living out of it — programming can be very useful for you. Programming can improve your life, literally. It can make you more productive, efficient, and effective. To give you an idea how exactly programming is going to make your life a lot easier, here’s an anecdote from Dave McFarland of Treehouse:

One of my colleagues at Treehouse is a video professional who films and edits courses for our site. In the process of preparing a course, Wade needs to deal with many different files — video, audio, motion graphics, and more. Because he’s very organized, he creates a set of folders to organize these materials by type, lesson and course. This requires dozens of new folders for each project. He used to create each of those folders manually for each project. Then he took our Python Basics course, and with a little additional research created a simple script that creates all of the folders for him. This program asks where to create the folders, the name of the course and the number of lessons in the course. It then creates dozens of folders, all properly named for a specific project. What used to be a tedious chore, is now a simple three step (sic) process that takes just seconds to complete. He’s not a programming professional, but he’s using programming to make his work easier.

See? Programming is useful. And you don’t even need to go to a tech school and get a degree in Computer Science to learn how to code! We’ve compiled a list of 8 online courses that will help you learn the basics of coding FOR FREE! Without further ado, here they are:

1. An Introduction to Interactive Programming in Python (Part 1), Coursera

Anyone with a knowledge of high school mathematics is welcome to take this class taught at Rice University. To make learning Python easy, instructors of this course built a new browser-based programming environment. You’ll learn to build simple, interactive games like Pong, Blackjack, and Asteroids.

Duration: 50 hours / 5 lessons

2. JavaScript, Codecademy

Learn the most popular and most in demand skill in the market today, – JavaScript. It is THE programming language of the web. Learn how to develop everything from a simple “Rock, Paper, Scissors” game to an address book and even a cash register.

Duration: 10 hours / 16 lessons

3. Java Tutorial for Complete Beginners, Udemy

Just like the courses title says, this class is designed for anyone with no prior programming knowledge. As long as you have a desire to learn to code, you’re fit to take the class. And don’t get intimidated by a large number of lessons. Although 75 lectures are taught, most of them are under 20 minutes long, and the time commitment is perfectly manageable if distributed well across a few weeks.

Duration: 17 hours / 75 lessons

4. Intro to Java Programming, Udacity

Java is the core language used in developing Android apps and is commonly used in back-end web development. If you’ve never programmed before but are interested in entering either of these fields, then this course is a perfect spot for you to start.

Duration: 24 hours / 9 lessons

5. Make a Website, Codecademy

Take this short, three-hour course to learn how to build a website from scratch using HTML and CSS. You’ll be asked to create a recent version of Airbnb’s homepage and learn the fundamentals of web development in the process.

Duration: 3 hours / 5 lessons

6. Diploma in C Programming, ALISON

One of the most popular and widely used programming languages, C is commonly used to program operating systems such as Unix. Upon completing this course, you’ll learn everything from functions, methods, and routines to variables, arrays, and pointers.

Duration: 15 hours / 17 lessons

7. HTML, CSS, and Javascript, Coursera

Taught by the Hong Kong University of Science and Technology, this course teaches you the essential elements of web development. Although no previous experience in HTML, CSS, and Javascript is necessary, the instructors note that it would be helpful to have some type of prior programming knowledge. By the end of the course, you’ll be able to create a website using HTML elements, apply CSS to parts of a website, and program interactive Javascript in a website.

Duration: 12 hours / 3 lessons

8. HTML5 Part 1: HTML5 Coding Essentials and Best Practices, edX

Anyone with a basic knowledge of HTML and familiarity with CSS is encouraged to take this course taught by the World Wide Web Consortium (also known as W3C). You’ll learn to use the new simplified HTML5 tags, animate fun web graphics, and practice coding techniques through multiple interactive exercises.

Duration: 48 hours / 6 lessons