Experiences in bridging from functional to object-oriented programming

Igor Moreno Santos, Matthias Hauswirth, Nathaniel Nystrom
{"title":"Experiences in bridging from functional to object-oriented programming","authors":"Igor Moreno Santos, Matthias Hauswirth, Nathaniel Nystrom","doi":"10.1145/3358711.3361628","DOIUrl":null,"url":null,"abstract":"Understanding how students' prior knowledge affects their learning of new concepts is essential for effective teaching. The same learning activity, or the same explanation, may have very different effects on students with different prior knowledge. In the context of teaching programming, prior knowledge includes the programming languages students studied in prior courses. In this experience report we describe our observations in teaching object-oriented programming in Java to students who previously learned functional programming in Racket's student languages. We highlight four concrete problems we encountered in teaching the second course in this sequence. We detected and addressed these problems primarily thanks to a teaching assistant who assisted in both of the courses. This experience made us realize the importance of explicitly bridging between languages in introductory programming course sequences. It also showed that the sharing of teaching staff across courses can be an effective way to detect aspects that need bridging.","PeriodicalId":190350,"journal":{"name":"Proceedings of the 2019 ACM SIGPLAN Symposium on SPLASH-E","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2019 ACM SIGPLAN Symposium on SPLASH-E","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3358711.3361628","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

Understanding how students' prior knowledge affects their learning of new concepts is essential for effective teaching. The same learning activity, or the same explanation, may have very different effects on students with different prior knowledge. In the context of teaching programming, prior knowledge includes the programming languages students studied in prior courses. In this experience report we describe our observations in teaching object-oriented programming in Java to students who previously learned functional programming in Racket's student languages. We highlight four concrete problems we encountered in teaching the second course in this sequence. We detected and addressed these problems primarily thanks to a teaching assistant who assisted in both of the courses. This experience made us realize the importance of explicitly bridging between languages in introductory programming course sequences. It also showed that the sharing of teaching staff across courses can be an effective way to detect aspects that need bridging.
有从函数式编程过渡到面向对象编程的经验
了解学生的先验知识如何影响他们对新概念的学习是有效教学的关键。同样的学习活动,或者同样的解释,可能对具有不同先验知识的学生产生非常不同的影响。在编程教学中,先验知识包括学生在先验课程中学习过的编程语言。在这份经验报告中,我们描述了我们在向以前用Racket的学生语言学习函数式编程的学生教授Java面向对象编程时的观察。我们重点介绍了我们在这个顺序的第二门课程的教学中遇到的四个具体问题。我们发现并解决了这些问题,主要要感谢一位在这两门课程中都提供帮助的助教。这一经历使我们意识到在编程入门课程序列中明确地在语言之间架起桥梁的重要性。它还表明,跨课程的教学人员共享是发现需要弥合的方面的有效方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信