Principles of Educational Programming Language Design

被引:0
作者
Kolling, Michael [1 ]
机构
[1] Kings Coll London, Informat Dept, London, England
来源
INFORMATICS IN EDUCATION | 2024年 / 23卷 / 04期
关键词
programming education; language design; programming pedagogy;
D O I
10.15388/infedu.2024.29
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
The principles of programming language design for learning and teaching have been described and discussed for several decades. Most influential was the work of Niklaus Wirth, 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.
引用
收藏
页码:823 / 836
页数:14
相关论文
共 18 条
[1]  
Arnold Ken., 1996, The Java Programming Language
[2]   Frame-Based Editing: Combining the Best of Blocks and Text Programming [J].
Brown, Neil C. C. ;
Altadmri, Amjad ;
Kolling, Michael .
PROCEEDINGS OF 2016 INTERNATIONAL CONFERENCE ON LEARNING AND TEACHING IN COMPUTING AND ENGINEERING (LATICE 2016), 2016, :47-53
[3]  
Bszrmnyi L., 2000, The School of Niklaus Wirth: The Art of Simplicity
[4]  
Caspersen M.E., 2022, The Informatics Reference Framework for School
[5]  
CECE, 2017, Technical report, DOI [10.1145/3106077, DOI 10.1145/3106077]
[6]   SIMULA - AN ALGOL-BASED SIMULATION LANGUAGE [J].
DAHL, OJ ;
NYGAARD, K .
COMMUNICATIONS OF THE ACM, 1966, 9 (09) :671-&
[7]  
Garcia D., 2015, ACM Inroads, V6, P71
[8]   The feel of Java']Java [J].
Gosling, J .
COMPUTER, 1997, 30 (06) :53-&
[9]  
Jensen K., 1974, PASCAL USER MANUAL R, V2nd
[10]  
Kemeny J., 1964, Basic: a manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time Sharing System (PDF), V1st