Improving Cognitive Scaffolding in Computer Science Education
Improving Cognitive Scaffolding in Computer Science Education
批准号:
1946992
负责人:
金额:
$0.0万
依托单位:
依托单位国家:
英国
项目类别:
Studentship
财政年份:
2017
资助国家:
英国
项目状态:
已结题
起止时间:
2017 至 --
中文摘要
目前的教学方法非常强调无指导的问题解决和独立实验,以帮助学生提高编程技能。鼓励学生从自己的错误中学习,而不鼓励智力上的指导,这可以解释为“没有付出就没有收获”的理论,在这种理论中,学习的深度与学生的努力成正比。从极端的角度来看,它意味着课堂教学是多余的,因此,假设这种主导教学法的计算机科学(CS)教育研究往往侧重于开发昂贵的交互式超媒体,如微世界、算法可视化和可视化调试器。然而,对这些技术的教学效果的回顾表明,学习的最佳预测因素不是互动功能的数量,而是内容的认知结构如何。换句话说,重要的似乎是学生的注意力是通过视觉和语言的方式来引导或搭建的,以确保形成准确的心理模型。如果解释是最清晰和具体的,那么可能就没有必要进行耗时的反复试验和错误。因此,文献确定了理解计算机科学学习的两个总体框架:一个是解决问题优先的方法;另一派则主张开发适当的潜在心智模型。它们都是如此高的水平,以至于很难从实验上确定哪一个更优越,何时更优越。相反,这个项目旨在专注于特定的脚手架技术,这些技术可以加速新手理解、设计和实现算法的过程。它调查了一种假设,即新手受益于低层次的认知脚手架,特别是在模式的抽象和图式的构建方面。在更实际的术语中,该项目将建立算法之间结构模式示例的目录,标记它们,用图形和伪代码表示它们,并用常见错误和歧义对它们进行注释。后者将需要采访和测试新手的定性方法,以揭示哪些方面最容易混淆。它还需要设计测试来衡量模拟和实现算法的流畅性。然后,它将使用这些数据来设计计算机化的算法教程,这些教程的框架、结构或其他认知参数的程度各不相同。一个具体的例子是收集表示树数据结构的不同方式的后序遍历实现,并在一个教程变体中解释底层的不变性(例如,父节点是否存储在节点内)。这可以用来测试一个假设,即概念和实现之间显式的多对一映射使理解更易于转移,并且减少了对特定代码表面外观的过度训练。为了评估效果,该项目将招募本科生,也可能是中学生。使用科目间匹配设计,它将管理教程,然后衡量短期和长期效果。因为它的目标是最大化特定的结果,所以它可以被描述为当前在web分析中流行的a /B测试模式的一种形式。此外,还将收集关于脚手架对学生信心和自我认知影响的问卷数据,以讨论它是否可以降低CS大学课程的高辍学率。随着对编程技能的需求不断增加,加上广泛报道的计算机科学教育的低成功率,这个项目可以在创新和优化算法教学内容的方式方面走得很远,这将比迄今为止关注的交互式超媒体便宜得多,而且可能更有效。
英文摘要
The current pedagogy currently places a strong emphasis on unguided problem solving and independent experimentation to help students improve their programming skills. Discouraging intellectual hand-holding in favour of having students learn from their own mistakes can be interpreted as a "No pain, no gain" theory where depth of learning stands in proportion to student effort. Taken to an extreme, it implies that classroom instruction is redundant, and therefore research into computer science (CS) education that assumes this dominant pedagogy tends to focus on developing expensive interactive hypermedia such as micro-worlds, algorithm visualisations and visual debuggers.Reviews of the pedagogical efficacy of these technologies indicate however that the best predictor of learning is not the number of interactive affordances, but how cognitively well-structured the contents are. In other words, what matters appears to be that the student's attention is directed, or scaffolded, by visual and verbal means, to ensure the formation of an accurate mental model. If explanations were maximally clear and specific, then maybe time-costly iterations of trial and error would not be necessary. Hence, the literature identifies two overarching frameworks for understanding learning in CS: one is a problem-solving first approach; the other advocates for the development of appropriate underlying mental models. They are both so high-level it is difficult to settle experimentally which one is superior and when. Instead, this project aims to home in on specific scaffolding techniques that can accelerate the novice's process of understanding, designing and implementing algorithms. It investigates the hypothesis that novices benefit from low-level cognitive scaffolding specifically in the abstraction of patterns and construction of schemas. In more practical terms, the project will build up a catalogue of examples of structural patterns among algorithms, label them, represent them graphically and in pseudocode, and annotate them with common errors and ambiguities. The latter would require qualitative methods of interviewing and testing novices to reveal which aspects are most prone to confusion. It will also require designing tests to measure fluency with simulating and implementing the algorithm.It will then use these to design computerised algorithm tutorials varied on their degree of scaffolding, structure or other cognitive parameters. A concrete example would be collecting post-order traversal implementations for different ways of representing a tree data structure and, in one tutorial variant but not the other, explain the underlying invariance (e.g. parent node stored inside node or not). This could be used to test the hypothesis that explicit many-to-one mapping between concept and implementations makes the understanding more transferable, and less over-trained to a particular code surface appearance.To assess efficacy, the project will recruit undergraduates and maybe also secondary school students. Using a matched between-subjects design, it will administer the tutorials, then measure short-term and long-term effects. Because it aims to maximise a specific outcome, it could be described as a form of the A/B testing schema currently popular in web analytics. It will additionally collect questionnaire data on the effects of scaffolding on student confidence and self-perception, to inform discussions on whether it could reduce the high drop-out rates in CS college courses. With an increasing demand for programming skills combined with widely reported low success rates in CS education, this project could go far in innovating and optimising ways of structuring content in the teaching of algorithms, which would be much cheaper and potentially more effective than the interactive hypermedia focused on until now.
期刊论文(3)
专著(0)
科研奖励(0)
会议论文
Is it feasible to teach query programming in three different languages in a single session?
在一次课程中用三种不同的语言教授查询编程是否可行?
DOI:
10.1145/3351287.3351293
发表时间:
2019
期刊:
影响因子:
--
作者:
[Sundin L]
通讯作者:
Sundin L
Easing Learners into Data Science via Visualization of Concepts and Computations
通过概念和计算的可视化让学习者轻松掌握数据科学
DOI:
10.1145/3230977.3231026
发表时间:
2018
期刊:
影响因子:
--
作者:
[Sundin L]
通讯作者:
Sundin L
Visual recipes for slicing and dicing data: teaching data wrangling using subgoal graphics
切片和切块数据的可视化方法:使用子目标图形进行数据整理教学
DOI:
10.1145/3488042.3488063
发表时间:
2021
期刊:
影响因子:
--
作者:
[Sundin L]
通讯作者:
Sundin L
海外基金