IoT as an Introduction to Computer Science and Engineering: A Case for NodeMCU in STEM-C Education
Aleš Jaklič
Abstract
We present a courseware design and implementation for pre-engineering university summer school outreach program intended for 6 <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">th</sup> to 12 <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">th</sup> grade pupils (K-12). The course focuses on building hardware and software for three IoT devices of increasing complexity and in doing so introduces various important computer science and engineering concepts. Device design constraints allow for very low cost of the built prototypes (5 - 10 € per device). We used NodeMCU with ESP8266 as a hardware platform. Lua as a part of NodeMCU firmware was used as a programming language due to simple syntax, possible interactive use, and compact source code that consisted of about 150 lines of code on average for each device. Pupils were provided with source code templates and encouraged to supplement the code with missing parts. The approach was scaled to primary and secondary schools’ curricula by organizing and evaluating a continuing education course for teachers in pre-university education.