Devine, James and Finney, Joe and Moskal, Michał and de Halleux, Peli and Ball, Thomas and Hodges, Steve (2018) MakeCode and CODAL : Intuitive and Efficient Embedded Systems Programming for Education. In: LCTES 2018 Proceedings of the 19th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems :. ACM, New York, pp. 19-30. ISBN 9781450358033
lctes18main_p12_p.pdf - Published Version
Available under License Creative Commons Attribution.
Download (1MB)
Abstract
Across the globe, it is now commonplace for educators to engage in the making (design and development) of embedded systems in the classroom to motivate and excite their students. This new domain brings its own set of unique requirements. Historically, embedded systems development requires knowledge of low-level programming languages, local installation of compilation toolchains, device drivers, and applications. For students and educators, these requirements can introduce insurmountable barriers. We present the motivation, requirements, implementation, and evaluation of a new programming platform that enables novice users to create software for embedded systems. The platform has two major components: 1) Microsoft MakeCode (www.makecode.com), a web app that encapsulates an entire beginner IDE for microcontrollers; and 2) CODAL, an efficient component-oriented C++ runtime for microcontrollers. We show how MakeCode and CODAL provide an accessible, cross-platform, installation-free programming experience for the BBC micro:bit and other embedded devices.