Journal ArticleDOI
An Empirical Investigation into Programming Language Syntax
Andreas Stefik,Susanna Siebert +1 more
Reads0
Chats0
TLDR
Four empirical studies on programming language syntax are conducted to help teachers of introductory programming courses in choosing appropriate first languages and in helping students to overcome the challenges they face with syntax.Abstract:
Recent studies in the literature have shown that syntax remains a significant barrier to novice computer science students in the field. While this syntax barrier is known to exist, whether and how it varies across programming languages has not been carefully investigated. For this article, we conducted four empirical studies on programming language syntax as part of a larger analysis into the, so called, programming language wars. We first present two surveys conducted with students on the intuitiveness of syntax, which we used to garner formative clues on what words and symbols might be easy for novices to understand. We followed up with two studies on the accuracy rates of novices using a total of six programming languages: Ruby, Java, Perl, Python, Randomo, and Quorum. Randomo was designed by randomly choosing some keywords from the ASCII table (a metaphorical placebo). To our surprise, we found that languages using a more traditional C-style syntax (both Perl and Java) did not afford accuracy rates significantly higher than a language with randomly generated keywords, but that languages which deviate (Quorum, Python, and Ruby) did. These results, including the specifics of syntax that are particularly problematic for novices, may help teachers of introductory programming courses in choosing appropriate first languages and in helping students to overcome the challenges they face with syntax.read more
Citations
More filters
Journal ArticleDOI
Psychology of Language
TL;DR: The authors The Selected Readings of R. C. Oldfield and J.C. Marshall, published by Penguin Books: Harmondsworth, Middlesex, 1968. Pp. 392.
Proceedings ArticleDOI
Introductory programming: a systematic literature review
Andrew Luxton-Reilly,Simon,Ibrahim Al-Bluwi,Brett A. Becker,Michail N. Giannakos,Amruth N. Kumar,Linda Ott,James H. Paterson,Michael James Scott,Judy Sheard,Claudia Szabo +10 more
TL;DR: An ITiCSE working group conducted a systematic review of the introductory programming literature to explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research.
Journal ArticleDOI
Learnable Programming: Blocks and Beyond
TL;DR: New blocks frameworks open doors to greater experimentation for novices and professionals alike and provide opportunities for new blocks frameworks to be developed and tested.
Proceedings ArticleDOI
37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data
Amjad Altadmri,Neil C. C. Brown +1 more
TL;DR: The frequency, time-to-fix, and spread of errors among users, showing how these factors inter-relate, in addition to their development over the course of the year, can inform the design of courses, textbooks and also tools to target the most frequent errors.
Journal ArticleDOI
Learnable programming: blocks and beyond
TL;DR: New blocks frameworks open doors to greater experimentation for novices and professionals alike as discussed by the authors, which can be used for both novice and professional developers, and can be found in this paper.
References
More filters
Journal ArticleDOI
Aspect-oriented programming
TL;DR: This work proposes to use aspect-orientation to automate the calculation of statistics for database optimization and shows how nicely the update functionality can be modularized in an aspect and how easy it is to specify the exact places and the time when statistics updates should be performed to speed up complex queries.
Book
An easy guide to factor analysis
TL;DR: The use and Abuse of Factor Analysis in Research References Index is illustrated with examples from Personality Tests and a comparison of the use and abuse of factor analysis in the context of clinical trials.
Proceedings ArticleDOI
Aspect-oriented programming
Gregor Kiczales,Erik Hilsdale +1 more
TL;DR: This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.
Journal ArticleDOI
Scratch: programming for all
Mitchel Resnick,John Maloney,Andrés Monroy-Hernández,Natalie Rusk,Evelyn Eastmond,Karen Brennan,Amon Millner,Eric Rosenbaum,Jay Silver,Brian Silverman,Yasmin B. Kafai +10 more
TL;DR: "Digital fluency" should mean designing, creating, and remixing, not just browsing, chatting, and interacting.
Journal ArticleDOI
Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework
Thomas R. G. Green,Marian Petre +1 more
TL;DR: This paper applies the cognitive dimensions framework to two commercially-available dataflow languages and concludes that it is effective and insightful; other HCI-based evaluation techniques focus on different aspects and would make good complements.