Principles of Educational Programming Language Design

The principles of programming language design for learning and teaching have been described and discussed for several decades. Most influential was the work of NiklausWirth, describing principles such as simplicity, modularity, orthogonality, and readability. So why is this still an area of fundamental disagreement among educators? Why can teachers still not agree on suitable languages for novice programming? Why do we not have a programming language that is designed for education and in widespread use across the world? This paper enumerates and describes educational language design principles in the context of current systems and technologies and discusses why interpretation of these principles shifts as our discipline progresses. We evaluate what these principles mean in our current world, and why a common agreement has not developed. We discuss the relative benefits of pedagogical languages vs. industry languages and articulate why every generation of learners needs their own language.

Authors

Institutions

Publication Details

Journal
Informatics in Education
Published
2024-12-10
DOI
https://doi.org/10.15388/infedu.2024.29
Citations
3
Primary Topic
Intelligent Tutoring Systems and Adaptive Learning
Type
article
Field-Weighted Citation Impact
1.04
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Principles of Educational Programming Language Design

Michael Kölling
3 citations
Informatics in Education
Intelligent Tutoring Systems and Adaptive Learning
1.04
article

Principles of Educational Programming Language Design

Michael Kölling
article en
3 citations

Abstract

The principles of programming language design for learning and teaching have been described and discussed for several decades. Most influential was the work of NiklausWirth, describing principles such as simplicity, modularity, orthogonality, and readability. So why is this still an area of fundamental disagreement among educators? Why can teachers still not agree on suitable languages for novice programming? Why do we not have a programming language that is designed for education and in widespread use across the world? This paper enumerates and describes educational language design principles in the context of current systems and technologies and discusses why interpretation of these principles shifts as our discipline progresses. We evaluate what these principles mean in our current world, and why a common agreement has not developed. We discuss the relative benefits of pedagogical languages vs. industry languages and articulate why every generation of learners needs their own language.

Informatics in Education
King's College London (GB)
Quality Education
Openalex Percentile: Top 18%
Intelligent Tutoring Systems and Adaptive Learning
1.04
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.