Distributed computing, computer networking, and the internet of things (IoT) are all around us, yet the underlying concepts are rarely taught in introductory K–12 computer science courses. Teaching IoT is especially problematic, because it requires hardware whose cost, maintenance, and logistics are beyond the scope of many under-resourced schools. However, most students have smartphones, which are networked devices with a wide range of sensors. With the right approach, these phones can be used to introduce IoT even to novices. This...