基于故事情景的Scratch趣味编程学习策略研究

2017-05-20 10:15肖妘
中小学信息技术教育 2017年5期
关键词:学习策略编程

肖妘

【摘 要】小学信息技术课程已慢慢涉及简单编程知识,而Scratch编程是现阶段中小学信息技术初步研究的课程。如何设计有效的编程学习策略才能使学生更有效地学习是本研究的重点。本研究依托杭州市饮马井巷小学信息技术课堂,针对3-6年级不同学习情况,基于故事情景设计了四种Scratch编程学习策略,对于提高学生编程的创新意识和创新能力颇有成效,解决了当下编程教学的难点。

【关键词】故事情景;Scratch;编程;学习策略

【中图分类号】G434 【文献标识码】B

【论文编号】1671-7384(2017)05-0057-06

程序设计相比其他信息技术课程,不仅生动、有趣、操作性强,且关键是在程序设计的过程中可以锻炼培养学生的思维能力,使其在广度与深度上都能得到发展。作为小学信息技术课程的一部分,程序设计将会有很好的发展前景。一直以来,在社会实践中,人们将信息技术作为纯粹的工具使用;在教学实践中,教师将学生获得技能作为信息技术课的重点。这些仅仅培养了学生使用工具、掌握技术的能力,但缺乏思维层面的锻炼和创新。

计算机普及的低龄化,使得小学信息技术教学不再局限于Windows画图、Office软件等程序的使用,逐渐向应用需要转变,因此,编程逐渐走入教学视野。现阶段国内外对于Scratch编程研究虽然日渐丰富,但是,现有的编程教学内容存在难理解、少互动、无系统的缺陷。如Java、C++等编程软件对小学生来说,表达复杂、命令繁琐、语句冗长、枯燥抽象,不利于学生理解,而Scratch趣味编程通过积木组合的形式来实现程序的编写,更适合小学生学习使用。以往的编程教学,脱离学生实际理解程序,基本是老师讲一步,学生做一步,按图索骥,枯燥呆板,缺少互动与实践应用的指导。此外,对小学教师来说,对编程教学的研究存在空白点,很多教师不知道如何选择内容,基本采用自己学会一个就教一个,现学现卖的方式,导致内容缺乏针对性、指向性、系统性,使得学生的学习没有系统规划,更不会灵活应用。

笔者认为,基于故事情景的Scratch交互程序设计的教学实践研究,能促使学生更有效地学习编程。

Scratch趣味编程学习策略设计

本研究依托杭州市饮马井巷小学信息技术课堂,针对3-6年级的学习特征规律,设计了四种Scratch编程学习策略,最后通过实验研究来验证学习策略的有效性。四种编程学习策略如下:

1. 建立编程设计的认知框架——“点-面-点”策略

小学生从笼统、不精确地感知事物的整体渐渐发展到能够较精确地感知事物的各部分,并能发现事物的主要特征及事物各部分间的相互关系,而且他们的记忆最初仍以无意识记、具体形象识记和机械识记为主。根据小学生此项特点,本研究认为建立学生对学习编程设计的认知框架十分重要。认知框架是储存在人脑中的经验和知识的认知结构,一个认知框架代表一个概念系统,要理解其中任何一个概念,就必须理解与它相适的概念结构。当认知主体接收到言语信息的刺激后,必然会激活与之对应的概念结构。认知框架是一个相互联系的等级网络,构成了联想关系的基础。认知主体由这一激活节点联想到与节点相连的其他值或属性,并通过参照框架来积极地构建语义。

鉴于此,本研究设计出编程学习策略一:建立编程设计的认知框架——“点-面-点”策略。以“打猴子”故事为背景,一只来自花果山的小猴子,因為偷了太上老君的丹药而受到惩罚。通过打猴子故事情景来了解各个脚本内涵——“点”,再研究脚本所在模块的特点,掌握系统界面特征——“面”,以此发散探究其他脚本特点——“点”。

学习目标在于三个知识要点:

(1)控制模块:控制锤子打猴子;

(2)动作模块:打到猴子,猴子会有什么动作,没有打到的猴子会有什么动作;

(3)外观模块:被打的猴子造型有什么变化,锤子有什么变化。

故在学习锤子脚本时,可以从“开始游戏”入手了解到需要用到脚本“当绿旗被点击”,掌握了这个脚本,就可以知道这个脚本来自于“控制模块”,通过发散思维了解到此模块中还有类似的脚本如“当按下空格键”等;再从“锤子跟随鼠标移动”学习“移到鼠标指针”脚本,掌握了这个脚本就可以了解“动作模块”,发散思维了解还有“移到某个具体坐标”“移动几步”等;根据“鼠标按下锤子造型变化”可以学习“切换到造型”脚本,就可以了解到此脚本来自于“外观模块”,发散思维了解到其他脚本,如“将角色大小增加多少”“下一个造型”等。

在学习猴子脚本时,通过“重复执行”以及“如果”脚本可以知道“控制模块”,并发散思维学习此模块中的“重复执行多次”和“如果就重复执行”脚本;通过学习“显示”和“隐藏”脚本就可以了解到“外观模块”,并发散思维学习“颜色特效”和“下移几层”脚本;通过学习猴子被打中需要“变量值增加”脚本,学习“变量模块”,发散思维学习“显示变量分数”和“隐藏变量”分数。

2. 培养编程设计的正逆思维——“反推理-正思维”策略

小学生的想象从形象片断、模糊向着越来越能正确、完整地反映现实的方向发展。低年级的小学生,想象具有模仿、简单再现和直观、具体的特点,到中高年级,他们对具体形象的依赖性会越来越小,创造想象开始发展起来。小学生的思维从以具体形象思维为主要形式逐步向以抽象逻辑思维为主要形式过渡,但他们的抽象逻辑思维在很大程度上仍是直接与感性经验相联系的,具有很大成分的具体形象性。而思维能力一般是指正向思维,即由因到果,分析顺理成章,而逆向思维是指由果索因,知本求源,从结果的相反方向着手的一种思维。加强从正向思维转向逆向思维的培养,能有效地提高思维能力和创新意识。传统的教学模式往往注重正向思维的培养而淡化了逆向思维能力的培养。逆向思维能够加强对学生的各方面能力的培养,打破传统的教育理念,因此,在学习过程中必须加强逆向思维能力的培养。

故本研究设计出编程学习策略二:培养编程设计的正逆思维——“反推理-正思维”策略。以“大鱼吃小鱼”故事为背景,一条小鲨鱼来到深海,遇到了许多大小、种类不一的鱼,为了长成强壮的大鲨鱼,只能捕食小鱼,躲避大鱼。通过对大鱼吃小鱼故事情景的了解,反向推理为达到某种效果需要用到某种模块中的某脚本——“反推理”,再进行正向思维的整理组合,完成程序设计——“正思维”。

学习控制两种角色,主角小鲨鱼与配角鱼:

(1)主角小鲨鱼跟随鼠标进行移动:动作模块 “移到鼠标指针”;

(2)主角小鲨鱼碰到大鱼会恢复原来大小:控制模块“接受大鱼信号”、外观模块 “颜色设定”与“角色大小设定”以及变量“计分器”归0;

(3)主角小鲨鱼碰到小鱼会变大:外观模块“颜色设定”与“角色大小设定”以及变量“计分器”加1;

(4)配角鱼如果比主角鲨鱼大:数字和逻辑运算“比较大小”以及控制模块“发出大鱼信号”;

(5)配角鱼如果比主角鲨鱼小:数字和逻辑运算“比较大小”,控制模块“发出小鱼信号”以及外观模块“隐藏”。

在学习主角鲨鱼脚本时,通过想象游戏中主角鲨鱼跟随鼠标移动才能游戏,以此了解到需要用到“动作模块”中的“移到鼠标指针”脚本;再根据主角鲨鱼大小可以先设定一个值,然后再进行游戏,就需要用到“外观模块”中的“将角色大小设定为多少”脚本;根据整个游戏需要用到计分功能,需要“变量模块”中的“将变量分数的值设定为0”;根据游戏规则,主角鲨鱼碰到比它大的鱼就会发生大小恢复原样,并且游戏分数清零,能联想到需要“控制模块”中的“当接收到大鱼”脚本,“外观模块”的“将角色大小设定为原值”脚本以及“变量脚本”中的“将变量分数的值设定为0”脚本;当主角鲨鱼碰到比它小的鱼就会大小增加,并且游戏分数增加,就可以联想到需要用到“控制模块”的“当接收到小鱼”脚本、“外观模块”的“将角色大小增加多少”脚本以及“变量模块”的“将变量分数的值增加多少”脚本。

在学习配角鱼脚本时,首先配角鱼要出现,就需要用到“控制模块”的“广播”脚本;并且当配角鱼出现时其大小和位置可以随机设定,故联想到需要用到“控制模块”的“当接收到”脚本、“外观模块”的“将角色大小设定”脚本、“数字模块”的“在多少到多少随机选一个数”脚本以及“动作模块”的“移动坐标轴位置”脚本;而当配角鱼碰到主角鲨鱼时会进行比大小,则需要“侦测模块”的“碰到角色”脚本以及“数字模块”的“>”脚本;当配角鱼比主角鲨鱼大时,可以想到“控制模块”的“广播大鱼”脚本,当配角鱼比主角鲨鱼小时,可以想到“控制模块”的“广播小鱼”脚本。

3. 贯通线上编程与现实应用——“虚拟-现实”策略

学生在经历了之前的学习活动之后,开始逐步尝试亲历体验。故在教学过程中不但要打好线上编程的基础,还要逐步涉及体验式教学。在教学过程中,教师根据学生的认知特点和规律,通过创造实际的或重复经历的情境和机会,呈现或再现、还原教学内容,使学生在亲历的过程中理解并建构知识、发展能力、产生情感、生成有意义的教学观和教学模式。不同于以传授知识为主的传统教学模式,这种新型的教学模式通过教师主导、学生主体的形式,让学生在真实或虚拟的环境中通过体验去感知、理解、领悟、验证编程内容,使学生在获取知识的同时做到观念、判断、技能的自主形成与主动掌握。体验式教学最能提供给学生的就是亲历性,也是体验学习的本质特征。亲历性主要指实践层面的亲历,主体通过实际操作亲身经历自己设计的游戏,如角色体验、体验探究等。体验式教学主张在教学活动中,学生不再是被动的知识接受者,而是主张他们在教学活动中,从行为和感情上直接参与到教学活动中来,通过自身的体验和亲历来建构知识。

鉴于此,本研究设计出编程学习策略三:贯通线上编程与现实应用——“虚拟-现实”策略。学生需要学习如何将传感器与Scratch连接,并通過使用声音、光、按钮等传感器来操控程序中的角色。以“躲避汽车”故事为背景,学习传感器的按钮应用。一只来自小村庄的猫,来到了大城市,不懂交通规则的它过马路只能躲避汽车。通过按下传感器中的按钮使小猫跳起以躲避汽车。

学习目标在于三个知识要点:

(1)传感器按钮控制猫的跳跃以此躲避汽车:侦测模块“传感器”以及动作模块“角色坐标”改变;

(2)汽车行驶:动作模块“角色坐标”不断移动;

(3)汽车碰到小猫,小猫被撞,停止游戏:动作模块“角色坐标”更改以及控制模块“全部停止”。

当学习小猫脚本时,学生可以想到按下传感器按钮小猫就会跳起,就需要使用“侦测模块”的“传感器按下按钮”脚本以及“动作模块”的“将X坐标增加多少”和“将Y坐标增加多少”脚本;如果小猫碰到汽车会大喊“啊!”,就可以使用“侦测模块”的“碰到角色”脚本以及“外观模块”的“说‘啊!”脚本。

学习汽车脚本时,只要汽车向一个方向移动,且碰到边缘从头开始,需要用到“动作模块”的“移动几步”脚本以及“侦测模块”的“碰到边缘”脚本。

再以“声音模样”故事为背景,学习声音传感器的应用。一只小猫在家中跟随主人的声音翩翩起舞,描绘出一幅美丽多彩的图画。通过声音传感器采集现实中的声音的高低来控制小猫,变化小猫的高度,从而画出高低不同的彩色线条。

学习目标在于四个知识要点:

(1)音乐播放:声音模块播放某一乐曲;

(2)画笔颜色设定:画笔模块“颜色设定”以及画笔开始绘画;

(3)画笔跟随音量变化Y坐标值:变量模块设定“音量”以及侦测模块设定“传感器声音的值”;

(4)画笔颜色逐渐变化:画笔模块颜色值增加。

当学习小猫脚本时,要根据声音传感器传送声音来改变小猫的高度从而画出不同高度的曲线,可以了解到需要用到“画笔模块”的“将画笔颜色设定为”脚本和“落笔”脚本、“动作模块”的“将Y坐标增加多少”脚本以及“变量模块”中需要增加一个变量“音量”和“将变量音量的值设定为多少”。

4. 链接课本知识与生活实践——“课本-生活”策略

杜威曾提出“教育即生活”,教育家陶行知认为“生活即教育”,生活化的教育有利于激发学生学习兴趣,使学生对新的知识产生强烈的学习欲望,能充分发挥学生的能动性,从而挖掘学生的思维能力,培养学生探究问题的习惯和探索问题的能力。就如新课程理念所说,“回归学生生活世界,提升学生主体意识。”一方面,课程改革要向“现实生活世界”回归,从理想世界走向现实世界,焕发出生活气息和生活活力;另一方面,课程改革要向“人的世界”回归,充分把握人在时空中的动态变化及其关系,拓展和解放课程教学时空。再看课程目标:满足学生现实生活需要,建构学生可能的生活。超越科学世界束缚,关注学生生活世界。课程内容不应是单一的、理论化的、体系化的书本知识,而是呈现人类群体的生活经验,把它们纳入到学生生活世界中加以组织,使文化进入学生的“生活经验”。

鉴于此,本研究设计出编程学习策略四:链接课本知识与生活实践——“课本-生活”策略。除了课本上一些简单的Scratch传感器程序设计,要提出现实生活中还有许多涉及到传感器和程序设计的应用。市面上各种类型的传感器非常丰富,但是能够直接被Scratch使用的却不多。传感器主要有三种类型:Scratch传感器、Wedo传感器、GoGoBoard传感器。Scratch传感器是由Scratch开发团队设计的传感器。这种传感器带有滑杆、光线、声音、按钮以及四个传感器扩展接口。Wedo传感器是乐高公司的初级机器人套件。该套件带有两个传感器——距离和倾斜。Wedo套件连接电脑后,Scratch就能夠获取距离和倾斜传感器模块的数值。GoGo Board是一个机器人、智能电子控制板。Scratch也支持这种控制板,但是板上没有传感器部件,必须插上传感器扩展板才能使用。三种类型的传感器各有特点。Scratch传感器使用简便,自带四种传感器部件,扩展性强。Wedo套件可以使用积木块搭建各种类型的物品,使用简便而有趣。但是价格不菲,且只有两种传感器种类。GoGo Board使用灵活,一物多用,还可以制作机器人。可是需要增加传感器板,使用不够简便。不同种传感器可以制作出不同种用途的机器人,Scratch帮助我们从书本中脱离,联系到实际生活中,去学习各种机器人。

Scratch趣味编程学习策略实施效果

学生在学习了四种编程策略后,普遍反应易接受,且在设计角色和编程脚本上都加入了自己创新的思路,有很多可圈可点之处。

1. 学生使用Scratch程序设计的作品举例

(1)《打猴子》学生作品

①五1班学生在设计打猴子程序时,将地鼠替换成猴子,并且地鼠造型也是自己绘画的,榔头也是自己设计的。与教师提供的程序不同之处在于,教师的程序是榔头跟随鼠标进行移动,而该生将榔头设计成运用上下左右按键来操控,虽然在操作便捷性上有所欠缺,但用了不同方法来操控榔头。

②六2班学生在设计打猴子游戏时,地鼠造型是从角色库中选择的,但是榔头造型换成了箭靶造型,设计成一款用猎枪射击地鼠的游戏,与教师版本的不同在于,教师的程序是多个猴子角色并且随机时间显示,而该生的程序是一个地鼠角色随机时间随机地洞显示,也是运用不同方式来完成该项作品。最后还设计了到规定时间后,根据完成打地鼠的个数显示“you lost”和“you win”的提示语。

(2)《大鱼吃小鱼》学生作品

该生是四1班的学生,相比之前的五、六年级学生,在年龄上和接受能力上相差一点,但是仔细观察学生作品会发现,他没有局限于教师给出的小鱼角色,还添加了其他章鱼类的角色。在设计配角鱼角色时,考虑到角色从右往左前进时的朝向,他添加了脚本“面向-90度方面”,可见该生在设计游戏时考虑还是非常周到的。

2. 学生在Scratch教学策略影响下的提升

Scratch是具有交互性的软件,孩子们明确表示在信息技术课程中学习Scratch编程更能增加自己对学习的热情度,对学习内容也非常感兴趣。运用了四种教学策略之后,学生对Scratch的学习情况明显有所改善,在“点—面—点”策略中已经能够理解Scratch界面的整体框架,在“反推理—正思维”策略中能够融会贯通,设计一款游戏不会无从下手,在“虚拟—现实”策略中明显对Scratch的传感器有更大的兴趣,在课本生活策略中对现实生活中的机器人有更大的了解。本课题研究取得了明显的成效。

3. 教师在Scratch教学策略影响下的成长

教师对教学策略的研究不断进步,一开始针对Scratch课程只涉及在社团课上,并没有统一的教材,所以在课程设计方面靠教师自己发挥,不断反思不断改善,做到以生为本。本研究希望通过自己设计的几款程序能够让学生在程序设计中有所领悟有所创新,而在真正实施的时候,面对不同年段的学生,要设计适合学生的教学策略,也是当务之急。所以从没有课本到现在的教学策略,教师在整个教学实施过程中也在不断学习,此教学策略对后续的教学也起到很大的作用。

Scratch趣味编程学习策略使用情况

本研究所探讨的四种Scratch教学策略意在小学阶段逐步渗透编程思想,让3-6年级段的小学生能在信息技术学科中发散更开放性的思维。这四种教学策略“点-面-点”“反推理-正思维”“虚拟-显示”“课本-生活”,都注重实践,培养学生的创新能力。学生可以通过打猴子游戏,体验到从一个脚本可以了解脚本所在模块的特点,并且发散思维进一步了解在此模块中其他类似脚本与此脚本之间的异同之处。大鱼吃小鱼游戏给学生一种逆向思维的学习方式,通过设想主角鲨鱼和配角鱼的行动来推测这两个角色所需要的脚本,再进一步正向推理脚本连接的方式。躲避汽车主要通过将虚拟推向现实的方式,更加进一步激发学生对于编程学习的兴趣,编程不仅在电脑上敲敲打打,还可以在现实中体现出来。躲避汽车利用到的是传感器中的按钮模块,通过按下按钮帮助小猫跳跃躲避汽车。而声音模样游戏则是运用到声音传感器,是躲避汽车更深层次的游戏,学生可以通过自己声音的高低來改变小猫的跳跃高度,从而画出颜色多变,高低不同的直线。

Scratch引入课堂后,主要目的不在于让学生熟记八大模块以及那些脚本,而是培养学生如何思考以及如何解决问题的方法和策略。所以在教学活动中不能只是简单地讲授如何编程、如何设计,而是教学生怎么去从整体性的角度思考,教会学生如何分析问题的本质,寻找解决问题的办法。所以,在教授过程中运用这四种教学策略可以极大解决学生学习上的问题。

参考文献

李艺. 寻找信息技术课程可持续发展的源泉[J]. 中小学信息技术教育,2013(1): 14-15.

毛爱萍. 谈儿重数字文化创作课堂Scratch程序设计的教学内容与模式[J]. 中国信息技术教育,2013(1): 89-91.

王继华,吴向东. 儿童数字文化创作课程的背景、观念、设计和案例[J]. 中小学信息技术教育,2012(1): 22-23.

陈捷. Scratch语言简介及应用[J]. 计算机教学与教育信息化,2009(26): 39-40.

吴向东,王继华. 儿童数字文化创作课程的目标体系[J]. 中小学信息技术教育,2010(9): 26-27.

王继华,吴向东. 关于scratch教学的定位问题[J].中小学信息技术教育,2012(9): 95-97.

李吉林. 训练语言与发展智力[M]. 江苏人民出版社,2000.

(作者单位:浙江杭州市饮马井巷小学)

猜你喜欢
学习策略编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
高中生数学自主学习策略探讨
一种使用反向学习策略的改进花粉授粉算法
基于微博的移动学习策略研究
自主学习策略在写作教学中的应用