Exploring coding affordances in Grades 1-8 Science and Technology
By: Steven Floyd and Lisa Anne Floyd
Coding provides a powerful opportunity to transform learning and pedagogy in our science and technology classrooms. Eight key affordances of coding, in the context of science and technology, are described below.
These eight affordances are expanded upon below, and some additional information is provided for each. This information can help educators envision their approach to coding within their own boards and classrooms, that is appropriate, relevant, and valuable for their students and communities.
1. Coding can be a way to learn about science and technology concepts
Students can create models or simulations and then alter their components to see how the changes affect the system.
This approach gives students a better understanding of both the system itself and the scientific and technological concepts involved.
Read more about this approach… Dr. M. Wilkerson studies how young people learn with and about computational representations – things like computer simulations, data visualizations, or interactive graphics. She has published articles related to students learning about molecular diffusion and physics concepts through computational representations.
2. Coding can be a way to do science
Students can obtain data from sensors and use coding concepts and skills to analyse experimental data, draw conclusions, and solve scientific problems.
Read more about this approach… Dr. D. Weintrop and colleagues developed a framework that includes four categories that can help bring educational efforts in line with the increasingly computational nature of modern science and mathematics. These categories include data practices, modeling and simulation practices, computational problem solving practices, and systems thinking practices.
3. Coding can be a way to develop solutions to technological problems
Students can design, build, and program robots, conveyor belts, or interactive art projects with music, motors, and LEDs to help them visualize elements of a possible solution and gain an appreciation of the power of automation.
Students have opportunities to feel empowered as they build physical, working solutions.
Read more about this approach… A number of resources exist to help students work with various physical computing technologies. These include resources from Phidgets, Logics, and FIRST Robotics.
4. Coding can be a way to demonstrate learning
Students can program automated digital stories, dioramas, presentation components, or interactive museum displays to showcase their skills and knowledge and to teach others about science and technology concepts in an engaging and interactive way.
Read more about this approach… Google CSFirst includes activities related to students creating public service announcements to demonstrate their knowledge of science and health issues, while this Coding Photosynthesis TVO Coding in the Classroom resource by Gabriela Bowen involves students creating animations to demonstrate their learning in ScratchJr.
5. Coding can be a way to learn about the digital world around us
Students can learn about algorithms and automation and can develop an introductory understanding of how social media, autonomous cars, artificial intelligence, and other digital technologies are programmed.
Digital technologies are demystified as students develop an understanding of the foundational instructions that program our digital world.
Read more about this approach… Canada Learning Code developed a Pan-Canadian K-12 Computer Science education framework in which they state: “… though the best digital technologies are almost effortless to use, few of us understand how they work, or the logic that underpins them…We want to empower all students to harness the power of these new tools as both creators and consumers of digital technologies. In addition to providing students with the opportunity to create their own digital projects, Computer Science education also equips them with the skills and competencies they’ll need to be more thoughtful and critically minded consumers of digital technologies.”
6. Coding can be a way to provide an opportunity for students to share and take pride in their work
Students can share their project with their classmates, peers, family, and/or community members.
This gives them an opportunity to connect with others in a science and technology context.
Read more about this approach… In From computational thinking to computational participation in K-12 education , Dr. Y. Kafai explains that students “are attracted to the possibility of creating something real and tangible that can be shared with others. Programming is not an abstract discipline, but a way to “make” and “be” in the digital world.”
7. Coding can be a way to provide an opportunity for agency in science and technology learning
The coding context provides students with multiple entry points and multiple directions to take, allowing them to be creative and innovative as they design and build scientific and technological solutions, and as they imagine what might be possible in the future.
Read more about this approach… When discussing agency and coding in mathematics, Dr. Gadanidis and colleagues discuss coding as a low-floor, high-ceiling context that allows beginners to enter into the learning, while experienced students can extend the activities: “Coding in a low-floor and a high-ceiling environment also supports student agency and gives students ownership of their learning. Students writing code to model a pattern or a relationship are in control. There are many different ways to solve a problem with code and students can use methods that personally make sense. They can also deviate from the task to investigate related problems”.
8. Coding can be a way to provide an opportunity for students to realize that they can shape the future in a positive way
While students are accustomed to using digital technologies, they learn through coding that they also have the opportunity to develop these technologies and create change.
Read more about this approach… Dr. Y. Kafai writes in her book Connected code: Why children need to learn programming: “Learning to code ultimately manifests its worth when it increases an individual’s capacity to participate in today’s digital publics. Programming is a form of expressing oneself and of participating in social networks and communities”.