Shrinking JavaScript for CS1

3Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.

Abstract

In teaching and learning programming at first-year-university level, simple languages with small feature sets are preferable over industry-strength languages with extensive feature sets, to reduce the learners' cognitive load. At the same time, there is increasing pressure to familiarise students with mainstream languages early in their learning journey, and these languages accumulate features as years go by. In response to these competing requirements, we developed Source, a collection of JavaScript sublanguages with feature sets just expressive enough to introduce first-year computer science students to the elements of computation. These languages are supported by a web-based programming environment custom-built for learning at beginner's level, which provides transpiler, interpreter, virtual machine, and algebraic-stepper-based implementations of the languages, and includes tracing, debugging, visualization, type-inference, and smart-editor features. This paper motivates the choice of JavaScript as starting point and describes the syntax and semantics of the Source languages compared to their parent language, and their implementations in the system. We report our experiences in developing and improving the languages and implementations over a period of three years, teaching a total of 1561 computer science first-year students at a university.

Cite

CITATION STYLE

APA

Anderson, B., Henz, M., Low, K. L., & Tan, D. (2021). Shrinking JavaScript for CS1. In SPLASH-E 2021 - Proceedings of the 2021 ACM SIGPLAN International Symposium on SPLASH-E, co-located with SPLASH 2021 (pp. 87–96). Association for Computing Machinery, Inc. https://doi.org/10.1145/3484272.3484970

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free