After one great session with all of the students where we focussed in on the question, “What is Coding?” we next turned to the question of, “How does it work?” The plan was for them to explore coding and start to see the basics of how a simple structured language can communicate with a computer to produce a desired result. To do this we used the great resources compiled by Code.org for Hour of Code, but I wanted to ensure I wasn’t limiting them. With hundreds of possibilities out there, leaving them with a single activity seemed unfair.
Instead, I asked them to find something that they thought was interesting, try it for five minutes, then decide if they were going to work on completing the activity or to choose another. I also had given them the option of working on any personal coding projects they had already started (knowing that I had several students who already were engaged in coding activities.) Within ten minutes everyone had chosen something to work on in all of the classes.
I enjoyed a number of surprises during those periods. I found many students, and also many girls who were really enjoying working with coding. Not only did they seem to enjoy it, but they also were good at helping others around them. Over the course of two days, I saw a surprising number of my students seem engaged and excited about what they were accomplishing in coding. One of those students was by far a standout moment from the lessons.
She already had started working on coding through the school’s coding club. On the first day, she had come to me with a challenge she could not solve using Codecademy’s Python courses. I am far from an expert in any coding language, but it had been almost two years since I had done anything in Python. I went back through some of the courses to familiarize myself with the basics. When she came in for this lesson, we worked together to solve the problems in her attempt.
As we worked on it, I tried to think out loud to model the logical thinking process and also to see if anything I was saying would spark ideas for her. Between the two of us, we were able to figure out the solution. While most kids would complete a problem and be excited to quickly move on to the next challenge, she wasn’t. Instead, she turned to me and asked, “How does it work?”
We then went through what each line meant in the code. We discussed what each variable and statement did and how they impacted the lines that followed. When she felt as though she understood everything about that set of code, she was ready to move on to the next challenge. I was surprised to find out how many students were interested in how their code worked. From that point on, I made it a priority to explain, however simple, how the lines of code worked in any example I gave. It was a great moment for me as an educator, and a great experience for the students.