These activities are designed to achieve two things in class: motivate students from the first minute and teach programming concepts without it feeling like a theoretical lesson.
They are simple to prepare, adaptable to large groups, and compatible with the objectives of the secondary school computer science curriculum.
Why these activities work in the classroom
A good secondary school programming exercise combines:
- A clear goal that students can see and understand.
- Fast feedback to know if they are on the right track.
- Collaboration to reduce anxiety about making mistakes.
Activity 1: Conditional game with roles
Divide the class into teams. Each team receives a sheet with conditions and actions, and must write the logic that decides which action to execute based on the game state.
For example: if the student encounters an obstacle, they must choose between jumping, going around, or stepping back according to simple rules. Afterwards, the results are reviewed as a group.
Activity 2: Pseudocode maze
Students draw a maze and write pseudocode to guide a character from the entrance to the exit. This works on sequences, loops, and conditionals before moving to a text editor.
Activity 3: Mini animation project
Use Scratch or Python with Turtle for students to create a simple animation. The goal is for them to see how a line of code controls movement, color, and speed.
- Start: move a character.
- Next steps: add events and conditionals.
- Extension: complete a short interactive story.
Activity 4: Data and graphs with Python
Collect simple data in class (e.g., favorite colors, study hours, etc.) and use Python to display it in a graph. It's a practical way to connect programming and statistics.
Activity 5: Collaborative debugging challenge
Give each team a code snippet with logical errors. They earn points for identifying bugs and explaining why the program doesn't work. This activity strengthens critical thinking and teamwork.
Tips for implementation in class
- Keep sessions to 25-30 minutes with clear objectives.
- Combine brief theory with immediate practice.
- Promote discussion about "why it works" rather than "how to copy."
✅ Key recommendation: use these activities as a starting point and let students propose their own variations. Involving them in the design greatly increases motivation.
Interested in a tool to support these activities?
CodeAdventure allows your students to practice programming with guided challenges, progress tracking, and projects tailored for secondary education.
Start for free now →No credit card required. Works in the browser.