How can the teaching of programming be used to enhance computational thinking skills?

How can the teaching of programming be used to enhance computational thinking skills?
复制标题

如何利用编程教学来增强计算思维能力?

DOI:
--
复制
发表时间:
2014
期刊:
影响因子:
--
通讯作者:
C. Selby
C. Selby
中科院分区:
--
文献类型:
--
作者:
C. Selby

文献摘要

被引文献

相似文献

2006年,Jeanette Wing引入了计算思维这个术语,在教育领域产生了反响。该术语将以可以导致可以在计算设备中实现的解决方案的方式思考问题的概念带入了焦点。这些解决方案的实现可能涉及编程语言的使用。本研究探讨了编程可以作为一种工具来教授计算思维和解决问题的方法。数据是从教师,学者和专业人士那里收集的,有目的地选择,因为他们对问题解决,计算思维或编程教学的主题有了解。这些数据是分析以下接地理论的方法。提出了一种计算思维分类法。认知过程之间的关系,编程教学法,和计算思维技能的难度感知水平的模型说明。具体地说,提出了计算思维的定义。这些技能被映射到Bloom的分类:认知领域。这种映射集中在应用,分析,综合和评估水平的计算技能。对数据的分析表明,初学者程序员较容易的计算思维技能是概括、评估和算法设计。功能的抽象没有数据的抽象那么难,但两者都被认为是困难的。据报道,最困难的计算思维技能是分解。这种学习难度的排序与布卢姆模型所预测的认知复杂性相反。这种不一致性的可解释性进行了探讨。本研究的分类法、模型和其他结果可供教育工作者在使用编程作为工具的同时,将学习重点放在学习者获得的计算思维技能上。他们也可以受雇于课程科目的设计,如信息通信技术,计算机或计算机科学。
The use of the term computational thinking, introduced in 2006 by Jeanette Wing, is having repercussions in the field of education. The term brings into sharp focus the concept of thinking about problems in a way that can lead to solutions that may be implemented in a computing device. Implementation of these solutions may involve the use of programming languages. This study explores ways in which programming can be employed as a tool to teach computational thinking and problem solving. Data is collected from teachers, academics, and professionals, purposively selected because of their knowledge of the topics of problem solving, computational thinking, or the teaching of programming. This data is analysed following a grounded theory approach. A Computational Thinking Taxonomy is developed. The relationships between cognitive processes, the pedagogy of programming, and the perceived levels of difficulty of computational thinking skills are illustrated by a model. Specifically, a definition for computational thinking is presented. The skills identified are mapped to Bloom’s Taxonomy: Cognitive Domain. This mapping concentrates computational skills at the application, analysis, synthesis, and evaluation levels. Analysis of the data indicates that the less difficult computational thinking skills for beginner programmers are generalisation, evaluation, and algorithm design. Abstraction of functionality is less difficult than abstraction of data, but both are perceived as difficult. The most difficult computational thinking skill is reported as decomposition. This ordering of difficulty for learners is a reversal of the cognitive complexity predicted by Bloom’s model. The plausibility of this inconsistency is explored. The taxonomy, model, and the other results of this study may be used by educators to focus learning onto the computational thinking skills acquired by the learners, while using programming as a tool. They may also be employed in the design of curriculum subjects, such as ICT, computing, or computer science.