Using Physical Computing Projects in Teaching Introductory Programming


Physical computing engages students who are learning how to program through hands-on projects with tangible devices. Many of these projects are fun and artistic, but may not be very helpful in demonstrating fundamental but non-obvious concepts such as variables, conditionals or complex control flow. With access to many fun "gadgets", e.g., sensors, motors, LEDs, etc., students could get very excited with their projects, while not necessarily learning enough about programming and computational problem solving. This work presents the authors' experience of teaching a physical computing workshop for middle school students using Adafruit Circuit Playground Express and Microsoft MakeCode. Classroom projects not only are engaging but also effectively demonstrate abstract programming concepts. Projects selection is based on a set of software and hardware features in order to choose the ones that best help students learn basic programming concepts.

Publication Date


Journal Title

SIGITE '18: Proceedings of the 19th Annual SIG Conference on Information Technology Education



Digital Object Identifier (DOI)

Document Type

Conference Proceeding