基于编程教学的计算思维培养策略

来源 :高考·下 | 被引量 : 0次 | 上传用户:nikun0081
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:计算思维是信息技术学科核心素养的根基,是信息社会数字公民的基本素养。编程教学是计算思维培养的主要途径,被广泛引入到中小学信息技术课程中。但目前中学阶段的编程教学普遍存在重编程语言学习、轻思维训练的问题。本文从计算思维概念与当前中学编程教学现状入手,提出实践中应注意的评价计算思维能力的四个维度,进而提出中学生计算思维培养的教学策略,可以为中学信息技术的编程教学提供借鉴。
  关键词:编程教学;计算思维;教学策略
  一、计算思维概念界定
  卡内基·梅隆大学的周以真教授于2006年提出“计算思维”的概念:“是个体运用计算机科学的基础概念来完成问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动”[1]。教育部2017版新课标中提出的计算思维的概念是:“指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动”。
  这些思维活动都强调分析问题、解决问题过程中的思维活动:抽象与建模,即形式化、模型化的思维活动;其次,这些思维活动通常要运用计算机科学领域的思想方法:例如数据结构化、递归、迭代、效率分析等等,所产生的解决方案可以用计算机代理执行。因此,计算思维实际上结合了数学、工程学、计算机科学的思维方法,是学科核心素养的核心及关键要素,是一种从计算机角度出发看待问题、解决问题的思维,显著影响着信息意识、数字化学习与创新以及信息社会责任这三个要素发展的质与量,决定了学生学科核心素养的发展水平[2]。
  二、中学编程教学现状
  目前我国中学信息技术学科教学存在重视知识与技能的学习,忽视知识技能的内在逻辑之间的联系的现象,课堂教学常常授鱼而不授渔。常运用创设情境、任务驱动、项目式学习等教学策略,但着力点往往放在学生掌握技能完成任务,却忽视了知识技能的内在联系,使学生无法深入了解问题的本质。
  从2003版课标的教学实践来看,中学信息技术的教学内容偏向于应用软件的使用,广大中学信息技术教师困于固化的思维,面对新课标,对教学内容变化的存在一个逐步适应的过程。一方面,基于旧教学思维习惯,面对编程教学这一新教学内容,教学重点往往落在概念讲解和编程语言的学习方面,教学内容多围绕表达式和程序语言的三大结构,最多涉及函数模块的定义来展开。对计算机运行原理、常用算法思想、“分析问题-建立模型-解决问题-评估回顾”这一思维过程没有得到体现。造成的结果就是学生学习效果浮于表面,较难发展出解决问题的能力,面对新问题无从下手。另一方面,适合中学生编程学习的教材也良莠不齐,信息技术教材不是国家统编教材,编程解决问题又是新教材扩展最多的教学内容,各地教材五花八门,广大教师面对这一变化,缺乏有效经验应对。
  三、中学生编程学习中的计算思维能力的评价维度
  计算思维本质上是人们理解自然系統与社会系统的思维方法和思维活动,是使用科学工具进行抽象模拟以寻求问题解决最优化方案的系统过程,从计算思维实践上来看,其包括组织、分析、简化、抽象、建模、递归、回溯等基本过程[3]。
  基于对计算思维概念的界定和对计算思维本质的认识,现阶段中学编程教学中,评估学生计算思维能力的标准应重点关注以下四个维度:
  (一)变量界定能力
  计算机能够快速、自动化地解决问题,依靠的是冯诺依曼体系:二进制存储程序与数据,控制器与运算器程控处理与计算,数据流程遵循“输入—计算处理—输出”的过程。这就要求学生能够确定问题中的实体、属性及其联系,用合理的数据结构存储,用合理的标识符号表示。明确问题的已知量和未知量与基于这些变量的数据结构所能够施加的数据操作。明确哪些数据需要外部输入,组织问题的分解并输出。变量界定的过程是一个对现实世界数据特征的分析抽象的过程,是问题分解与归纳的前提。
  (二)问题的分解与归纳能力
  能够直接解决的问题都不是问题,复杂的模糊的问题可以根据需要分解成简单问题解决,或者归纳问题的本质,然后套用合适、准确的模型来解决。对问题分解的方法要会具体问题具体分析。对于不同功能模块,能明确功能模块的规模,接口参数。对于求解步骤存在先后依赖关系的问题分解,要能够用流程图、甘特图等工具描述子问题解决的先后次序与流程跳转逻辑关系,更高的要求是能根据不同阶段状态变化归纳出状态转移方程。对于具有最优子结构的问题,按问题规模大小分解,采用递归或递推的方式求解,能够明确问题的边界。对问题的分解,做到子问题相互独立,完全穷尽。对同类问题,能够归纳汇总,举一反三,建立问题求解模型,提出一般化的解决方法。
  (三)算法评估能力
  有评估算法的可读性、正确性、健壮性等是否满足解决问题需求的意识。同一问题的解法可能多种多样,要会评估问题的数据规模,根据数据规模选择相应的算法,如当问题规模较小时,选择暴力枚举代码实现更简单,但问题规模太大时,必须选择二分、三分等分治算法才能有效降低时间复杂度。当采用递归方法求解时,会评估递归次数与堆栈溢出的关系。会分别从时间复杂度、空间复杂度和代码复杂度等不同角度评估算法是否最佳选择。算法的评估能力需要学生有较好的数学基础。
  (四)代码编写能力
  既然是编程解决问题,必然要求学生有良好的代码编写能力。要求学生能够将不同工具描述的算法及时高效地转换成具体编程语言写的代码,代码是否能够根据模块功能划分或问题求解需要做到模块化。代码的可读性如何,是否有必要的注释或说明文档。代码编写能力考验学生编程语言语法规则的理解和熟练程度,考验常用算法的熟练运用能力,也反映学生的逻辑思维能力。
  四、编程教学中的计算思维培养策略
  目前中学生的编程教学,在初中阶段的教学工具,代码编程与积木拖拽式的编程工具都有老师在应用和研究,且有研究认为积木式编程对计算思维的培养提升效果更明显[4],但图形工具本身也有局限性,影响学生的代码能力训练,学生进入高中都要回归到代码编程。因此我的课题组研究确定在小学阶段采用积木拖拽式编程教学,初中阶段就开始代码编程教学。针对中学生编程学习中的计算思维能力评价的重点维度,提出以下方面的教学策略。   (一)教学中重视学生对计算机运行原理等编程学习前置知识的理解
  在编程教学的前期,重点完成前置知识(包括各类型特别是数值型数据编码方法与二进制,冯诺依曼体系结构等知识)的学习。这类基础知识理论性较强不好理解,以往教学中大多数老师仅是简单这时学生对计算机运行原理有了感性的认识,能够理解到所有能够借助计算机解决的问题,都要把相关的数据存储在计算机内存中,通过控制器与运算器在程序的控制逻辑下逐条运行,在二进制的形式下模拟现实世界的问题解决过程。学生有了数据存储的意识,了解数据在内存中的存储形式,才会在界定各类变量的时候,采用合理的数据类型和数据结构保存数据,才能够做到对变量与数据结构的知其然又知其所以然。
  (二)注重思维活动可视化的训练
  计算思维活动是高阶的思维活动过程,从计算思维在编程教学活动中的应用状况来看,“抽象”“分解”“建模”“归纳”等思维活动都可以用可视化的方法呈现。例如“实体-联系图”可用于描述问题中实体之间的联系结构,“算法流程图”常用于模块化分解问题解决过程中的流程控制,“拓扑结构图”用于描述对象间的继承、迭代关系,这类图示工具以可视化的形式呈现思维过程,有利于学生方便地进行知识网络的建构,积累解决问题的经验,也有利于教师了解学生的思维品质发展过程。可视化技术对计算思维培养方式基本遵循了“隐性思维显性化—显性思维工具化—高效思维自动化”的规律[5]。因此在编程教学中不能忽视以可视化的方式对“抽象”“分解”“建模”“归纳”等方法的训练。
  (三)注重一题多解对评估算法的优劣能力的影响
  对同一道题,可以暴力枚举,可以搜索回溯,可以递推递归,不同方法有不同的时空效率。当前中学生普遍一周一节课的信息技术课程,实际只能开展普及性的编程教学,有限的课时条件下让学生整体理解各种算法拥有实现一题多解的能力是不现实的。但教师可以自己一题多解,并且让学生比较不同解法的特点,特别注重对比时间与空间复杂度,让学生掌握基本的评价标准与评价方法。一题多解可以让学生从不同角度看待问题,构建知识网络体系,可以让学生意识到计算机运行速度再快也是有限的,并把这种意识渗透到自己编写的代码中去。例如在解“猜数字”的游戏中,让学生比较在数据规模对比悬殊的条件下,枚举法与二分法在猜测次数上面的几个数量级的区别,并与计算机的计算次数比较,体会算法对解决问题的重要性。
  (四)加强代码能力训练
  代码能力是用编程语言编写出程序解决具体问题的能力,是建立在熟练掌握编程语言的基础上的。计算思维的培养不能脱离基本的代码能力训练,成为空中楼阁。在编程语言的初学阶段,一定程度的模仿样例程序是必不可少的且高效的。然后是解同类的题型,有助于形成知识迁移,积累解同类问题的经验,同时也提高代码编写的熟练度。利用在线判题平台OJ组织学生形成在OJ上提交代码的习惯,能够提高学生自学的效率。代码能力不是老师长时间讲出来的,而是学生在解决具体问题的过程中,在不断地积累写代码的经验中,形成的。只有足够量的代码编写积累才能切实提高代码能力。
  (五)调动学习主动性
  代码编程有一定的难度,容易产生畏难情绪,教学中可以做到几点:1.创設趣味情境,吸引学生学习兴趣。2.适当拔高学习目标,学生解决问题后给予适当的激励,激发学生自豪感和学习动力。3.注重团队氛围建设,在学习小组或学习团队中建立竞争意识。4.参加信息学奥赛等各类竞赛。5.充分利用课后时间。6.适当补充数学知识。只有克服畏难情绪主动学习,才能提高学习效率,更好地提高思维的品质。
  结束语
  基于对计算思维内涵的界定,以及对中学编程教学现状的分析,我们提出了在中学生编程教学中评价计算思维品质的四个维度,并提出围绕这四个维度开展编程教学的五个教学策略。通过对这些教学策略在具体课堂教学过程中的不断实施和验证,可以进一步探索总结适合中学生计算思维培养的教学模式,为中学生计算思维品质的培养提出了实践的方案。
  参考文献
  [1]周以真.计算思维[A].中国科学技术协会学会学术部.新观点新学说学术沙龙文集7:教育创新与创新人才培养[C].中国科学技术协会学会学术部:中国科学技术协会学会学术部,2007:6.
  [2]解月光、杨鑫、付海东.高中学生信息技术学科核心素养的描述与分级[J].中国电化教育,2017(05):8-14
  [3]张立国、王国华.计算思维:信息技术学科核心素养培养的核心议题[J].电化教育研究,2018,39(05):115-121.
  [4]傅骞、解博超、郑娅峰.基于图形化工具的编程教学促进初中生计算思维发展的实证研究[J].电化教育研究,2019,40(04):122-128.
  [5]赵国庆.概念图、思维导图教学应用若干重要问题的探讨[J].电化教育研究,2012,33(5):78-84.
  本文系福州市教育信息技术研究课题《编程教学中培养学生计算思维的实践研究》(课题编号FZDJ2019B20)主要研究成果之一。
其他文献
摘 要:时事新闻作为沟通历史与现实的桥梁,可拉进高中生与历史的距离。在高中历史教学中遵循恰当的原则使用时事新闻,能延展教材的内容,培养高中生的历史思维品质和家国情怀,对提升高中历史课堂效率有积极作用。  关键词:高中历史;课堂教学;时事新闻  伴随时代的进步、科技和大众传播媒介的发展,信息传播的途径越来越广,速度越来越快,时事新闻与我们也离得越来越近。历史与时事新闻有着紧密的联系,时事新闻的时效性
期刊
摘 要:高中化学繁琐的元素化合物知识的使很多一线老师在课堂教学中落实核心素养显得很低效无力。为更好提高中化学元素化合物内容的教学效果,培养学生化学核心素养,可创设情景,激发学生兴趣;敢于放手,鼓励学生自主合作探究;利用模型认知,将零散知识规律化;充分利用多媒体的辅助,让课堂的更精彩;学以致用,培养学生解决实际问题的能力。  关键词:化学核心素养;元素化合物;教学策略  引言:2018年我国教育部在
期刊
摘 要:深度学习是促进学生实现可持续发展的关键,也是提升化学课堂教学实效性的有效方法。在化学课堂教学中,教师想要帮助学生实现深度学习,帮助学生更加全面地了解化学知识,首先需要转变教师教学观念,帮助学生结合所学知识开展各项教学活动,为学生预留足够的思考空间、发挥空间,让学生真正参与化学知识发生的每个过程,加强学生对知识的记忆,从而加强学生学习深度,有效提升化学教学效果。本文针对化学课堂教学促进学生深
期刊
摘 要:课程标准的核心是转变学生的学习方式,提高课堂教学的有效性。协助学生搜寻,演示及观看。因此,课堂调查是非常有意义的。因此,迫切需要对中学数学课堂调查进行改进,以提高中学数学课堂调查的有效性。  关键词:数学;课堂;有效提问  一、中学数学课堂教学有效提问的基本标准  (一)提问需清晰并有价值  对于提问需清晰并有价值的最基本要求是:教师的问题要清楚,学生能理解理解,以后还要有一定的参考价值。
期刊
摘 要:高中历史学科不仅能通过丰富的史实材料来塑造学生的历史观与世界观,并且还能够有效地提升学生的文化涵养,因此在高中历史教学中将情境教学与情感教育融合起来,可以加强学生的情感体验,使其在真实的历史情境中获得更加深刻的感悟。基于此,本文对高中历史学科中情景教学与情感教育的融合使用措施展开了研究,希望能够帮助高中学生深化对历史知识的掌握程度,并为其今后的人生道路提供正确的方向指引。  关键词:高中历
期刊
摘 要:相比小学数学,中学数学对学生的逻辑思维能力、数字运算能力等有了更高的要求。与此同时,中学数学理论知识枯燥且理解难度高,解题思维越发复杂,多数中学生不知从何学起,或是努力后依然无效。此種情况,数学教师需更新教学方法,调整教学方案,让学生们学习数学时能事半功倍。课堂教学小组合作学习,就是众多数学教师想出的解决方案之一。然而,随着合作学习模式的推行,却发现实际合作学习中有不少问题,使得合作学习无
期刊
摘 要:本文立足于高中数学教育实践,从突出问题、有效策略这两个方面入手,围绕核心素养视野下高中数学有效教学这一主题进行了详细阐述与探讨。  关键词:高中数学;核心素养;突出问题;有效策略  数学是高中阶段学生们极其重要的一门课程,对于学生们整体素养及其能力的培养发挥着重要的作用。因此,高中数学教师应当高度重视本学科的教育教学工作,想方设法提升学科教学效益、优化学科教学质量,同时,助力学生们核心素养
期刊
摘 要:本文主要探讨生活中物理现象与物理教学中的联系,在物理教学中运用生活实际例子帮助学生更好地学习物理知识。此次研究以沪科版中学物理为例,通过查阅相关文献,为本文提供理论基础,文中强调了物理教学必须联系生活实际,这样才能更好地培养学生的思维能力;要将物理知识应用在生活中,达到学以致用,物理知识也在潜移默化地影响着人们的生活;运用生活经验探索物理知识,培养学生的创新思维。  关键词:生活实践;中学
期刊
摘 要:普通高中地理课程标准(2017版)进一步精选了学科内容,更加注重学科核心素养的培养,促进学科核心素养的落实。本文主要通过对我国高中地理课堂中的问题设计进行探究,并阐述了它的教学重要性,以及对高中地理核心素养下的问题设计做了分析表述,目的主要是为了教师能够更科学、有效地去了解学生,培养学生的基础地理思维,促使学生逐渐产生对地理的求知欲,激发其思维学习活动,更专业、更全面地去分析解决地理问题,
期刊
摘 要:病句这个题型需要扎实的语法体系作为支撑,同时配合领悟病句类型方可完成。专业的知识体系本身难免枯燥,在打语法基础、落实病句类型的同时,可以运用逆向教学设计。学生在逆向教学环节中运用既得病句基础知识和技能,自己将正确的句子做出病句,并给出清楚的解析。据此来解决具体题目中因语句表述复杂而干扰病句类型判断的问题,在选择题中做出正确的判断,在改错题中可以给出准确的答案。学生自主出题,更让学生在思考和
期刊