Kara, finite state machines, and the case for programming as part of general education

Werner Hartmann, J. Nievergelt, Raimond Reichert
{"title":"Kara, finite state machines, and the case for programming as part of general education","authors":"Werner Hartmann, J. Nievergelt, Raimond Reichert","doi":"10.1109/HCC.2001.995251","DOIUrl":null,"url":null,"abstract":"As a major evolutionary step in computer technology, users have come to rely on ready-made application software, rather than writing their own programs. If computer users no longer program, does it follow that the art of programming should only be taught to computing professionals? We argue the case for programming as a component of general education - not because of any direct utilitarian benefit, but in order to gain a personal experience as to what it means, and what it takes, to specify processes that evolve over time. An analogy to mathematics education shows that schools teach the concept of \"proof\", although in daily life people use mathematical formulas without knowledge of their proof. Programming practiced as an educational exercise, free from utilitarian constraints, is best learned in a toy environment, designed to illustrate selected concepts in the simplest possible setting. As an example, we present the programming system Kara based on the concept of finite state machines.","PeriodicalId":438014,"journal":{"name":"Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-09-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"37","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HCC.2001.995251","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 37

Abstract

As a major evolutionary step in computer technology, users have come to rely on ready-made application software, rather than writing their own programs. If computer users no longer program, does it follow that the art of programming should only be taught to computing professionals? We argue the case for programming as a component of general education - not because of any direct utilitarian benefit, but in order to gain a personal experience as to what it means, and what it takes, to specify processes that evolve over time. An analogy to mathematics education shows that schools teach the concept of "proof", although in daily life people use mathematical formulas without knowledge of their proof. Programming practiced as an educational exercise, free from utilitarian constraints, is best learned in a toy environment, designed to illustrate selected concepts in the simplest possible setting. As an example, we present the programming system Kara based on the concept of finite state machines.
卡拉,有限状态机,以及将编程作为通识教育的一部分
作为计算机技术的一个主要进化步骤,用户已经开始依赖现成的应用软件,而不是自己编写程序。如果计算机用户不再编程,是否就意味着编程艺术只应该教授给计算机专业人士?我们认为编程是通识教育的一个组成部分——不是因为任何直接的功利利益,而是为了获得个人经验,了解它的意义,以及它需要什么,来指定随时间演变的过程。一个与数学教育的类比表明,学校教授“证明”的概念,尽管在日常生活中人们使用数学公式而不知道它们的证明。编程作为一种教育练习,不受实用主义的限制,最好是在一个玩具环境中学习,旨在以最简单的设置说明选定的概念。作为一个例子,我们提出了基于有限状态机概念的编程系统Kara。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信