New every day

Daily Coding Challenge

One lesson, one exercise, one bug to fix and a 3-question quiz. It takes about 15 minutes a day. Come back tomorrow for a new set.

1

Today's lesson

2

Today's exercise

3

Today's bug hunt

4

Today's quiz

What is the daily coding challenge?

The daily coding challenge is a short practice session that changes every day. Each one has four parts: a lesson to read or revisit, an exercise to solve, a bug to find and fix, and a three-question quiz. The whole thing takes about fifteen minutes, which makes it easy to fit around school, work or a busy evening.

Everyone gets the same challenge on the same day, and a new set appears at midnight. You don't have to plan what to study or decide which topic comes next. Just open this page, work through the four steps and come back tomorrow.

Why a little practice every day works

Learning to code is a lot like learning a musical instrument or a spoken language. Short, regular practice beats occasional long sessions, because your brain strengthens a memory each time you return to it after a break. Fifteen minutes a day adds up to more than seven hours a month, spread out in the way that helps memory most.

A daily habit also keeps you moving when motivation dips. On a busy day, finishing one small challenge still counts as progress, and that feeling of keeping a streak going is often what carries people from beginner to confident.

The four parts of each challenge

Today's lesson. A link to one lesson from the courses, with a short summary of what it covers. If you've already studied it, skim the key points and common mistakes as a refresher. If it's new to you, read it properly, as it sets up the rest of the challenge.

Today's exercise. A single exercise, such as a fill in the blanks, a multiple choice question or a predict the output puzzle. Try it without looking back at the lesson first, then check your answer.

Today's bug hunt. A short piece of code with a mistake in it. Your job is to spot the problem and fix it. Bug hunts train you to read code carefully, the skill that matters most when your own programs don't work. If you're stuck, ask yourself what the code is supposed to do, then go through it one line at a time.

Today's quiz. Three quick questions to finish. They're a good final check, and each one comes with an explanation.

Getting the most from the daily challenge

  • Do it at the same time each day. Attach it to something you already do, like your morning coffee or the bus ride home.
  • Keep a short log. Write one line about what you learned or got wrong. After a month, you'll have a personal list of the topics that need more work.
  • Go deeper when you have time. If a topic catches your interest, follow the lesson link and do the rest of that lesson's exercises, or take the full course quiz.
  • Don't worry about missed days. Just pick it up again the next day. Consistency over weeks matters far more than a perfect streak.

Which topics does it cover?

Challenges draw on every course on the site, from HTML, CSS and JavaScript to Python, SQL, Java and Git. One day you might fix a CSS selector, the next you might predict what a Python loop prints. Over time you'll see beginner topics like headings and variables alongside harder ones like flexbox, closures and joins, which is a good way to keep earlier lessons fresh and to discover a language you haven't tried yet.

How to approach the bug hunt

The bug hunt is the part most people find hardest at first, so it's worth having a method. Start by reading the task and the code once without changing anything, and say in your own words what the code is meant to do. Then look for the usual suspects, because most beginner bugs fall into a handful of groups:

  • Typos and wrong names. A variable spelled differently in two places, or a CSS class in the stylesheet that doesn't match the one in the HTML.
  • Off-by-one mistakes. A loop that runs one time too many or too few, often because of < versus <=.
  • Wrong types. Adding a string to a number, or comparing values that look the same but aren't.
  • Missing pieces. A closing bracket, a return statement, or a semicolon in CSS.
  • Order problems. Using something before it exists, such as selecting an element before the page has loaded it.

Change one thing at a time and run the code after each change. If a fix doesn't help, undo it before trying the next idea, otherwise you can end up with two bugs instead of one. This careful, one-step-at-a-time habit is exactly how professional developers debug, and the JavaScript debugging lesson shows how browser tools make it faster.

Questions people ask

Do I need an account? No. Open the page and start. The challenge runs entirely in your browser.

Can I do older challenges? The page always shows today's set. If you want more practice on the same day, every course has a full exercises page and a quiz with hundreds of questions.

I'm a complete beginner. Is this too hard? Some days will feel easy and some will include topics you haven't met yet. That's fine. Treat an unfamiliar topic as a preview: read the lesson, have a go, and check the explanation. Over a few weeks the unfamiliar topics become familiar.

If you want a more structured route instead of a daily mix, follow one of the learning paths, or work through a course from its first lesson. The daily challenge then becomes a handy extra: a quick warm-up before your main study session.