SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Wed 20 Oct 2021 14:10 - 14:30 at Zurich E - Session 2

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.

Wed 20 Oct

Displayed time zone: Central Time (US & Canada) change

13:50 - 15:10
Session 2SPLASH-E at Zurich E
13:50
20m
Talk
PaCon: A Symbolic Analysis Approach for Tactic-Oriented Clustering of Programming Submissions
SPLASH-E
Yingjie Fu Peking University, Jonathan Osei-Owusu University of Illinois at Urbana-Champaign, Angello Astorga University of Illinois at Urbana-Champaign, Zirui Neil Zhao University of Illinois at Urbana-Champaign, Wei Zhang Peking University, Tao Xie Peking University
DOI
14:10
20m
Talk
Shrinking JavaScript for CS1
SPLASH-E
Boyd Anderson National University of Singapore, Martin Henz National University of Singapore, Kok-Lim Low National University of Singapore, Daryl Tan National University of Singapore
DOI
14:30
20m
Talk
A Stepper for a Functional JavaScript Sublanguage
SPLASH-E
Martin Henz National University of Singapore, Thomas Tan National University of Singapore, Zachary Chua National University of Singapore, Peter Jung National University of Singapore, Yee-Jian Tan National University of Singapore, Xinyi Zhang National University of Singapore, Jingjing Zhao National University of Singapore
DOI
14:50
15m
Talk
Course Experience Report: Full-Class Compiler Collaboration
SPLASH-E
Joe Gibbs Politz University of California at San Diego, Yousef Alhessi University of California at San Diego
DOI