It’s full STEAM ahead for Poly’s Computer Science programs. In our first of a four-part series, we showcase the hands-on work of our youngest students at Lower School.
by Stacy Hunter P’15, Director of Lower School Technology, Computer Science Teacher
Learning a programming language at any early age isn’t just about coding, it’s about establishing a certain mindset. A problem-solving mindset that encourages creativity, grit, logic, collaboration, and communication skills, among others. For Poly’s Lower School students, this starts from the get-go.
For instance, in Kindergarten, students used kid-friendly Beebots and different storytelling devices to strategize how to navigate a robot from one point to another. One group navigated their bee through a handmade maze of flowers to deliver nectar to its hive. Another group navigated theirs around the town on a mission of collecting and delivering goods. And yet another created a series of arrowed ‘maps’ for their peers to follow in order to find their classroom.
This exercise encourages sequential thinking and the beginning of computational thinking where students are required to break issues down into more manageable sub-problems, or routines, in which they then identify, prioritize, and implement solutions. We refer to the process of refining these solutions as ‘debugging’ in order for students to understand the iterative nature of problem-solving. This skill helps to develop a growth mindset, which can be applied to every aspect of a student’s learning such as in writing multiple drafts of an essay or conducting a science experiment.
In our earlier grades, we focus on ‘hands-on’ coding with robots that receive programming instructions using tiles, buttons, or barcode, rather than bluetooth-connected devices. This year we started a robotics rotation where fourth grade students teach the younger students how to code a variety of robots such as Matalab, Plobot, Cubetto, Kubo, Kibo, Tale-Bot, among others.
The majority of coding learned at the Lower School uses a program called Scratch. Scratch is a programming environment developed by the Lifelong Kindergarten Group at the MIT Media Lab. Scratch projects are “designed to support familiarity and increasing fluency with computational creativity and computational thinking, while building on students’ creativity and personal interests. In particular, the activities encourage exploration of key computational thinking concepts (sequence, loops, parallelism, events, conditionals, operators, data) and key computational thinking practices (experimenting and iterating, testing and debugging, reusing and remixing, abstracting and modularizing).”
This year third and fourth grade students created Public Service Announcements in Scratch for a project entitled ‘Pitch Your Passion’ on topics such as global warming, bullying, racism, and animal rights. Criteria included the use of a mascot or spokesperson, and a memorable slogan or jingle.
Learning block-based coding in Scratch lends itself to other programming environments such as Tinkercad, Minecraft, and CoSpaces. For instance, third graders designed a 3D community in Tinkercad where they were tasked with developing a self-sustaining community of residential, communal, educational, and civic spaces. Mathematical concepts included the x-, y- and z-axes, units of measure, and geometric shapes.
Once completed, projects can be printed and/or exported as .obj files which can then be imported into programs such as CoSpaces. CoSpaces enables students to create interactive 3D animations and games using block-based coding, which can be viewed in augmented or virtual reality environments. This year fourth grade students, working in teams, conducted debates in CoSpaces with one side arguing in support and the other side in opposition of a resolution of their choice. Each debate included an interactive Q&A for viewers to judge the quality of the evidence and arguments and the performance in the debate.
The Scratch programming environment also supports a number of robotics programs such as Edison, EV3, Boost, Spike, WeDo, and micro:bit. For instance, second grade students employed Edison robots to solve a series of robotics challenges where they coded the light, sound, and distance sensors to compete in a series of races, mazes, and wrestling matches.
Third grade students use WeDo Lego robots to learn about how sensors interact with the environment to achieve certain tasks. Students first build a prototypical ‘rover’ to explore methods used by scientists and engineers to examine environments uninhabitable by humans. Students then research an environmental science-related topic by building and coding a robot to investigate such natural issues as weather-induced hazards, geothermal activity, physiological hindrances, natural disasters, flood prevention, and waste reduction to name a few.
In math, third graders used Dash, Dot & Cue robots to ‘secure the perimeter’ of stages they mapped out in tape where they compared their computations with that of their robot’s.
Fourth grade students will be introduced to Spike Lego robotics this year, our most recent addition to our robotics suite, where they will combine coding concepts with ultrasonic, color, gyroscope, and infrared sensors to investigate a variety of principles such as ‘Autonomous Parking’ where the students will design cars that can park themselves safely without ‘driver’ intervention.
Beyond learning basic computer skills, students learn to think logically and to identify cause and effect, sequence, and to make inferences. With this, students begin to embrace a certain amount of perseverance in using trial and error to achieve the desired outcome. Students also learn mindfulness and patience in assembling and debugging their code. Many programs such as CoSpaces and Edison offer Python coding as well, so making the transition to writing code in a program they are already familiar with is all the easier.
As computer scientist Mitch Resnick from MIT’s Media Lab explains, “Most people won’t grow up to become professional computer scientists or programmers, but those skills of thinking creatively, reasoning systematically, working collaboratively… are things that people can use no matter what they’re doing in their work lives.”