首页> 外文OA文献 >Learning to Program: The Development of Knowledge in Novice Programmers
【2h】

Learning to Program: The Development of Knowledge in Novice Programmers

机译:学习编程:新手程序员的知识发展

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

This thesis presents a longitudinal study of novice programmers during their first year learning to program at university. The purpose of this research was to gain a deeper understanding of the ways in which novice programmers learn to program with an emphasis on their cognitive development processes. The intended outcome was a better understanding of the learning processes of novice programmers, which should enhance the ability of educators to teach, design courses, and assess programming. A key aspect of this research focused on cognitive development theories of Piaget, Vygotsky, Sfard and Cognitive Load and to what degree these theories could explain observations of novice programmers learning to write code.In order to observe and investigate how novice programmers integrate new programming structure, concepts or elements into their current understanding of code it is necessary to be able to measure how difficult writing tasks are. Thus, the first aim of this research was to develop a task difficulty framework, which consisted of a new empirically verified software metric (code structure and readability) and a SOLO classification (task complexity) for code writing tasks. This framework was then used to design nineteen code writing tasks which were of increasing difficulty and complexity so as to trigger situations that required some form of knowledge adaptation or acquisition. Over one academic year, students were observed attempting to solve these programming tasks using a think aloud protocol and were interviewed retrospectively using a stimulated recall method. These observations were then linked to the cognitive theories in a way that provides an explanation of how programming was learned by these students.The results of this research indicate that both cognitive and sociocultural approaches are important in the development of knowledge of novice programmers. Of the theories examined two were found to be the most useful. The first is Vygotsky’s notions of the Zone of Proximal Development, the role of more knowledgeable others, and recent ideas about scaffolding. The second is Sfard’s theory of concept development that contributes to a deeper understanding of the way novice programmers’ develop patterns and reuse them in solving another programming task. The evidence about learning obtained during this study provides strong support for a change in the size and organization of the classes in which novice programmers are typically taught and in the teaching methods used.
机译:本文提出了对新手程序员在大学学习编程的第一年的纵向研究。这项研究的目的是更深入地了解新手程序员学习编程的方式,并着重于他们的认知发展过程。预期的结果是对新手程序员的学习过程有了更好的了解,这应该增强教育者教授,设计课程和评估编程的能力。这项研究的重点在于Piaget,Vygotsky,Sfard和Cognitive Load的认知发展理论,以及这些理论在多大程度上可以解释新手程序员学习编写代码的观点。为了观察和研究新手程序员如何集成新的编程结构,概念或元素纳入他们目前对代码的理解中,因此必须能够衡量编写任务的难度。因此,本研究的首要目的是开发一个任务难度框架,该框架由新的经过实践验证的软件度量标准(代码结构和可读性)和用于代码编写任务的SOLO分类(任务复杂性)组成。然后,使用该框架来设计19个代码编写任务,这些任务越来越困难和复杂,从而触发了需要某种形式的知识适应或获取的情况。在一个学年中,观察到学生尝试使用大声思考的协议来解决这些编程任务,并使用刺激的回忆方法进行了回顾性访谈。然后将这些观察结果与认知理论联系起来,以某种方式解释这些学生如何学习编程。这项研究的结果表明,认知方法和社会文化方法对新手程序员的知识发展都至关重要。在所研究的理论中,有两个是最有用的。首先是维果斯基关于近端发展区的概念,知识渊博的其他人的角色以及有关脚手架的最新想法。第二种是Sfard的概念发展理论,它有助于加深对新手程序员开发模式并在解决另一项编程任务中重用它们的方式的理解。在这项研究中获得的关于学习的证据为改变新手程序员通常所教的班级规模和组织以及所使用的教学方法提供了有力的支持。

著录项

  • 作者

    Kasto Nadia;

  • 作者单位
  • 年度 2017
  • 总页数
  • 原文格式 PDF
  • 正文语种 en
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号