MethodDaily rhythmThe projectWeek 1Week 2Week 3Week 4AssessmentMaterialsTroubleshooting

LeetCamp Creators: 4-Week Teaching Guide

Group: Creators (Grades 4 to 6)
Taught in this camp: HTML, CSS and a little JavaScript. (Advanced Scratch appears on the camp site as part of the Creators toolkit, but we do not teach it here. The time goes into building the website together.)
Schedule: Monday to Friday, 4 weeks = 20 days (19 build days plus a play day and party on Day 20), 9:30am to 1:00pm each day
Final product: a personal showcase website with an interactive quiz, shown to classmates on Day 19 and kept for next year's Tech Showcase.


How we teach: build it together

The whole class builds the same project at the same time. The teacher live-codes on the projector; learners code along on their own laptops, then make it their own with their own topic, colours and words.

Stage Who codes What it looks like
I do Teacher Teacher types one small piece on the projector and explains why.
We do Everyone Learners type the same piece together, teacher circulating.
You do Learner Learners repeat it for their own topic, colours and content.

Repeat in small loops of 10 to 15 minutes. Never talk for more than 15 minutes in a row.


The daily rhythm (same every day)

About 3 hours of teaching time per day.

Time Slot What happens
9:30 – 9:45 Warm-up Arrive, open projects, 2-minute recap: "What did we do yesterday? What's today's goal?"
9:45 – 10:45 Block 1: Build together Teacher demos (I do / we do), learners follow, then personalise.
10:45 – 11:10 Break (25 min) Snack, water, move around. Screens off.
11:10 – 12:30 Block 2: Build and test Longer personalising time with the teacher circulating; a new small feature.
12:30 – 1:00 Test, Debug, Show Partner testing, fix bugs, "show your neighbour", quick class share.

If the break runs to 30 minutes, trim Block 2 and protect the last half hour. That is where learners practise debugging and presenting.


The project: "My Topic Showcase"

Each learner picks one topic they love (Kenya's national parks, football, space, animals, music…) and builds a two-page website:

  1. Home page: a header, an intro, a "cool facts" card row, an interactive quiz, and a footer, all built from <div> containers.
  2. Who I am page: the learner writes about themselves, in their own words.

The reference site in this folder (index.html, about.html, styles.css) is the teacher demo. Show it on Day 1 so learners see the finish line, and reuse its patterns (navbar, 3-card grid, footer).

The 3-step loop (repeat every week)

Step Meaning in class
Plan and Build Sketch on paper, then build in small chunks.
Test and Debug Test, find the bug, fix, test again, until it works.
Deploy and Showcase Swap with a partner, demo to the class. Week 4: the class (Day 19).

Every Friday is a Test, Debug and Showcase day.


WEEK 1: Plan and build the structure (HTML)

Weekly goal: a complete, plain home page with all content in containers.

Day 1 (Mon): Welcome, topic and plan

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>My Showcase</title>
</head>
<body>
  <h1>My Topic</h1>
</body>
</html>

Day 2 (Tue): Text and lists

Day 3 (Wed): Containers (<div> and <section>)

Day 4 (Thu): Links, buttons and a second page

Day 5 (Fri): Test, debug and showcase


WEEK 2: Make it beautiful (CSS)

Weekly goal: a styled, well-laid-out page that looks like the learner's own brand.

Day 6 (Mon): First styles

Day 7 (Tue): The box model and spacing

Day 8 (Wed): Layout with Flexbox

Day 9 (Thu): Layout with Grid and cards

Day 10 (Fri): Test, debug and showcase


WEEK 3: Responsive and JavaScript

Weekly goal: a responsive site with a working interactive quiz.

Day 11 (Mon): Responsive and final CSS polish

@media (max-width: 700px) {
  .cards { grid-template-columns: 1fr; }
}

Day 12 (Tue): JavaScript, first steps

<button onclick="sayHi()">Click me</button>
<script>
  function sayHi() { alert("Hello from my page!"); }
</script>

Day 13 (Wed): Build the quiz together

<button onclick="check('Tsavo')">Tsavo</button>
<script>
  function check(answer) {
    if (answer === "Tsavo") { alert("Correct!"); }
    else { alert("Try again!"); }
  }
</script>

Day 14 (Thu): Show results on the page (no more alert)

Day 15 (Fri): Test, debug and showcase

Stretch for fast finishers: a light/dark theme button using classList.toggle, a "next question" button, or a fact that appears when a card is clicked. Keep JS small: a quiz that works is a success.


WEEK 4: Finish, deploy and showcase

Weekly goal: the "Who I am" page, a final test, a live website and a confident showcase among the learners. Day 18 is the last build day; Day 19 is the written quiz and class showcase; Day 20 is play day and the end-of-camp party, so learners have time to rest and study for exams.

Day 16 (Mon): "Who I am" and finishing touches

Day 17 (Tue): Final test, debug and deploy

Ready-to-show checklist

Day 18 (Wed): Rehearsal and final polish (last build day)

Day 19 (Thu): Written quiz and class showcase

Parents and teachers: the showcase this week is among the learners. If you still want visitors, the simplest place is the Day 20 party.

Day 20 (Fri): Play day and end-of-camp party

No coding project today. See camp/day-20-party.html for the full plan.


Assessment (simple and encouraging)

Skill Beginning Developing Secure Wow
HTML structure Headings and text Divs with classes Clean sections and working links Multi-page, tidy, commented code
CSS Colours Cards with padding Grid/flex layout Responsive + hover effects
JavaScript Button shows a message Quiz with if/else Result shown on the page Extra features, e.g. a score or theme toggle
Debugging Asks for help Finds bugs with hints Fixes independently Helps others debug
Presenting Shows the screen Explains what they made Explains how Explains a bug they fixed

Materials checklist

Troubleshooting

Download as PDFBack to what we build