Designing Tools to Support Advanced Computing Topics in K-12 Classrooms
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Despite the growing importance of distributed computing, embedded systems, and the Internet of Things (IoT), these topics are rarely taught in K-12 education. Traditional tools for introducing these branches of computer science are often too complex and/or require costly and delicate hardware that many schools cannot afford to purchase and maintain. As a result, K-12 students have limited opportunities to engage with these advanced computing concepts in a hands-on, accessible way. This dissertation introduces three educational tools designed to address these challenges. NetsBlox32 is a low-cost IoT-enabled microcontroller platform that integrates with NetsBlox, an existing block-based programming environment focused on accessible distributed computing, allowing students to build and program networked embedded systems using simple block-based abstractions. PhoneIoT is a free mobile app which turns students’ own smartphones into interactive IoT devices which can be accessed through NetsBlox, providing a familiar and accessible entry point to networked sensing. Finally, PyBlox is a transitional platform which allows students to smoothly “graduate” out of block-based programming into text-based programming in Python while still retaining all of NetsBlox’s simple and accessible distributed computing abstractions, as well as many of the features and affordances of modern block-based programming. By leveraging various aspects such as visual programming, intuitive design, and low-cost hardware, these tools lower the barrier to advanced computing topics, making them more accessible and engaging for K-12 students.