We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.
Boot.dev logo

Coding challenges, but for real.

Practice programming in Python, SQL, Go, or TypeScript right in your browser

Looking for coding courses?

Prepare for Technical Interviews

Built on learning science so you get the practice you need to land that next job

Personalized

Challenges tailored to your experience level

Spaced Repetition

Review topics right when you need a refresher

Three Challenge Types

Write code, fix bugs, or practice interviews

Custom Challenges

Build new challenges variants yourself

Game Mechanics

Earn XP, maintain streaks, complete quests

Free to Start

Try it out before becoming a member

A Full Suite of Upskilling Goodness

It's not just coding challenges, take quizzes and mock technical interviews as well

Write Code

Implement a solution from scratch. Test your understanding of concepts and your ability to translate requirements into working code.

Fix the Bug

Debug broken code to find and fix issues. A critical skill for real-world development that tests your attention to detail.

Mock Interviews

Practice technical interview questions in a conversational format. Demonstrate your knowledge verbally while getting instant feedback.

Quizzes

Answer a set of multiple-choice questions on a topic. Get each one right to unlock the next, and read the explanation when you miss.

Join 1,408,125 students practicing programming skills

Connect directly with them and others in our flourishing online community

990K

challenges completed

61.6M

lessons completed

12.5B

XP earned

Gamifying led me to a better understanding of the subject matter.

(5/5)
Dannie Walters profile image

Dannie Walters

United States

Learn SQL

It's a nice first view with accessible hands-on examples.

(5/5)
Casper Bergsø profile image

Casper Bergsø

Denmark

Learn Python for Beginners

Great hands-on SQL course. You write real queries from the first lesson instead of just reading about them, and the difficulty builds at a good pace: filtering and aggregates first, then subqueries, joins, normalization, and indexes. The many-to-many and composite key lessons, plus the exercise on why WHERE and HAVING behave differently, made concepts click that I’d only half understood before. Highly recommended if you want SQL you can actually use on the job.

(5/5)
Ramadan Lotfy profile image

Ramadan Lotfy

Egypt, Cairo

Learn SQL

I've coded in several different languages before, and for some course work, python is required. This course really showed me the different intrinsic things that are specific to python and gave a lot of experience in applying this tools that are specific to python.

(5/5)
Haron Obaid profile image

Haron Obaid

Europe

Learn Python for Beginners

Quick and easy to follow, covers most of the basics and provides a nice off-ramp that allows you to carry your studies into more advanced concepts.

(5/5)
Ethan Petta profile image

Ethan Petta

United States

Learn SQL

It's a nice course to get to know python! Really.

(5/5)
Runny Nose profile image

Runny Nose

Philippines

Learn Python for Beginners

Actually , it's a fantastic way to learn any language by hands-on practice and almost you do practice in every lesson

(5/5)
Abdulrhman Badwy profile image

Abdulrhman Badwy

Egypt

Learn Python for Beginners

Very nice overview of the basics of SQL, but also database design topics like normalization. Very helpful for any aspiring backend developer.

(5/5)
Radek Novotný profile image

Radek Novotný

Czechia

Learn SQL

Great way to get started without feeling lost and "???" all the time but the course sort of speedruns a bit but obviously it won't always be there to teach you. Self-learning has to come after too.

(4/5)
Khun Sareth profile image

Khun Sareth

Cambodia

Learn Python for Beginners

Showing 1-9 of 7548

or view more reviews

Meet Boots, your programming mentor

An AI assistant that uses the socratic method to deepen your understanding, not hand out answers

Lane Wagner

Help! I don't get why my code makes the player's health go up when she's hit by the sword.

Boots

*Adjusts wizard hat thoughtfully*

Ah, it looks like you used the wrong operator! Which one do you think will subtract from her health (instead of adding to it) in your take_damage function?

Frequently asked questions

Everything you need to know about coding challenges on Boot.dev

Our challenges are the best place for you to review and practice your coding skills, and to prepare for technical interviews. If you've taken our courses (which is optional) they also integrate into your learning path so that practice is personalized to your learning history.