Learn to code with hands-on, immersive, project-based instruction.

Want to learn to code? Start learning in seconds—it's free.
Start Coding Now
Image of CODE -- HTML

What is this?

Why learn to code?

Programming is not for everyone, but here are a few reasons why you might want to give it a try.

Launch Your Career

Learning how to program and build software applications is a crucial 21st century skill which will give you fantastic professional and career opportunities over the coming decades. The US Bureau of Labor Statistics for instance forecasts software developers as enjoying 26% job growth through 2018 with a median salary of over $100,000.

Furthermore, programming can put you in an excellent position to manage other programmers, if switching to a career in management is your cup of tea, or work in other areas of tech, such as product development, design, data science, etc. In short, learning to code is a fundamental skill required for a wide variety of 21st careers.

Build a Startup

Many of the large companies which have changed our world in the last 25 years began as small startups driven by software development. And we have seen these companies grow massively and completely change our world - for instance, Apple is now worth more than the entire US energy sector.

With coding skills in your pocket you can start a business and solve problems for yourself and others. You don't even need startup funding because you can build the initial product yourself, and if you want to raise money you will have a much better chance if you already have a prototype you can shop around.

Achieve Freedom & Flexibility

Work from a desk or a beach. You can work from anywhere as long as you have a computer and internet. Work 40 hours a week, 80, or 10. The jobs available are so varied that you can find a work schedule to fit any lifestyle.

Software is everywhere. Whether you are passionate about gaming, travel, education, non-profits, healthcare, renewable energy, or space travel, you can find a software career. Solve the problems you care about the most.

What You Will Learn

{

1

}
Programming Fundamentals (100% FREE to everyone)

After this section you will be able to program. You won't be writing complex apps yet but you'll be familiar with everything listed below.

Specifically, you will learn the language TypeScript (a typed version of JavaScript) and basic programming concepts such as data structures and algorithms. This foundational knowledge will be directly transferrable to learning any other programming language in the future.

{

2

}
Developer Workflow (beginning of paid course content)

Learn about the tools developers use on a daily basis to get work done. Become familiar with common workflows and practices and how teams coordinate development on complex software projects.

You will learn how to use tools developers use to build software, such as VS Code, terminal, and GitHub, and you will learn how to deploy simple websites to the internet. You will use these skills to develop and deploy all of the course projects, which will give you a portfolio of projects to showcase your work to future employers.

{

3

}
Async Programming & APIs

Learn how to accomplish larger tasks with code and how to tell your code to interact with other programs. Learn about how your phone or laptop can communicate with a server.

This section will serve as the foundation for how your UI (app) will communicate with your server, or how any program you write can communicate with other programs. This type of communication typically uses an API (Application Programming Interface). Here we will learn what APIs are and how to use them.

{

4

}
UI Programming

Now we start diving deep into what building an app for a user looks like. Learn how to build the interface that users interact with.

You will learn ReactJS, a popular tool for building user interfaces, and other frontend skills such as Redux, React Hooks, CSS-in-JS, and Flexbox. This section will give you the skills to build complex single-page web applications (SPAs).

{

5

}
Server Programming

In this section learn about servers, what they are used for and how to create one. Hint: Servers are just computers that run a certain type of software.

You will learn NodeJS and Express, popular frameworks for building server applications, and you will learn how to design APIs which support basic CRUD (Create, Read, Update, Delete) functionality.

{

6

}
Databases

This section builds on the last, going deep into how large amounts of data are stored and retrieved using databases.

You will learn about the two most common types of databases, relational (using PostgreSQL) and non-relational (using MongoDB).

{

7

}
Mobile

In this section we introduce programming a new type of computer: Mobile phones.

You will learn building cross platform native mobile apps using React Native and other tools for building mobile web experiences.

{

8

}
Testing & Automation

Learn about how you can automate tasks, including testing your own apps to make sure they don't break when you add new features.

You will learn how to use unit, integration, and end-to-end testing to ensure changes to your software do not introduce new bugs and you will learn how to use libraries such as Jest and Cypress to do this. You will also learn how to use programming to build simple tools to automate tasks and improve your life.

{

9

}
Debugging & Refactoring

Here we dive deeper into two vital skills for all programmers: Debugging and refactoring.

You will learn how to find precisely where in a program the code is breaking and how to rework the code (refactor) so that the bug is unlikely to reappear in the future.

{

10

}
Delivery & Deployment

When you write software you will be doing it on your computer, but eventually you will want to launch that software so a wider audience can use it. This is called "deployment" and this section covers it in detail.

You will learn about common cloud service providers like AWS (Amazon Web Services) and GCP (Google Cloud Platform) and how to build CI/CD (continuous integration and deployment) pipelines to automate your software deployments.

{

11

}
Capstone Project

The final stretch. At this point we'll walk you through some real world projects after you implement them yourself.

These are real-world projects that you can deploy and use. You will be able to point to these projects during interviews to show that you really know what you're talking about. Best of all, you really will know what you're talking about.

{

12

}
Career & Interview Section

The final stretch. At this point we'll walk you through some real world projects after you implement them yourself.

These are real-world projects that you can deploy and use. You will be able to point to these projects during interviews to show that you really know what you're talking about. Best of all, you really will know what you're talking about.

Who is this for?

In short, anyone who doesn't know how to code but is at least a little bit curious about it.

This course is for you if...

You have any interest in learning to code (regardless of prior experience) or specifically if you want to learn how to program and begin a career as a software developer.

\\\(۶•̀ᴗ•́)۶////

This course is not for you if...

You're already a professional software engineer. You might learn almost nothing or you might learn a lot from this course, but at least some of it will be redundant.

(╯°□°)╯︵ ┻━┻

More questions?

Take a look at our FAQ.

Start learning right now

You're one click away from writing your first code.

Start Coding