APP下载

玩中学:基于Swift Playgrounds培养计算思维

2020-12-14王宇洁

求知导刊 2020年42期
关键词:计算思维

摘 要:随着“互联网+”时代的到来,计算思维成为中小学教育的热点。根据对计算思维的理解,笔者提出“玩中学:基于Swift Playgrounds培养计算思维”的观点,主要策略包括以下四个方面:学会分析,发现问题;学会分解,细化问题;学会提炼,优化问题;学会调试,纠正错误。

关键词:Swift Playgrounds;计算思维;编程教学

中图分类号:G43                        文献标识码:A                    文章编号:2095-624X(2020)42-0035-02

引 言

随着人工智能时代的到来,计算思维逐渐成为创新型人才必备的思维能力。华裔科学家周以真对计算思维做出了定义:计算思维是运用计算机科学的基础概念进行问题求解、系统设计及人类行为理解等涵盖计算机科学之广度的一系列思维活动,即把一个看上去复杂的问题通过约简、嵌入、转化和仿真等方法重新阐述成一个人们知道如何解决该问题的方法[1]。

如何培养小学生的计算思维呢?Swift Playgrounds是一个不错的编程软件,十分适合不同年龄阶段的小学生开展编程学习。它提供了包括学习编程1、2、3在内的不同难度的编程进阶课程,其中包括命令、函数、循环、算法等知识点。在Fundamentals of Swift中,学习者通过编写真实的代码来帮助主人公Byte在3D世界中游走,获取红宝石以通过不同的关卡,从而像玩游戏闯关那样来学习基础知识。

对于小学阶段的学生来说,使用Swift Playgrounds开展可视化编程具有较强的实践性,它能使学生在编写程序的过程中随时看到结果,使学生能专注地分析问题、设计解决问题的方案,并进行逻辑验证,为培养学生的计算思维奠定了良好的基础。

一、学会分析,发现问题

发现问题是解决问题的前提,学生如果没有发现问题的存在,就不可能采取各种方法来解决问题。而小学生对外界事物有着更强烈的好奇心,趣味盎然的问题能调动他们的学习积极性[2]。

因此,教师应以教学目标为依据,巧妙地设计问题,通过色彩鲜明的图片或生动形象的视频来激发学生的学习兴趣,让学生发现程序抽象的问题,并能将抽象问题具体呈现出来。

例如,教学Hi, byte一课时,笔者设计了以下导入环节。

了解:随着“互联网+”时代的到来,人工智能已经来到了我们身边,让我们一起了解一下吧!(播放视频:人工智能)

提问:视频中,让你印象最深刻的是什么?机器人的功能可真多呀!那你知道怎样才能让机器人动起来吗?

交流:是啊,通过编写程序就能指挥机器人行动了,程序是指用计算机语言编写的命令序列的集合。

揭题:今天这节课,我们就将和新朋友Byte一起走进好玩又有趣的swift少儿编程语言的世界,和它打个招呼吧:Hi, Byte!

二、学会分解,细化问题

充分理解、学会分析是解决问题的第一步,在学生理解学习要求后,教师可引导学生制订一个粗略的解决问题的方案,再将这个方案分解为多个小任务,对复杂问题由外到内逐个化解,可以让学生体验从抽象到具体的分解过程[3]。

在小学阶段,以游戏闯关的形式进行教学更能培养学生分析问题的能力。学生在“玩”的过程中需要确定问题可以分解为几个部分,它们之间的关系是什么,还要知道解决问题要获得怎样的结果和所需的条件[4]。因此,在Hi,Byte的教学中,笔者设计了任务式的闯关模式。学生面对每个关卡,都要先进行分析,再根据各个任务和要求思考问题的解决方法,设计出符合需求的命令算法,教学过程如下。

第一关:收集宝石

提问:请仔细观察这张地图,在这一关中,Byte需要完成的目标是什么?(拿到一颗红宝石)这颗宝石位于Byte的斜对面,要想拿到它闯过这一关,我们先要为Byte规划行走的路线。

任务1:规划路线

要求:打开这张地图,使用照片标记功能,用红色画笔规划出一条合适的路线。并和同桌说一说,在你的路线上,Byte应该走几步?怎样转弯呢?

学生规划并交流。(投屏展示)

提问:你是怎样规划的?

生:前进两步,左转,再前进两步,收集宝石。

提问:你是如何得知Byte需要前进两步的?(一个方格代表一步)

补充:阶梯属于它所在的方格,所以我们只需走一步。

任务2:收集宝石

初识:你们的路线都规划好了吗?真聰明!路线规划好了,那我们的程序也就规划完成了,接下来就可以开始编写程序了。在编程时,我们需要使用swift命令,刚向前走的命令是move Forward,收集宝石的命令是collect Gem,左转的命令是turn Left。有了这三个命令就能指挥Byte动起来去收集宝石了。

要求:请同学们“添加新命令”,使用这三个命令进行编程,让Byte收集宝石。需要注意的是,Byte走一步就需要使用一个向前走的命令,走两步就需要两个向前走的命令。

交流:Byte拿到红宝石了吗?让我们看一下你编写的程序吧。

三、学会提炼,优化问题

在程序的设计过程中,往往会有多种途径来达成同一个目标,学生需要找出最好、最合适的方式来完成,这个过程就是计算思维的优化过程[5]。

教师要适时引导学生进行小组合作,通过集体的智慧去实现问题解决的最优化,同时要注重培养学生的思考能力和创新意识,让学生利用现有知识完成学习任务,并理解优化过程,从而使学生成为计算的创造者和研发者[6]。因此,在Hi, Byte的教学中,笔者设计了这样的教学环节。

第二关:最优路线

提问:在这一关中,地图比之前的更复杂,为了更快回去,Byte需要找到通关的最优路线,你能帮它找一找吗?

小组讨论:打开地图,使用照片标记功能,用蓝色画笔规划出一条最优路线。

交流:老师发现同学们讨论得非常热烈,参与度也很高,那么有小组找到这条路线了吗?

学生提出传送门。

师:观察真仔细,在地图上出现了一个新的机关,叫作传送门,它有什么作用呢?(播放视频)

通关:传送门能大大缩短Byte的行走距离,优化我们的程序,现在你能让Byte以最优路线完成这一关卡吗?请同学们进入最短路线,利用传送门进行编程,让Byte收集宝石并点亮脚印吧!

学生操作并交流展示。(投屏)

交流:你成功闯关了吗?来,展示一下你的程序吧!

四、学会调试,纠正错误

计算思维是通过冗余、出错、纠错的方式,在最坏的情况下进行预防、保护和恢复的一种思维,而调试纠错寻求问题的最优化始终发生在学生的编程实践中。编程的重要环节之一就是对已有程序进行运行调试,当运行效果与学生预想的不一样时,他们就要进行调试纠错,重新选择控件或修改某些参数,不断调试以达到理想的效果。

对于小学生而言,抽象的编程调式是比较难以理解和掌握的,而微课教学能够帮助他们理解抽象的概念,从而建立起新知识与已有认知、经验之间的联系。同时,经过不断的调试纠错,学生不仅可以巩固已有知识,还可以提高编程能力,从而真正锻炼计算思维。因此,在Hi, Byte的教学中,笔者制作了“调试”的微课视频。

第三关:拯救Byte

过渡:恭喜同学们顺利过关,帮助Byte收集了三颗宝石!Byte现在非常兴奋,觉得前面两关这么简单,后面肯定也不难,于是自己闯入了下一关,结果却失败了!我们一起来看看吧。(播放失败视频)哎呀,这可怎么办?就在这危急关头,Byte想起刚才拿到的一个锦囊,里面是什么呢?

学习视频:一起打开来看一看吧!(播放“调试程序”的微课)就像视频中所说的,出现错误并不可怕,更重要的是要学会修复错误代码。

完成任务:请同学们“发现并修复程序错误”,运行代码找出其中的错误并进行修复,让我们一起解救Byte吧!

思考:调试程序需要几个步骤?

学生操作并交流展示。(投屏)

交流:你修复错误了吗?你是怎样修复的?

调试程序的方法:(1)运行代码;(2)找出错误;(3)拖动或删除错误代码;(4)继续运行调试直至完成目标。

小结:利用这样调试程序的方法,我们帮助Byte成功闯过了三个关卡,同时我们自己也成功升级为既能编写代码、又会调试程序的小小程序员啦!

结 语

在编程学习中,学生发现问题、分析问题、优化问题,并对编写的程序进行不断的调试和纠错,最终科学地解决问题,锻炼和拓展了计算思维。俗话说:“授人以鱼,不如授人以渔。”在小学信息技术课堂上,教师不仅要关注学生技能的培养,更要注重学生计算思维的发展,让学生在“玩中学,学中玩”的模式中用计算思维去分析、解决实际问题,习得更多技巧和能力,向更高深的领域迈进。

[参考文献]

余田.面向计算思维的《计算机应用基础》课程建设的探究[J].电脑知识与技术,2018,14(13):134-136.

陈伟涛.在“画图”教学中培养小学生计算思维的实践探索[J].教育信息技术,2017(01):154-157.

朱丹.在Scratch教学中培养学生的计算思维[J].新课程(教师版),2018(12):173.

林惠兰.基于计算思维培养的小学编程教学[J].西部素质教育,2018(15):117-118.

卞春霞.小学信息技术编程教学中学生创新思维的培养[J].新课程研究,2020(08):75-76.

马宗兵.面向计算思维的小学游戏化编程教学策略研究述评[J].基础教育参考,2020(02):33-37.

作者簡介:王宇洁(1991.4—),女,江苏无锡人,一级教师。

猜你喜欢

计算思维
高中信息技术课堂中计算思维能力培养问题的探讨
公安专业学生计算思维能力培养对策初探
基于计算思维的多媒体技术及应用课程教学模式研究
信管专业计算机科学概论课程的教学改革实践
基于计算思维的软件类研究生高级算法课程教学研究
基于计算思维程序设计的军事案例研究
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养