Return to search

Designing an Introductory Programming Language Based on Studies on Novices

The challenges of learning programming have been revealed in studies for decades. Many of the difficulties and misconceptions derive from, or go unassisted by, the syntax and semantics of the programming language used in introductory (CS1) courses. Despite the plethora of empirical data available, the designs of common general-purpose languages have arguably not been based on such data, possibly being one explanation to why novices continue to struggle. Through a literature review, this article first reviews what languages are commonly used in CS1 courses, studies on difficulties and misconceptions held by novices, and other factors that can be exploited in the design of more suitable introductory languages. Thereafter, a new text-based general-purpose programming language called Frendli is introduced, as well as the justifications for design decisions based on the findings presented. The language is intended for use in the beginning stages of introductory courses. The literature review revealed that novices often struggle with understanding fundamental concepts such as function parameters, return values, the need for variable declarations, and the order of execution. It also demonstrated that several syntactic and semantic design features of both C-style languages like Java and syntactically simpler ones like Python are problematic for novices. The author would argue that a language used for teaching programming should intuitively convey universal programming concepts through its syntax, minimize interference and ambiguity of syntax, and have syntactic and semantic consistency. Designing languages based on studies on novices can hopefully assist students in their learning and instructors in their teaching.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:lnu-114226
Date January 2022
CreatorsJansson, Linnea
PublisherLinnéuniversitetet, Institutionen för datavetenskap och medieteknik (DM)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.003 seconds