Computer ScienceComputingMiddle schoolKey Stage 3
How to run coding projects in middle school
To run coding projects where every student picks their own problem, keep the steps and the rubric the same for the whole class and help each student cut their idea down to one they can code. A free Flint activity comes with this guide, and Sparky coaches each student's program in their own chat.
Jemel Fanfan | Founding Member at Flint

"Flint was brilliant in supporting customization for students' design projects. It added an element of choice without overwhelming teachers, differentiating instruction effectively while ensuring students had support and clarity needed to succeed."
Kimberly Smith, Computer Science & Design Thinking / STEAM Teacher at St. Raphael SchoolWhy this matters
In one 7th grade computer science class, 28 students can pick 28 different programs to write. One student wants practice reminders for her soccer team, and the student next to her wants a pet care game. Each one hits a different error at a different time, but the teacher can only sit with one student at a time. Some projects stall at the first error, and the teacher has to wait for the programs to come in to find out whose did.
Strategies for student-chosen coding projects
Giving students a choice in their work raises their motivation, effort and performance, according to a meta-analysis of 41 studies (Patall, Cooper and Robinson, Psychological Bulletin, 2008).
- Let each student pick the problem
- Keep the steps and the rubric the same for everyone
- Help each student cut the idea down to one they can code
No teacher can debug 30 different programs at the same time. Sparky, Flint's AI tutor, coaches each one in the student's own chat.
The same coding steps, two different programs
Both students are in the same activity and follow the same four steps: problem, plan, code, and test and fix. They write Python in Flint's code editor, press Execute to run it, and send it to Sparky, who reads the code and what it printed. Sparky's first question is the same for the whole class. Everything after it is one student's own chat with Sparky.
Ruby
Understanding check
Ruby
My soccer team always forgets when practice is. I want an app that reminds them, and it also has team chat and scores and a map to the field.
Sparky
Ruby
The reminders. It should say hi to each player and tell them the new time.
Sparky
Ruby
Everyone's name on the team, and the new practice time.
Sparky

Ruby

Sparky
Ruby
I put quotes around the time, and now it prints a reminder for every player!Cut four apps down to one, then fixed her first error herself
Theo
Understanding check
Theo
My little brother wants a dog but we can't have one. I want to make a game where you feed it, walk it, give it baths and unlock new dogs.
Sparky
Theo
Feeding. If you forget, the dog gets hungry.
Sparky
Theo
A hunger number that goes down every minute and back up when you feed the dog. It prints the hunger every minute.
Sparky
Theo

Sparky
Theo
No, it should stop at 0. I'll add an if so hunger can't go below 0, and the dog says it's too hungry to play.Found a bug in his own output and planned the fix
Ruby is new to coding, so Sparky showed her a list and a loop on a different topic and explained her error in plain words. Theo has made Scratch games, so Sparky connected Python to Scratch blocks and let him spot the bug in his own output. Sparky didn't write either program or fix their code. The code pictures are Flint's code editor, where students run their code and send it to Sparky. The students and chats are examples we wrote for this page.
How to see whose program is stuck
Sparky grades each chat against your rubric. The activity page shows who needs help right now, what the class did well, and what to teach next.

Example activity page
After a class writes their programs
The school and students are made up for this page. In this example, most of the class planned what their program remembers, and the step to teach next is turning a number into text.
Set up the activity for free
The coding project is in Flint's public library, with Sparky's role, guidelines, greeting and a rubric already written. Open it, select Use activity to copy it into a free Flint account, and move it to a class. Every student gets their own chat with Sparky, and the activity page fills in as they work. In the activity's Preview tab, select Try session myself to test it as a student before you assign it.
Students open the code editor with the Write code button under the message box. The editor starts in Java, so have students pick Python from its language menu the first time. Flint remembers their choice after that.
To use your own project, such as a game with different steps, replace the four steps in Guidelines for Sparky with yours and keep the rest, like this:
Example guideline
Every student picks their own problem and writes a small Python program for it, following these steps: [your steps]. When the student needs a new idea, show one short example on a different topic. When they share an error, name the line and explain the error in plain words. Never write or fix the student's program.
For high school, see how to use AI to teach computer science. For more computer science activities, see Flint for computer science.
Other use cases
See all use cases →EthicsMiddle schoolKey Stage 3

How to save time on rubrics
How to save time on rubrics: create a rubric for a class discussion in one message, then have Sparky grade every student's conversation against it, row by row.
MathematicsMathsHigh schoolKey Stages 4 and 5

How to set up AI tutoring in your school
How to set up AI tutoring in your school: every student gets one-on-one help from an AI tutor during class, and the teacher hears about the students who need a person. Shown with an Algebra 1 slope lesson and a free tutor activity.
MathematicsMathsMiddle schoolKey Stage 3

How to support productive struggle in math
How to support productive struggle in math in three steps: give each student a problem that is a little hard for them, ask a question instead of fixing their mistake, and give feedback right after each answer, shown with a free ratios and proportions activity.
