Everyone who works at a school will tell you that one of the best things about the job is interacting with the kids.
When an 8th grader asked me to sponsor a technology club, I realized this was a great way for me to spend time with students while advocating for technology, one of my usual responsibilities.
I envisioned the club as a freeform exploration of technology. To date, the students in the technology club have broken down and put back together desktop computers, created their own animations and games, and started 3D modeling and printing.
In the process of exploring these technologies, club members have also been practicing three useful skills: critical thinking, creativity, and collaboration.
Technology exploration is a particularly effective way to reinforce these three skills. You have to be able to think critically about a problem before you can solve it with technology. Students have to break the problem down into parts, ask the right questions about it, and test their solutions.
As the most successful tech companies have proven, technology is nothing without a little creativity. And, as anyone who has worked through a complex problem can attest, it is often best to approach it collaboratively. Whether you’re just thinking out loud with a friend or getting a colleague’s input on the end result, great creators collaborate. These are all ideas and skills I hope to emphasize with this club.
Understanding control flow statements & object-oriented design
We’ve explored basic programming with several tools. We began with Alice, a free, drag-and-drop 3D animation programming environment. This tool allowed us to apply both critical thinking and creativity. Students built scenes using backgrounds, characters, and props from the Alice gallery. From there, club members experimented with three-dimensional mathematics, control flow statements, and storytelling. After a brief overview of the tools and some basic programming logic concepts, I let the students loose to explore. One of their videos is embedded in this post, others can be found in the Student Work playlist on Randolph's YouTube channel.
Alice also introduced them to object- oriented design, currently one of the dominant programming paradigms. In Alice, each element of the scene is an object with its own attributes and actions which can be manipulated within the program. In fact, each character is made up of a grouping of objects.
When one student wanted his character to kick, he had to work through the logic of finding the hip joint and rotating it to see the leg move forward in the correct way. Another student had to understand control flow statements to get his character to ride a snowboard out of the scene. It wasn’t until he recognized that the movement of the board and the character had to execute together, that he got the scene to work.
The logic of game design
Our next exploration involved game design. Using another free, drag and drop programming environment, Scratch, students designed and built their own video games. This time, their programming involved allowing people to interact with their game. Here, they were introduced to conditional logic and were able to create their own sprites or characters. Again after a brief introduction to the tool, the students had free reign to create their own games. One student had a sports themed game with multiple levels and another student created a Space Invaders-like game.
How to deal with the unknown variable
Finally, to introduce the club members to the concept of a variable and how to deal with unknown user input, I challenged the students to develop a game for Lower School students to help with math facts practice. Again, once they learned the basics, they were able to come up with a variety of creative solutions. With this project, they also naturally practiced collaboration. They began talking with each other through problems they encountered when building the game. And, of course, each student wanted to try out the others’ games. They often gave one another feedback about the difficulty of the game and new ideas to make the game more interesting.
The benefit of using tools like Alice and Scratch is in the user-friendly environment. Students still need to understand problem-solving and work through the program in its entirety, but they aren’t as tied to syntax as they would be in a more traditional programming environment. Because of this usability, the students have been able to explore further outside of the club. Several students have shown me work that they have done at home and I had one student tell me she is using Alice for a language arts presentation. Because they aren’t as worried about spelling and where to put the semi-colon, the students are free to build their own projects and truly enjoy that creative process.
Currently, we’re extending their work with three- dimensional mathematics into the real world. We’ve begun experimenting with a free 3D modeling solution called SketchUp. Students have been drawing buildings, vehicles, and the odd alien. Once they finished with these drawings, I converted them into printable objects and printed them in plastic on a hobby 3D printer.
I brought in the printer to give the students a demonstration of how the 3-dimensional drawing was converted into a physical object by breaking the image into layers and then laying down plastic that matched each layer.
Students quickly began asking about manufacturing applications of this relatively new technology, wondering whether their drawings would print successfully given the physical limits of the printer, and relating the 3D printer to the way a 2D printer might work. This kind of curiosity and excitement was exactly what I was hoping to foster with the club.
In addition to sharing these lessons on creativity, critical thinking, and collaboration the students have learned with the technology club, I’ve had my own personal discoveries.
One of the most exciting observations I’ve enjoyed is the absolute fearlessness these students have when it comes to experimentation. They understand that there is a process they have to follow to get their results, but they aren’t afraid to play within that process. I’ve tried to encourage that when I can.
When a student asks, for example, how to make his alien character turn in circles while floating up in the sky, I don’t answer the question. Instead, I ask him a series of questions about what he has to change or which command describes that action. It’s led to some interesting results within their programs, but they always laugh it off and move on to the next tweak to the command.
I hope that they continue to embrace and practice that fearlessness and openness to failure as they progress through their academic lives.