In an online school, homework on programming basics is most of the course. The asynchronous block is where students actually write code, alone, with a browser full of answers one tab away. Set the wrong task and you get twenty identical working programs that taught nobody anything. Set the right one and the asynchronous time does the heavy lifting while your live sessions handle the parts that need a person. The difference is entirely in what the task asks for.
What homework on this topic should do
Three jobs, and no others. It should rehearse a structure the student has already seen working, so recall is the demand rather than discovery. It should produce evidence of the student's reasoning, not just a program that runs. And it should surface confusion early enough that the next live block can address it. A task that fails all three, write a program that prints the first ten even numbers, is still worth setting occasionally for fluency, but it should not be the diet. Programming basics collapse in predictable places, loop boundaries, variable reassignment, order of operations, and homework should aim at those places deliberately.
Three task types that survive independent completion
- Trace and predict. Give a short program and a table with a row per iteration. The student fills in variable values before running anything, then runs it and marks where their prediction diverged. The divergence is the assessable part, and copying someone else's table does not help because you ask them to explain their own wrong row.
- Fix the broken one. A program with one bug, plus a required one-sentence statement of what the bug was and how they found it. Students who paste a working version from elsewhere cannot answer the second half convincingly, and the sentence takes ten seconds to grade.
- Extend with a constraint. Working code plus a requirement to add a feature without using a particular construct. The constraint forces a design decision, and design decisions are individual enough that identical submissions stand out immediately.
Each of these takes a student fifteen to twenty minutes and gives you something specific to teach from. A structured unit with worked examples and projects, such as Programming with Python – Computer Science Unit: Worksheets, Projects & Slides (Grades 6–9), is a practical source of the base programs you break, extend, and hand back, which is the part of this that otherwise eats your evenings.
Grading it in minutes, not evenings
Grade for one thing per task and say which thing in advance. On a trace, you are reading the divergence sentence, not checking every cell. On a bug fix, you are reading the explanation. On an extension, you are reading whether the constraint was respected. Everything else is either correct or will be caught in a later task. Keep a running list of the four most common errors of the week and open the live session with them; students recognize their own work in the list without being named, which is the least costly form of feedback in a cameras-off room.
When the wobble is arithmetic, not code
A share of programming failures at this level are not programming failures. A student whose loop counter is off by one is often the same student who is unsure whether a range that starts at zero includes ten, and a student whose average calculation returns nonsense may be dividing by the wrong count rather than misusing the language. It is worth separating the two before reteaching syntax that was never the problem. General number work like Algebra Basics – Ratio, Proportion and Percentage | Math Foundations Workbook | GRADE 5–9 is not a computing resource, but it is a fast way to assign the percentage and proportion practice underneath a program that calculates totals. The same applies to the step-by-step working in Algebra Basics – Solving Equations and Understanding Inequalities | Math Foundations Workbook | GRADE 5–9, where the habit of tracking a value through several transformations is the same habit a trace table demands.
Set homework this way for a month and the asynchronous block stops being the place where work gets copied. It becomes the place where students find out what they do not know yet, and they arrive at the live session already able to name it.


Comments
No comments yet — be the first to share your thoughts!
Leave a comment
Comments are reviewed before being published.
Thanks for your comment!
Your comment is being reviewed and will appear here shortly.