您好, 访客   登录/注册

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

来源:用户上传      作者:

  信息技术课是培养学生计算思维的重要载体,虽然我国的程序设计教学已经开始在中小学教育阶段得到了越来越广泛的推进,但由于教学经验的缺乏仍然存在着一些问题。为了有效提升思维培养的教学效益,本文就围绕着小学编程的相关教学策略做出探究。
  一、当下小学信息技术课编程教学中的几个问题
  1.教材体系形式化
  由于计算机技术本身诞生于西方并且在西方取得了巨大的发展成效,因此在编程教学中所引进的教材都是外文翻译的教材。对于学生而言,这些教材本身由于跟中国思维的差异化以及语言表述上的专业化往往会造成一定的理解障碍。教材知识选择过于形式化,完全脱离了学生目前的认知水平与生活情境,导致学生无法对这种枯燥复杂的教学内容产生学习热情。
  2.教学模式过于传统
  在当下的小学教育阶段,部分教师仍然受到传统的教育思想的局限,将自己作为课堂教学的主体,只顾单方面地向学生进行知识的传授。在大部分信息技术教学课程中,教师所运用的依然是讲解式的教学方法,而学生只能被动地接收知识。课堂的所有环节都由教师来进行推动,学生丧失了自主思考与动手实践的空间,最终导致在长时间内学生的学习能力都无法得以有效提升。
  3.文本的专业化编程环境,阻滞了学习的进程
  所有的编程语言都是基于文本和符号的编程方式,学生需要自己输入指令。而在这过程中往往会出现各种不同的语法错误,学生在这种编程环境中就无法进行有效的学习,其计算思维自然也无法得到有效培养。
  二、基于计算思维培养的小学信息技术课编程教学的策略
  1.设置编程,建立模型
  在编程教学中,首先需要进行的步骤就是对于编程问题的设置。教师需要引导学生明晰自己的问题设计需求,进而将抽象情境中所展现出的问题结构分离出来,形成基本的问题逻辑。教师可以创设一些生动具象的教学情境來吸引学生的关注,帮助学生进行问题的设置。
  例如,教师可以设置一个猫吃鱼的情境,鱼在水缸里,猫需要跳上桌子把爪子伸进鱼缸里抓鱼。如果要想顺利地吃到鱼,猫就需要通过一些障碍。第一个障碍物是桌子,第二个障碍物是鱼缸。教师可以提出问题来让学生进行思考:小猫需要做什么动作才能吃到鱼?学生就会回答:跳跃以及抓取。教师需要让学生在模拟情境中把握角色间的联系以及相应的动作事件。从而形成清晰的问题逻辑。
  2.提炼算法,自主实践
  计算思维中算法是指解决问题的步骤,它是一系列指令的组合。[2]也就是说,在经过正确的算法流程之后,问题就能够得到有效解决。
  而有效形成合理的算法流程需要经过两个步骤:
  第一个步骤,是草拟算法流程图。为了有效帮助学生从之前的思维架构中提炼出算法,教师需要引导学生画出相应的流程结构图,以更为直观地理清思路。这种方式也能够帮助学生快速找到所需要的脚本。例如在“大鱼吃小鱼”的程序设计中,学生就可以通过预先拟定算法流程框架的方式来帮助自己梳理思路,进而明确自己所需要运用到的脚本模块进行游戏程序的搭建。
  第二个步骤是,让学生自主搭建脚本积木。在学生已经明确自己的需求与问题处理目标之后,接下来所需要的就是给予学生充足的时间来引导他们进行互相协作或者独立实践。每个人的思维模式不同,提炼出的算法也会不尽相同,学生可以在与彼此之间的交流中产生思维的碰撞与拓展,进而不断强化自身的计算思维。
  3.运行调试,修正纠错
  计算思维是通过冗余、赌错、纠错的方式,在最坏的情况下进行预防、保护和恢复的一种思维。对于程序的设计而言,搭建出可以推进的程序脚本只是程序运行过程中的其中一个步骤,而不是程序设计工作的结束。当一个新兴的程序被设计出来,学生所需要进行的下一步就是反复的调试纠错,来验证程序运作的最终效果,以及针对其中所产生的问题来进行策略方案的调整。在运行效果无法达到学生预期时,教师就需要引导学生进行算法的调试。
  运行调试是学生的编程学习中一个尤为关键的步骤,也参与着学生的全部学习过程。学生需要在进行程序调试的过程中把控全局,并且预判当不同的脚本或者程序语句出现偏差时可能会造成的结果。学生需要对实际运行中程序作品所出现的所有问题进行集中的整理与归纳,并与应达到的最终效果进行一个系统的比对。如果实验偏差较大,那么学生就需要重新选择脚本模块或者调整某些执行语句来进行修正,在反复的改善中不断接近应达成的成果,并最终完成程序的运行。在这种反复的纠错过程中,学生的基础知识技能得到了巩固,计算思维能力也得以有效提升。
  而运行调试本身是一个较为枯燥单调的过程,如果单纯依靠学生个人的力量或许会耗费大量的时间与精力。并且程序运行中所产生的问题往往是多方面的,学生根本无法在限定的教学时间内完成应有的学习实践任务。因此,信息技术教师需要思考如何提升课程教学的效益。合作学习就是一种非常基础且有效的方式。教师应当鼓励学生自主构建起一定数目的学习小组,并充分发挥出集体的力量来共同解决同一个程序设计问题。小组成员之间可以通过互相的协商与探讨来集体规划出一个游戏程序的基础框架,然后分工合作进行程序的设计、脚本的选择以及最终的调试修正。小组成员的共同协作能够节省出大量的程序调试时间,教师需要引导学生对程序运行中所产生的不同问题进行系统地总结与归纳,并制定出相应的处理方案。而成员之间的互相探讨又能够不断拓展学生的思维领域,从而锻炼学生的计算思维。
  4.总结归纳,形成思维
  课程学习能够帮助学生掌握编程设计的基础理论知识,而课堂实践能够训练学生的实操技能。但编程教学效益的真正提升离不开对整个课堂学习过程的总结与归纳。教师需要有意识地观察学生在课堂时间内各个环节的具体表现,并且根据学生的学习反馈情况判断学生是否真正完成了知识的内化,并形成了计算思维,再实时进行教学策略的调整与完善。
  对于课程结束之后的总结归纳,教师可以分为两个步骤来进行。第一步是鼓励学生进行自主总结,举一反三。在这一教学环节中,教师需要引导学生通过对相似问题的类比来发现问题的共性,进而总结出适用于某一类问题的处理策略。第二个步骤就是鼓励学生在课堂上展示自己的作品。对于编程教学而言,学生们的作品展示是必不可少的。在作品展示环节,学生们能够获得语言表达、人际沟通的经验。而这一环节也给学生提供了让他们进行互相学习以及借鉴的机会。学生们能够在展示过程中认知到自己的不足,明晰自己今后的改善方向,并不断巩固编程学习中的相关知识,完善自身的计算思维。
  结语
  总而言之,学生计算思维能力的培养是一个长期性的过程,教师需要基于计算思维能力的培养方向来开展教学活动,并在实践教学中不断探索出更科学高效的教学模式,尝试从更加新颖的教学角度来完成教学目标,不断提升学生的计算思维能力与素养。
  参考文献:
  [1]陈茂贤,何国星.基于计算思维培养的小学Scratch编程教学[J].教育信息技术,2017(10):53-57.
  [2]陈碧华.基于STEM教育理念的小学Scratch编程教学初探[J].科教文汇(下旬刊),2018(06):113-114.
转载注明来源:https://www.xzbu.com/1/view-14744856.htm