Home > Research > Publications & Outputs > MakeCode and CODAL

Links

Text available via DOI:

View graph of relations

MakeCode and CODAL: Intuitive and efficient embedded systems programming for education

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

MakeCode and CODAL: Intuitive and efficient embedded systems programming for education. / Devine, James; Finney, Joe; de Halleux, Peli et al.
In: Journal of Systems Architecture, Vol. 98, 01.09.2019, p. 468-483.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Devine, J, Finney, J, de Halleux, P, Moskal, M, Ball, T & Hodges, S 2019, 'MakeCode and CODAL: Intuitive and efficient embedded systems programming for education', Journal of Systems Architecture, vol. 98, pp. 468-483. https://doi.org/10.1016/j.sysarc.2019.05.005

APA

Devine, J., Finney, J., de Halleux, P., Moskal, M., Ball, T., & Hodges, S. (2019). MakeCode and CODAL: Intuitive and efficient embedded systems programming for education. Journal of Systems Architecture, 98, 468-483. https://doi.org/10.1016/j.sysarc.2019.05.005

Vancouver

Devine J, Finney J, de Halleux P, Moskal M, Ball T, Hodges S. MakeCode and CODAL: Intuitive and efficient embedded systems programming for education. Journal of Systems Architecture. 2019 Sept 1;98:468-483. Epub 2019 May 28. doi: 10.1016/j.sysarc.2019.05.005

Author

Devine, James ; Finney, Joe ; de Halleux, Peli et al. / MakeCode and CODAL : Intuitive and efficient embedded systems programming for education. In: Journal of Systems Architecture. 2019 ; Vol. 98. pp. 468-483.

Bibtex

@article{07f6dec75b104b1c83470e906578c235,
title = "MakeCode and CODAL: Intuitive and efficient embedded systems programming for education",
abstract = "Historically, embedded systems development has been a specialist skill, requiring knowledge of low-level pro- gramming languages, complex compilation toolchains, and specialist hardware, firmware, device drivers and applications. However, it has now become commonplace for a broader range of non-specialists to engage in the making (design and development) of embedded systems - including educators to motivate and excite their stu- dents in the classroom. This diversity brings its own set of unique requirements, and the complexities of existing embedded systems development platforms introduce insurmountable barriers to entry.In this paper we present the motivation, requirements, implementation, and evaluation of a new programming platform that enables novice users to create effective and efficient software for embedded systems. The platform has two major components: (1) Microsoft MakeCode (www.makecode.com), a web app that encapsulates an accessible IDE for microcontrollers; and (2) CODAL, an efficient component-oriented C++ runtime for microcon- trollers. We show how MakeCode and CODAL combine to provide an accessible, cross-platform, installation-free, high level programming experience for embedded devices without sacrificing performance and efficiency.",
keywords = "MakeCode, CODAL, BBC micro:bit, Embedded systems, Physical computing, Visual programming, Web-based programming",
author = "James Devine and Joe Finney and {de Halleux}, Peli and Michal Moskal and Thomas Ball and Steve Hodges",
year = "2019",
month = sep,
day = "1",
doi = "10.1016/j.sysarc.2019.05.005",
language = "English",
volume = "98",
pages = "468--483",
journal = "Journal of Systems Architecture",
issn = "1383-7621",
publisher = "Elsevier Science B.V.",

}

RIS

TY - JOUR

T1 - MakeCode and CODAL

T2 - Intuitive and efficient embedded systems programming for education

AU - Devine, James

AU - Finney, Joe

AU - de Halleux, Peli

AU - Moskal, Michal

AU - Ball, Thomas

AU - Hodges, Steve

PY - 2019/9/1

Y1 - 2019/9/1

N2 - Historically, embedded systems development has been a specialist skill, requiring knowledge of low-level pro- gramming languages, complex compilation toolchains, and specialist hardware, firmware, device drivers and applications. However, it has now become commonplace for a broader range of non-specialists to engage in the making (design and development) of embedded systems - including educators to motivate and excite their stu- dents in the classroom. This diversity brings its own set of unique requirements, and the complexities of existing embedded systems development platforms introduce insurmountable barriers to entry.In this paper we present the motivation, requirements, implementation, and evaluation of a new programming platform that enables novice users to create effective and efficient software for embedded systems. The platform has two major components: (1) Microsoft MakeCode (www.makecode.com), a web app that encapsulates an accessible IDE for microcontrollers; and (2) CODAL, an efficient component-oriented C++ runtime for microcon- trollers. We show how MakeCode and CODAL combine to provide an accessible, cross-platform, installation-free, high level programming experience for embedded devices without sacrificing performance and efficiency.

AB - Historically, embedded systems development has been a specialist skill, requiring knowledge of low-level pro- gramming languages, complex compilation toolchains, and specialist hardware, firmware, device drivers and applications. However, it has now become commonplace for a broader range of non-specialists to engage in the making (design and development) of embedded systems - including educators to motivate and excite their stu- dents in the classroom. This diversity brings its own set of unique requirements, and the complexities of existing embedded systems development platforms introduce insurmountable barriers to entry.In this paper we present the motivation, requirements, implementation, and evaluation of a new programming platform that enables novice users to create effective and efficient software for embedded systems. The platform has two major components: (1) Microsoft MakeCode (www.makecode.com), a web app that encapsulates an accessible IDE for microcontrollers; and (2) CODAL, an efficient component-oriented C++ runtime for microcon- trollers. We show how MakeCode and CODAL combine to provide an accessible, cross-platform, installation-free, high level programming experience for embedded devices without sacrificing performance and efficiency.

KW - MakeCode

KW - CODAL

KW - BBC micro:bit

KW - Embedded systems

KW - Physical computing

KW - Visual programming

KW - Web-based programming

U2 - 10.1016/j.sysarc.2019.05.005

DO - 10.1016/j.sysarc.2019.05.005

M3 - Journal article

VL - 98

SP - 468

EP - 483

JO - Journal of Systems Architecture

JF - Journal of Systems Architecture

SN - 1383-7621

ER -