Skip to content

Lesson 6 of 10 · 10 min

A sequence that progresses

From unplugged to text, predicting before running, debugging methodically, working in pairs: building a sequence that helps students learn.

Left to themselves in front of the screen, students quickly fall into a loop of trial and error. They change a block, run it again, start over. In 2020, Chevalier and colleagues observed this with Thymio in primary classes. Blocking access to the software at planned moments pushed the students to understand the problem, look for ideas and formulate a solution before programming. It is a small study, but the technique is easy to adopt.

The PRIMM approach, described by Sentance and colleagues in 2019, points the same way. Predict what a program will do, run it, investigate it, modify it, then make one. The student reads code before writing any.

  • Say what the robot was supposed to do, then what it did.
  • Look for the first instruction where the two diverge.
  • Change only one thing at a time, then run it again.
  • Note what you have tried, so as not to go round in circles.

Working in pairs has evidence behind it. A meta-analysis by Umapathy and Ritzhaupt brings together 18 studies on pair programming in computer science courses. Pairs do better in programming assignments and exams, and fail the course less often, with no clear effect on attitude. These studies mainly involve university students. With school students, assign roles: the driver handles the robot, the navigator reads the challenge and checks. They swap at the signal.

  1. Session 1: without a screen, a student plays the robot on a grid.
  2. Session 2: discover the robot with a given program. Predict, then test.
  3. Session 3: modify this program for a new purpose.
  4. Session 4: a challenge linked to the target concept, in pairs, with five minutes of planning on paper before getting access to the robot.
  5. Session 5: each pair creates its own challenge, has another pair solve it and explains its solution.
  6. Session 6: assessment with the rubric and a question without the robot.

References

  1. Chevalier, Giang, Piatti, Mondada (2020). Fostering computational thinking through educational robotics: a model for creative computational problem solving. International Journal of STEM Education 7, article 39. doi.org/10.1186/s40594-020-00238-z
  2. Sentance, Waite, Kallia (2019). Teaching computer programming with PRIMM: a sociocultural perspective. Computer Science Education 29(2–3), p. 136–176. doi.org/10.1080/08993408.2019.1608781
  3. Umapathy, Ritzhaupt (2017). A Meta-Analysis of Pair-Programming in Computer Programming Courses: Implications for Educational Practice. ACM Transactions on Computing Education 17(4), article 16. doi.org/10.1145/2996201