徐士杰
有学者提出,计算思维包括算法、评估、分解、抽象、概括这五个方面的思维要素。在进行Logo编程教学中,笔者围绕上述五个方面的要素设计了微课程,每节微课中可以关注计算思维中某一方面思维,也可以关注计算思维的多个方面思维的培养。笔者开发了《Logo编程:牵着海龟去散步》系列微课程,力图在Logo编程课堂教学中培养学生的计算思维。
微课的教学内容不是教材的重复和照搬,而是根据课堂教学中学生容易遇到的疑难问题设定,形成微课程的知识体系,既要包含教材中的基础知识,也要有一定的拓展,重点在于呈现知识的推理过程,培养学生的计算思维。在Logo编程微课程知识体系构建过程中,应当注意以下几方面。
1.注重激发学习程序设计的兴趣。
学生从三、四年级以数字化工具应用,即软件操作技能学习,过渡到五年级以应用信息技术思考问题、解决问题的编程学习,对学生而言,是有很大难度的。我注重激发学习编程的兴趣,从微课程课题命名即以一种轻松的“散步”心态让学生面对即将开始的编程之旅;学生在编写命令过程中出现了错误,我则引申出一节“小海龟捉‘虫’记”,向学生介绍“BUG”这个单词在计算机领域的由来,以及第一位女程序员的传奇故事,使用WAIT命令辅助检查等等,既指导了方法,又激起了学生探索编程世界的兴趣。
2.进行适当拓展,满足学生学习需求。
教材编者考虑到学生初学编程,很大程度上简化了Logo模块的难度,对变量以及带参数的过程等都没有涉及,少部分理解能力比较强的学生在学习过程中发现有些问题用教材中的知识是很难解决的,我则录制相应的微课,在适当的时机向学生讲解变量的使用以及用带参数的过程画一些有规律的复杂图形,满足了这部分学生的学习需求。
1.算法思维培养的微课设计。
无论图形是简单或者复杂,都是一条线一条线地按一定的顺序画出来的。教师要引导学生在编写命令前先要有清晰的思路,即考虑好具体、有序、详细的绘图步骤。如《小海龟动起来》一课画等边三角形,先引导学生在纸上画好图形,然后选好起点、确定小海龟爬行轨迹,用笔在纸上模拟小海龟爬行的过程,写下每一步的命令,再上机验证。在这个过程中,学生的思路清晰,步骤详细,让学生对算法中的按顺序执行命令有了很好的理解。
2.评估思维培养的微课设计。
如《画蒲公英》一课中,重点是引导学生学习使用RE⁃PEAT命令简化重复命令,画蒲公英线段时每次小海龟都需要回到起点。返回共有两种方法:HOME复位或BK后退,两种方法都可以画出蒲公英。但学生很快就会发现,HOME复位的方法没有办法使用REPEAT命令简化,而BK后退的方法则可以。教师一是要让学生找出背后的原因,二是引导学生评估两种方法的优劣,最终确定能够使用REPEAT命令的BK后退的方法进行绘图。
3.分解思维培养的微课设计。
如《组合图形》一课中,重点引导学生将复杂图形分解为简单图形,从而将问题简化为学生已经掌握的方法进行解决。在分解图形的过程中,培养学生通过分解将复杂问题转化为简单问题的能力,进而培养学生的分解思维。
4.抽象思维培养的微课设计。
抽象就是把现实中的事物或解决问题的过程,通过化简等方式,抓住其关键特征,降低其复杂度,变为计算设备可以处理的模型。在《保存与调用过程》一课中,出示大风车图片,引导学生仔细观察并分析风车的特点,得出风车的4个叶片具有相似性,可以把每个叶片绘制(抽象)为长方形,然后将每个叶片围绕中心点旋转90度即可完成。通过编写“FENGCHE”过程实现“自动化”绘制,达到最终的效果。接下来再引导学生仿照生活中的风车,继续尝试调用“FENGCHE”过程让风车旋转起来,最后布置学生课后思考如何将风车叶片后面的风车小屋绘制(抽象)出来,形成一幅完整的作品。从抽象到编程的过程中,有效培养了学生的抽象思维,也引导学生从生活中获得编程灵感,用抽象的方法来实现按自己的想法进行Logo编程绘画。
5.概括思维培养的微课设计。
《画正多边形》一课中,学生比较画等边三角形、正方形、正六边形等图形的REPEAT命令,在比较的基础上,引导学生概括出画正多边形的公式;《画星星》一课中,学生使用RE⁃PEAT命令画正五角星、正七角星后,引导学生结合画正多边形的公式概括出画角数为奇数的正多角星的公式。在两节课中,学生通过不同的个例总结规律概括出通用的绘画公式,同时引导学生利用新旧知识的联系,培养学生运用知识迁移的方法概括新知,概括思维得到进一步培养。
1.在形式上,注意创设“一对一”的学习氛围。
语言上用“你”而非“你们”、用“我们”而非“大家”,如《小海龟动起来》一课,引导学生画示意图解决画等边三角形,我这样和学生说:下面请你和老师一起画示意图来解决这个问题。这样学生会感觉每节微课就是老师和我在进行一对一的教学,学生更容易进入学习状态,关注学习内容本身。
2.在内容上,不断提出问题,为学生创设思考的情境。
问题是思维的起点,教师不断提出问题都是为了引导学生和教师一起思考。如在《画虚线》一课中,为了引导学生正确运用HOME命令,我在微课中设计了一系列问题:(1)第2次右转的度数不一样,为什么第二种方法需要右转90度,而第一种方法是45度呢?(2)我们还注意到画虚线时使用HOME命令前需要使用PU命令提笔,为什么要加这个命令?(3)假设我们不加PU命令,输入“CS PD FD 30 PU FD 20 PD FD 30 HOME”,有什么发现?(4)那是不是使用HOME命令前必须要提笔呢?(5)画出一个直角三角形,直角的两条边长分别为40和50。命令写到这里之后,接下来转多少度,第三条边是多长?那是不是就画不出来这个三角形呢?(6)想一想,为什么HOME命令就能画好这个直角三角形呢?(7)你觉得应该怎样使用HOME命令呢?教师创设思考问题的情境,可以引导学生积极思考,这样师生隔着屏幕实现了思维的互动。
在积极思考的基础上还要让学生学会发散思维。如在《REPEAT命令练习》一课中,围绕起点画一个放射状的多线条图形,学生发现使用HOME命令返回母位继续画线时,奇数行命令都是重复的,偶数行命令右转的度数都是递增的,无法直接用REPEAT命令简化,微课中我问学生还有什么方法可以返回起点,引导学生改成使用BK后退命令画图,这样就可以找出连续重复的命令从而使用REPEAT命令简化。
在小学Logo编程教学中开发基于计算思维培养的微课程,意在将微课作为教与学的桥梁,能够最大程度上凸显计算思维培养脉络的学习环境,学生在每节微课的学习中对计算思维五个方面要素就会不断加深、巩固,最后形成计算思维。