This week I’m feeling rather inquisitive and philosophical, which leads to many questions springing into my mind. Now, here’s a paradoxical one: has Google made it too easy for students to give up using their own critical thinking skills to get to an answer, because they know there is a shortcut? Or will they persist with the problem even if they know they can Google the answer, because they want to rely on their own hard work?
My second question is whether we will keep the same jobs we have 10 years into the future. What about 5? We know automation and robotics are being part of the new career choices and although some people think robots will replace humans in the workplace, at this stage only humans can do critical thinking and problem-solving. However, if we want to prolong our place in the workforce, we need persistence, courage and to not give up.
The final question that I have is this: students are learning to code across the world but are we teaching students to debug and find out why their code is not working. While coding can be used to create different paths that lead to the same outcome it’s also like a maze. Keep turning right and you should come to the end, but if you get stuck retrace your steps and try step by step to find the exit on the maze. Students need to be given tools so they can backtrack and debug their code if they suddenly hit a wall.
No worries, though. Because the following group are doing just this…
#1 Use your tools
The main idea is to isolate the problem as much as you can. Start by working out which bits DO work, and then by process of elimination, you will hopefully be able to spot where the problem is. Once you have isolated the problem, use your tools to find a fix.
Just like in Kai’s Clan the first thing you do is to use the code “console.log” to see which bits do work, hoping to find the problem by process of elimination. I also temporarily delete big sections of code, slowly putting it all back in section by section and seeing where it breaks.
Use the print blocks and break down each section. Or, use function blocks. In Kai’s Clan you may want to build all your setup code in one function, then all the animations and effects. Lastly, add movement, sensors etc. It’s all about being methodical.
This may be tedious but trust me, the reward for when you find the bug yourself is incredible.
#2 Ask for help
I would suggest you give yourself 20 minutes to figure out what could possibly be wrong. Try a different code that can do the same thing. Maybe instead of using ‘Loop’ you can use ‘Repeat’. Some teachers think that they should have all the answers and shoulder everything alone if they don’t. I disagree. How about allowing students to help with the debug?
With Kai’s Clan I often just click here, try this code there, and when I finally solve the problem it feels immensely rewarding. Kids approach debugging the same way, so that’s why I want to suggest to teachers let the students help. Who knows, you might learn a thing or two.
At curriculum.code.org they have lessons on how to debug as part of the common core curriculum standards.
#3 Take a break!
We often hear the advertisement saying Take a Break, Take a Kit Kat. The best advice I can offer is sometimes to just walk away. Maybe it’s just me but who else has woken up in the middle of the night and all of a sudden the answer is right there.
Anyway, take some time away from the screen, go for a walk, have a cuppa, or do some exercise. Funny how much better you can feel after a session of boxing or a bike ride. Once you come back to the bug, you come back destressed and ready to try again.
If you have never coded before, start by using Kai’s Clan NEWBIE coding blocks.
Start by moving your robot on your desk, forward, backward, and open the grippers. From there you can move to the mat and start looking at co-ordinates.
For some added fun, why don’t you add a >>Bits>>Sound block and choose one of our fun soundtracks?
Meet Kai at one of the following events.
Introduction to Kai’s Clan with Edutech-Me in Jordan
Saturday, 27 March at 8 pm NZT time