Coding in the Classroom
What if the use of code in a science classroom became as common as using a microscope?
What if every computer science course had a physical computing component?
Coding in the Science Classroom
Enabling student inquiry with code is the name of the game these days. With so many programming languages, tools, and techniques available, teachers can quickly become overwhelmed with the various options.
Science is not simply the process of acquirying existing knowledge, but rather the process of hypothesis testing through experimentation. Students should be “doing science” as much as possible. This is also the case for Computer Science classrooms as nothing can replace the learning that takes place through actually writing and debugging code. The use of code in science experiments provides an ideal solution to obtain large amounts of quantitative measurements throughout the experimental process. This data collection and analysis is a critical element of most successful scientific discoveries.
Computational scientific exploration involves the use of computing systems to sense environmental factors and respond accordingly while collecting data for further analysis.
In the elementary and secondary classrooms of today there are no limits to the systems that can be explored using computational tools and techniques.
Earlier this year I was given the opportunity to explore a new Phidgets Plant Kit. I have experimented with similar kits in the past, but this one eliminates the fuss of using breadboards, external power supplies, and other electronics. With other similar kits you often need to use breadboards, jumper wires and other components to build a functional experimental system and the often the system can be easily damaged by students or teachers. With this kit, students and teachers can simply get started with their favourite programming language and computing platform (operating system).
I decided to use Python with Thonny as my development environment. This kit includes everything you need down to the clip to hold the tubing to plant container and the screwdriver required for the Power Supply Unit (PSU).
Explore the impact of sunlight and water consumption on plant growth
What are Phidgets?
Phidgets are easy to use USB sensors and controllers that can be configured to do almost anything you ask them to do. In this kit we are provided with a VINT Hub, Moisture Sensor, Light Sensor, Power Supply Unit (to drive the water pump), and a water pump.
VINT Hubs have 6 configurable ports for digital or analog devices. Working with Phidgets basically requires a single USB port, some simple to connect cables.
Project in Action
With the VINT Hub and the various Phidgets used for this project I could focus on data collection and coding tasks and not have to worry about connecting up the water pump or sensors incorrectly.
In the photo on the right you can’t quite see the moisture sensor, but it is constantly providing feedback to notify my system if the plant needs additional water. The water pump is submerged in my “Don’t Make Me Use My Teacher Voice” mug. As you listen to the video of the right you will faintly hear the pump running and you will see that my Spider Plant is satisfied with the moisture level after a few watering intervals. The kit also provides an excellent light sensor that could be used to collect sunlight information in your experiement.
There are so many additional extensions that you could consider with this kit by simply adding additional Phidgets such as the Humidity Sensor, pH sensor, or others. On the Phidgets website there is a suggested extension using Raspberry Pi along with a slick LCD screeen to create an autonomous watering system. My environment simply used a Windows computer connected with a single USB cable.
I have worked with students on many other projects using Phidgets and the Raspberry Pi is a great platform for these projects. Some of my favourite projects using Phidgets involve the integration of Phidgets with Pygame Zero. There are now a series of tutorials available on their website for you to explore the use of Pygame Zero with Phidgets from a basic push button interface for Flappy Bird to the use of Accelerometers.
Have fun exploring the world of Physical Computing using your favourite coding language, platform and collection of Phidgets. There are so many possiblities for Project Based Learning with your students now is the time to bring coding into your classroom and also bring Physical Computing into your Computer Science classroom.
If you are just getting started with Phidgets I would suggest that you visit their website and click on the Educator tab to explore the device tutorials and various projects. The components are reasonably priced and are designed for industrial use so they will work well in a classroom environment for many years.
Grant Hutchison – @grant_hutchison