December 6, 2018
by Ariel Kitch, PreK-12 Technology Integration Specialist
“I made a 12-sided shape!” one of the fourth graders screamed jubilantly while programming a tiny turtle to move in patterns across his screen. You would be surprised how motivating it can be to move the tiny turtle forward with a few lines of Python code, nonetheless create a dodecagon with a for-loop. Our study of Python Turtles in fourth grade is part of Computer Science Education Week here at MPA, a national event aimed at raising awareness of computer science in schools.
We have been celebrating the study of computer science in my technology classes by trying out coding in many different forms, but also through practicing the set of processes referred to as “computational thinking.” Computational thinking acknowledges that computer science is about more than just programming or studying computers themselves (although they are all around us these days)–but about our capability to harness the power of computers to solve problems. Some of the skills of computational thinking, such as persistence, critical thinking, and collaboration, could be simply referred to as “life skills.” Others, such as pattern recognition, debugging, algorithms, and abstraction, help us to structure our solutions to fit the unique strengths of computer processing power.
It’s an exciting time for computer science at MPA, as the first Upper School Intro to Computer Science elective recently wrapped up their most major project yet: a text-adventure game programmed in Python. Some of my Upper School students have been giving back this week, visiting second, third, and seventh grade tech classes to help students with Kodable mazes, Scratch games, and basic Python programming. As two of my Upper School students presented their text adventure games to my seventh grade students yesterday, I was blown away not only by their programming abilities, but by their exceptional writing skills. Even though these Python games did not have the complicated graphics that we are used to seeing in today’s video games, the seventh graders couldn’t help but be caught up in the intricate plots and stories woven into the code. For me, these games help demonstrate the tremendous opportunity that computer science provides for creative expression.
One of my favorite parts of first grade tech class is reading the book “Hello Ruby” together. “Hello Ruby” is a phenomenal children’s book that expertly tackles the skills of computational thinking through the main character Ruby’s adventurous quest and the characters she meets along the way. This week we read the chapter together where Ruby fails for the first time. Her solution to the problem doesn’t work. Frustrated, she resists another character’s attempts to help her. It’s difficult not to empathize with Ruby. Failing again and again is often built into solving even the simplest computer science problem, and it can be incredibly painful. I often have to remind students that feeling a small or medium sense of frustration is okay when they are working to solve a problem. But, learning to persist through difficulty or frustration can bring a tremendous sense of accomplishment, like the rush of seeing your tiny turtle move for the first time. Or programming your first dodecagon!