浅谈我的Scratch教学探索之路
摘要:Scratch教学模块从内容设置的角度来说,属于《江苏省义务教育信息技术课程纲要》“算法与程序设计”模块的内容。义务教育信息技术学科核心素养包括信息意识、计算思维数字化学习与创新、信息社会责任等方面,“算法与程序设计”模块更能体现学生计算思维能力的培养。计算思维是一个问题解决的过程,该过程包括制定问题,分析数据、抽象、设计算法、选择方案、推广等6个步骤,对应在Scratch教学即制定问题,角色分析、画流程图、搭建脚本、调试程序、分享与再创作。
关键词:Scratch 程序设计 信息素养
Scratch是一款由麻省理工学院(MIT)设计开发的少儿编程工具。其特点是:使用者可以不认识英文单词,也可以不会使用键盘。构成程序的命令和参数通过积木形状的模块拼搭来实现。图文并茂、容易上手,对小学生而言是一款十分合适的编程学习软件。
软件界面:它左边的部分是编辑好的程序代码,中间是可以用来选择的功能模块,右边上部是程序预览和运行窗口,右边下部是角色窗口。
程序设计本身是枯燥的,对于小学生来说,让他们像程序员那样坐下来写代码显然不太现实,而Scratch很好的解决了这一矛盾。
一、Scratch教学之我见
1、良好的课堂氛围是成功的一半。
Scratch编程教学操作性非常强,如果课堂氛围再沉闷的话,学生在学习的过程中势必缩手缩脚,不愿去尝试;而轻松活泼的课堂氛围能让学生积极探索,开拓思维,彰显个性。
我在讲Scratch四则运算这课时是这样做的:课前导入部分先让学生玩个小游戏,游戏很简单,学生分两组互相出简单的运算题给对方抢答,答不出来或者花费时间太长的话换下一个人,看最后哪组剩下来的人更多即取胜。这个游戏的目的很简单活跃课堂气氛的同时让学生很轻松的过渡到本课的学习内容。接下来我只要介绍本课的重要角色小猫,并告诉大家它想跟大家一起来进行运算练习。其实,Scratch自身就有不少有趣的案例,课前也可以先让学生去尝试,甚至去玩一玩,这样很容易把他们带入学习之中。学习由被动变为主动,学生学的轻松,教师也教的愉快,何乐而不为呢?
2、兴趣是最好的老师,是推动学习的动力。
Scratch虽然是一种可视化编程工具,其特点就是图文并茂,学生上手比较快,所以它才能成为小学生学习编程的入门软件,但它毕竟是一门编程软件,在最初的热情过后,学生很容易在遇到困难时打退堂鼓或者停留在热闹的表面,不愿意去深入探究,甚至逐步失去学习这门课程的信心和兴趣。教师这时候就要发挥想象,创设一些情境教学,比如在上迷宫那课时,有的学生在编程遇到困难时很容易泄气,我就让他们真实的走迷宫,当学生真正玩这个游戏的时候,他就会想到迷宫道路的大小,遇到过不去的墙时改该怎么办?这些真实的问题该如何用程序语句表述出来呢?这个时候再适时引入条件语句,学生会更容易接受。
3、互帮互助,教学相长
教学中,我发现了这样一些现象,有时一个简单问题抛出去,指定一个学生来回答,他总是答得驴头不对马嘴,任老师怎么启发他就是不开窍,可是,往往旁边的同学一句小小的提醒,他就豁然开朗了:哦,原来是这样。为什么会有这种现象呢?我思考了一下,其实原因很简单:不管一个老师是多么的优秀,多么会从学生的角度去思考和看待问题,但还是代替不了学生,学生自有自己的一套思维方式,他的同龄人会更加的了解,一句话,只有学生才更了解学生。
所以在教学中,我尝试“聘用”了小老师。小老师通常会在两种情况下出场:
1、有的问题我不讲,只将任务抛出去,学生通过自主学习,自愿登台充当小老师,他们都非常乐意,自主学习时格外的认真,积极去思考,有时还会小声讨论,学习的能动性调动的不错;
2、练习的时候让他们在完成自己的任务同时,再帮帮其他的同学。事实证明,这种方法是可行的,用这种方法,不但能调动好学生认真学习,争当小教师的积极性,而且很大程度上带动了学困生的学习,人多力量大,有了这么多认真负责的小教师的帮忙,学习效果肯定好多了。
学生毕竟还是孩子,在遇到一些学习上的困难时,就会有畏难情绪,何况程序设计学习本身有点枯燥,这时候,他们需要的就是老师的鼓励了。怎么鼓励呢?这时候如果我单纯的说,老师要看看哪位同学完成的好,这当然能调动一部分学生的学习积极性,但是另外一部分学习相对弱点的学生的积极性并没有被调动起来,因为本来就不太会啊!可是如果我将学生分成几个小组,再来比赛看哪个小组完成的好,效果就不一样了。由于有了相互的协作和集体荣誉感,他们的积极性就不一样了。
4、步步深入,不断提升
学生的学习过程是一个螺旋上升的过程,如何让学生在这个过程中能力达到最大提高,作为教师需要不断去探索和努力。或许可以在学生完成作品的过程中适时增加拦路虎。
当学生对游戏规则把握的越来越精准时教师可以增加新规则,还是迷宫案例,当学生已经能完成程序并最终执行成功时 ,我增加了计时器规则,对游戏的时间进行把控。表面看起来这里只是一个小游戏,时间并不是很重要,但编程的学习是一个长期的过程,一开始我们对学生的要求可能只是完成一个程序目的即可,后期我们就会看谁的程序写的最优。这就是一个程序的效率问题以及程序是否具有可读性的问题。
二、Scratch与其他学科的关系
这里我想谈谈与两门基础学科的关系。
1、语文
我们为什么要编程?这是一个有意思的话题,或者我们可以换一种问法,我们为什么要设计并制造机器人?这个时候答案往往会更加清晰明朗,我归纳总结后基本是这样的,机器人可以帮助人类完成我们不想做或者做不了的事情。那他怎么会做到呢?这就是因为他被植入了程序。程序可以帮助我们解决问题的,那如何将实际问题通过计算机语言表达出来呢?这其实就是一个编程的过程,所以说要求编程者的理解能力要很强,还要会分析问题归纳问题,这里离不开基础学科语文的功劳,教会了我们阅读与理解。
2、数学
数学是计算机的基础。单从这点来看,Scratch的学习都离不开数学。相对扎实的数学基础是学习编程的必要条件,我们需要基本运算能力,需要抽象思维能力,需要逻辑思维能力。Scratch作为一个图形化的编辑工具,各种指令各种模块为我们的成果创作提供了支持,这里几乎都离不开数学知识,比如简单的大小、角度,逻辑运算,判断指令等这一切都与数学有关。
叶圣陶先生曾说过,每一门功课犹如车轮上的一根“辐”,许多的“辐”必须集中在教育的“轴”上,才能成为把国家民族推向前进的“轮子”。各个学科既独立又交叉,各个学科的核心素养既相互渗透又各有侧重。叶先生的这句话我常常深思,思及至所教的这门课程时收获良多。
三、为什么学习Scratch
也许有人会说,我们教小学生编程难道最终目的就是在培养程序员吗?当然不是,如果那样就失去了学习编程的初衷了,对我们当前来说,学习编程更希望通过编程培养学生的逻辑思维能力,培养学生分析问题解决问题的能力。比尔盖茨说过:“学习编程可以锻炼你的思维,帮助你更好地思考,创建一种我认为在各个领域都非常有用的思维方式。”编程其核心不是学习计算机语言,而是学习一种思维方式,这种思维叫做编程思维。编程思维能力和解决问题的能力密切相关,现在就对学生进行相关训练,他们的思维将会更加缜密,创造力更强,会拥有更加幸福的人生。
千里之行,始于足下。Scratch教学的路上我走的还不够远,所以还将继续努力前行。
本文选自教育云平台夏秀芬老师的空间,本区师生登录可访问
