A Web-based Environment for Developing and Utilizing Teaching Languages for Novice Computer Science Students (Abstract Only)
Benjamin J. Kruger, Richard Matzen · 2016
First year Computer Science students must face the dual challenge of learning to think algorithmically while simultaneously assimilating the complex and often unintuitive syntax of their first programming language. Mitigating this problem has been an active research area for decades, spawning a number of programming languages intended for students. While some such teaching languages have achieved a measure of popularity, both in the classroom and for general purpose programming, none has achieved ubiquity, which suggests there is no silver bullet. To this end, we present a suite of open source software including (1) a web-based toolkit for developing and modifying teaching languages using parsing expression grammars, (2) C Spot Run, a simple imperative teaching language built with the toolkit and informed by empirical research in intuitive syntax, and (3) a web-based development environment enabling the student to complete programming assignments directly from a web browser, eliminating complicated compiler installation and configuration. These artifacts are the first steps in an ongoing project intended to serve not only as a classroom tool, but also as a platform for the observational and experimental study of programming languages in classroom settings. By analyzing source code and metadata, common syntactic obstacles may be exposed and empirical studies of syntax can be verified in the classroom.