Karel releams C: Teaching good software engineering practices in CS1 with Karel the Robot

M. Heckner, Alexander Bazo, Christian Wolff, Stefanie Scherzinger
{"title":"Karel releams C: Teaching good software engineering practices in CS1 with Karel the Robot","authors":"M. Heckner, Alexander Bazo, Christian Wolff, Stefanie Scherzinger","doi":"10.1109/EDUCON.2018.8363402","DOIUrl":null,"url":null,"abstract":"This paper describes our implementation, teaching philosophy, and experiences with our C-based version of the widely known Karel the Robot introductory programming micro-language. Karel enables students to programmatically solve problems, using the C language, in a graphical two-dimensional world by moving the robot around while checking and manipulating its surroundings. We use Karel to solve the dilemma of either demanding too much or not enough from students during the first weeks of an introductory CS course, as interesting problems can be solved with limited input from lectures. Karel enables problem solving from day one of CS1, and encourages good software engineering practices such as top-down design from the beginning. We outline typical problems in the first weeks of CS1. We present a short overview of existing Karel implementations in various programming languages and our rationale for re-implementing Karel. We present our teaching philosophy and use of Karel in the classroom. We demonstrate how Karel is being used from a student perspective, along with a typical programming task. We discuss preliminary results of a survey and interviews with students from a first course in which Karel was used.","PeriodicalId":102826,"journal":{"name":"2018 IEEE Global Engineering Education Conference (EDUCON)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE Global Engineering Education Conference (EDUCON)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EDUCON.2018.8363402","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

This paper describes our implementation, teaching philosophy, and experiences with our C-based version of the widely known Karel the Robot introductory programming micro-language. Karel enables students to programmatically solve problems, using the C language, in a graphical two-dimensional world by moving the robot around while checking and manipulating its surroundings. We use Karel to solve the dilemma of either demanding too much or not enough from students during the first weeks of an introductory CS course, as interesting problems can be solved with limited input from lectures. Karel enables problem solving from day one of CS1, and encourages good software engineering practices such as top-down design from the beginning. We outline typical problems in the first weeks of CS1. We present a short overview of existing Karel implementations in various programming languages and our rationale for re-implementing Karel. We present our teaching philosophy and use of Karel in the classroom. We demonstrate how Karel is being used from a student perspective, along with a typical programming task. We discuss preliminary results of a survey and interviews with students from a first course in which Karel was used.
Karel releams C:用Karel the Robot在CS1中教授良好的软件工程实践
本文描述了我们的实现,教学理念,以及我们基于c的版本的广为人知的卡雷尔机器人入门编程微语言的经验。Karel使学生能够使用C语言在图形化的二维世界中通过移动机器人来检查和操纵周围环境,以编程方式解决问题。我们使用Karel来解决在CS入门课程的前几周对学生要求过高或不足的困境,因为有趣的问题可以通过有限的讲座输入来解决。Karel允许从CS1的第一天开始解决问题,并从一开始就鼓励良好的软件工程实践,例如自顶向下设计。我们在CS1的前几周概述了典型问题。我们简要介绍了现有的各种编程语言的卡雷尔实现,以及我们重新实现卡雷尔的基本原理。我们在课堂上展示我们的教学理念和卡雷尔的使用。我们从学生的角度演示如何使用Karel,以及一个典型的编程任务。我们讨论了一项调查的初步结果,并采访了使用卡雷尔的第一门课程的学生。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信