网站大量收购独家精品文档,联系QQ:2885784924

计算思维与计算问题解决过程.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

计算思维与计算问题解决过程

摘要:本文以解决“计算问题”作为计算思维的核心,结合计算机科学等相关学科的教学实践,提出了一个解决计算问题的过程框架,总结了人们在解决计算问题的过程中经历的重要思维阶段和行动环节。该过程框架有助于推动对计算思维内涵的深入研究,并可以成为教师开展计算思维教学的教学模型。

中图分类号:G434文献标识码:A论文编号:1674-2117(2024)18-0090-05

计算思维概念提出的意义和价值

1.计算机学科的教育历程回顾

2.计算思维的“问题解决”特性

问题解决能力与计算思维的挂钩,已成为研究领域和教学实践领域的共识,围绕“如何培养问题解决能力”的新一轮探索已然展开。计算机科学家威廉·沃尔夫(WilliamAllanWulf)认为利用计算思维解决问题主要依赖于过程的处理[12],因此算法的学习是培养计算思维的关键途径。美国数学家、计算机科学家和教育家戴维·穆尔桑德(DavidMoursund)等人谈到程序思维和计算思维密切相关,因此开发、表征、测试、调试,以及各自程序性的指令都是问题解决的重要方法。[13]哥伦比亚大学教授阿霍提出,构造问题解决方案的关键在于其所依赖的计算模型,因此寻找适当的计算模型用以界定问题并得出解决方案是培养计算思维的重要途径之一。[14]计算思维的提出者周以真指出“抽象与自动化”是计算思维的核心,并建议在计算思维的培养过程中应注重与工程学之间的联系。[15-16]计算机科学家罗伯特·康斯特勃(RobertConstable)则认为,计算思维不是一套静态的、有限的技能和思维过程,而是一个开放的、不断增长的“概念清单(GrowingListofConcepts)”[17],这也说明了计算思维的内涵以及培养方式会随着科学技术的发展而不断地更新。

从上面的综述中可以看出,人们对计算思维以及利用计算思维解决问题的方式有着各种各样的理解,计算思维的培养理念和方式也不尽相同。本文尝试将相关的零散观点进行组织整合,形成一个相对完整的计算问题解决过程框架,以便更好地理解和进一步研究计算思维及其内涵。

计算问题解决过程

在计算理论中,“计算问题”指的是能够在计算机上以合适的数学表达方式表示,并存在有效的解决算法的问题。[18]因此,从问题解决的角度来看,具备计算思维的学生,在遇到生活实际问题时,首先要基于对问题的理解与分析,判断其是不是一个计算问题,或者能否转化为一个计算问题。在解决计算问题时,学生会经历生成计算策略、构建计算模型、设计算法,以及借助相应计算系统实现计算作品等过程。

当学生对计算问题有了充分的理解后,就需要先概括描述问题解决的思路和步骤,包括尝试将其分解为易于控制和实现的子问题,这种有一定的抽象度的解题步骤称之为“计算策略”。[19]计算策略是学生面对计算问题时产生的初步解决思路,有时还需要借助其他学科理论知识、生活常识或经验,以及相关数据分析结果,为问题的定义和分解提供思路。计算策略的选择反映了学生对计算问题的认识与理解程度,更影响着后续计算模型的构建与算法的设计。

抽象是计算思维的本质之一,形式化又是计算思维的重要表达方式[20],而“模型”正是对某一类别问题特定的形式化表达。因此,在确定了问题解决目标并形成了初步的计算策略后,学生就应当基于对问题的理解构建相应的计算模型。“计算模型”指的是能够对算法或程序进行规约和分析的框架,包含四个功能,即描述各功能模块如何相互连接、判定有效的算法和程序、定义给定输入的有效执行序列,以及能够计算每一模块的执行成本。[21]

概括能力是学科能力和思维能力的基础。[22]构建计算模型的过程正是学生抽象与概括计算问题特征的必要过程,也是对计算策略实施的模块化、形式化表达的过程。由于计算模型是一个由相互联系、相互作用的元素组成的集合,学生在抽象建模的过程中应以系统化的方式对其进行思考和设计。按照从整体到局部的逻辑,学生应先忽略底层交互细节,从整体上理解模型的行为和特征,识别模型的构成元素、行为、层次关系等,而后进行模块化或层次化设计。按照从内到外的角度,在计算模型的构建过程中,应先定义其边界、范围和大小,并控制复杂度,然后理解模型与外部环境的相互作用,识别模型外的关键影响因素,调整和优化模型的设计。[23]

自动化是计算思维的另一个本质。自动化是计算机最根本的特性,它离不开算法的支持。因此,在完成模型的建构之后,学生就要针对模型中的每个模块进行算法设计,而计算概念是算法设计的基础,在Brennan和Resnick提出的计算思维三维框架中,列举了七个广泛使用的计算概念,即序列、循环、事件、并行、条件、运算和数据。[24]在学习和实践的过程中,学生还会遇到更多专业、复杂的计算概念。学生在充分理解了算法的应用情境后,便可结合适用的计算

文档评论(0)

std365 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档