I’m part-way through mentoring another user on this exercise, and a comment they made (“the tasks were a little bit confusing”) made me think.
The way the tasks are structured, they each make the previous one obsolete, so code designed solely to pass Task 1, won’t pass Task 2, and code correctly revised to pass Task 2 won’t pass Task 3. Is this deliberate, to mimic the development process, or is it an unnecessarily roundabout approach? I can’t quite decide, so thought I’d open a discussion.
I know the tests are the final arbiter of a logically correct solution, but as this is a learning exercise, I wonder if rewording some of the tasks here, or even restructuring them, would be beneficial. Off the top of my head, I don’t have a specific suggestion, but I wonder if the 3-task structure makes the most sense here.
This allows students to slowly build up a working solution. It helps keep tasks small where each subsequent task requires minor modifications to the previous solution.