Have you ever had a student that always gave up after the first try? Yeah, me too. After years of teaching math and computer programming, I find the ability to continue to try again after a setback is the skill I most often want from my students - and not just because it's listed in some set of standards or that I need them to successfully pass the course. I want them to have that skill so they can use it to achieve their hopes and desires.
Part of my teaching philosophy is “I don’t tell my students which dreams they should want. I tell them how to achieve the dreams they do have.” My goal is to prepare my students for the [inevitable] moment when they realize the goal they set for themselves is much harder to achieve than they anticipated. I want them to have enough productive persistence to continue until they succeed.
Productive persistence is a fancy pants term for a student's ability to “stick to” a task or get back on the horse. When it comes to encouraging productive persistence I prefer to do it in a computer programming class. Now don't get me wrong - I'm still a mathematician and my loyalties are securely in place.
However, from the learner experience side of things, coding has the potential to be a much friendlier experience, especially if the coding project is grounded in a personally meaningful task. Under those circumstances a student is working towards solving a realistic problem and with each round of effort, they can literally see the fruits of their labor.
When solving a math problem, sometimes you don't know something's afoot until the entire problem is completed. But when you're coding, you can build a piece at a time, run it and then get immediate feedback on whether or not you're going in the right direction.
And if you know how to use the debugger, you might start to believe you're invincible - because all of a sudden you have the power to be a detective. Carefully examining each line of code to see where things started to go awry.
Want to know how to do this using CodeSpace? Great! Click on the video to watch some debugging, Firia Labs style.