理论学习:编程,想说“爱”你也容易
2012年9月教研组全体成员一同学习了二实小袁菊明老师写的《编程,想说“爱”你也容易》,在这篇文章中她对Scratch教学从育人价值到实践应用两个层面进行了研究并提出了许多自己的想法,对于我们来说受益匪浅。
中小学的信息技术教育始于程序设计教学。它不仅能帮助学生熟练掌握计算机知识和技能,学会运用知识解决实际问题,为学生今后适应社会生存建立必要的信息素养和道德观念,而且程序教学所独有的一种结构式的思维方式,也是培养逻辑思维、开发智力潜能和创新表达的重要途径。
一、魅力,来自Scratch独特的育人价值
教师篇:从技术运用走向引领需求
随着计算机、网络的快速发展,信息技术课堂几乎丢弃了程序设计教学,热烈地追逐技能的训练及应用的学习。但随着计算机应用的快速普及,广大的信息技术老师意识到,信息技术教学不再能满足学生的学习需求。对于一部分学生来说,不上信息技术课,一样能掌握这些技能,学会这些应用。这就促使一些老师开始思考程序设计教学在中小学课堂上存在的价值与意义。
当前江苏的程序教学,大多数以选修课为形式,学习的程序语言是logo。但是logo由于语言老旧,功能单一,互动性差,已经不能适应现在学生的学习需求。而另外一些编程语言如pascal、vb、java等成人化的编程语言,对于小学生来说难学难用。因此,不少老师都在寻找更适合小学生的程序设计语言。
Scratch是一个图形化程序设计的软件,它的出现很好地解决了小学生学习程序设计中的种种问题:形象、直观的积木式的指令代替了枯燥、难记的代码指令,没有烦琐的语法,大大减轻了学生的记忆负担。编程就象是玩搭积木,使学生在游戏中轻轻松松做出各种动画、互动式故事、游戏等。在这种轻松趣味的学习任务驱动下,学生不仅需要主动灵活地运用已有的各种知识,达到在运用中巩固更新的作用,更重要的是,运用Scratch语言编程的过程,可以引导学生进行有序思考、逻辑表达、创新设计,在需求与思维间不断寻求挑战和平衡。
学生篇:从被动接受走向主动创造
从教以来,没见过哪一个内容有Scratch这样吸引着学生,他们学得如此投入、专注,碰到问题能主动尝试、自觉寻求帮助,想尽一切办法来解决问题,课堂呈现的状态充分诠释了“兴趣是最好的老师”这句经典之言。
众所周知,儿童最喜欢的是游戏和聊天,为什么会如此呢?游戏满足了他们探究未知世界(虚拟世界)和获得成功感的需要;聊天满足了他们交流和互助分享的需要,满足了他们社会归属和情感的需要。而Scratch的学习就满足了他们这两方面的的需要。
不仅如此,在满足的方式上还发生一些转变。例如,打地鼠、大鱼吃小鱼、走迷宫等一个个学生耳熟能详的游戏,过去,只是被学生用来玩玩,学生是游戏的消费者。但现在,学生通过Scratch的学习自己制作游戏供别人来玩,成为游戏的制作者。这种角色的转变不仅充分激发了学生内在的成就感,更培养他们借助技术表达思想观念、表达生活的能力。可以说scratch教学的育人价值主要体现在两方面:一是为学生学习语言编程打基础,激发学生编程的兴趣;二是在用Scratch设计内容、尝试表达及其蕴涵的思想观念中培养创新意识和能力。
二、活力,来自Scratch独特的教学策略
基于以上分析,根据小学生的身心特点,可以把教学分成两个阶段:基础学习和自由创作。基础学习阶段,学生掌握基础知识与基本技能,为自由创作打基础;同时,还为学生学习语言编程打基础,激发学生编程的兴趣。自由创作阶段,让学生完成自己设计的作品;满足他们表达与创作的需要,在创作中促进知识与技能的迁移,实现更广、更深入的学习;最终培养学生的创新能力。
基础学习阶段:精选范例,理解程序
由于Scratch教学尚处于探索预热阶段,目前并没有现成的教材可供实施,因此,在基础学习阶段,一般的做法是采用范例进行教学:出示范例——引导分析——设计步骤——落实编程。学生模仿着做出一个个作品,学会一条条指令。
在这整个过程中,范例的选择或设计非常重用。Scratch软件本身内置了很多的实例,这些实例并非个个可以拿来做为上课用的范例,我们在选择或设计范例时就必需思考:要进行某一方面的创作,需要哪些基本知识和技能,要遵循范例的特征。例如:想让学生用scratch编故事、做动画,学生需要掌握角色的绘制,角色的动作如飞、走,角色的对话等编程实现所需的基本知识与技能,可以选择:《会飞的巫婆》、《火柴人的故事》、《鱼儿鱼儿水中游》等作为范例进行教学;想让学生制作小游戏,可以选择《打地鼠》、《猴子接香蕉》、《迷宫游戏》等作为范例进行教学。
我们的教学还不能仅仅停留在让学生学会制作作品,更重要的是“了解程序设计的基本思想,培养逻辑思维能力”。因此,要在教学中让学生慢慢地了解何为程序,何为程序设计。程序设计并不是简单地知道一些命令,关键是用命令来解决问题或实现自己的设想,在解决问题或实现设想的这个过程中注重对学生程序设计算法思想的培养。Scratch之所以能做出各种动画、互动式故事、游戏等,关键还是要依赖一个个程序,既然是程序设计,它和传统的编程语言有相通的地方:算法的思想和基本的程序结构。例如:《迷宫游戏》,游戏中的主角是一只小猫,在具体实施这节课时,先让学生玩一玩迷宫游戏,感受游戏规则,为接下来的教学作好铺垫。在感受的基础上具体分析这些游戏规则,设计出算法:1.如果碰到迷宫边缘就返回起点坐标,小猫停止不动;2.如果时间超过25妙,提示玩家输了,停止游戏;3.如果走到终点,高兴地欢呼,停止游戏。最后,根据算法编写程序实现游戏规则。同时,老师指出编程中用到的如果命令在程序设计中称为条件语句,并结合程序让学生理解程序的结构之一分支结构:根据特定的条件是否满足决定是否下一步要执行的语句或者语句块,从而向学生传授了程序的一般性的知识。
自由创作阶段:基于设计,分享智慧
有了基础学习后,就可以让学生进行自由创作了。由于受小学生的认知限制,自由创作通常会单独安排一个课时。这阶段应该如何实施呢?
美国斯坦福大学的琳达•达林•哈蒙德认为,基于设计的学习(Design-base learning,简称DBL)[7]来源于这样一种观点,即当学生被要求设计并制作出需要理解并应用知识的作品时,他们会更深入地学习。基于设计的学习中,设计活动需要经历“定义→设计→评价→再设计”这样的循环过程。这样的过程适用于发展技术性的知识和主题知识,使学生能够在设计的过程中很好地应用与目标相关的概念。
例如:在学完范例《打地鼠》后,我安排了一节课让学生根据学过的知识进行自由创作,学生创作出的作品惊喜不小。如有学生制作了《大鱼吃小鱼》,该生是这样描述她的作品:宁静的大海里游着一群鱼,一条凶恶的鲨鱼来到这群鱼的中间,鲨鱼跟着鼠标游动,当它碰到小鱼,张开了嘴巴一口吞掉,吃完一条鱼后,鲨鱼会长大一点,再吃一条,再长大一点。更令人兴慰的是,由于,之前的学习中并没有教如何使角色(鲨鱼)变大,学生在制作的过程中能自主思考,生发问题:角色变大的程序应该如何编写;主动寻求帮助:老师,这个问题怎么解决?我并没有直接告诉学生答案,而是给了提示后让学生自己去研究。这样的研究不仅提高了学生解决问题的能力,而且给学生带来了奇妙的体验,让他们找到了成就感。当学生完成创意的设计后,我安排学生进行分享交流,根据课堂时间选择一些典型的作品进行展示,拓宽学生的眼界,实现智慧互补。同时请问题解决的同学介绍自己克服困难的过程和方法。这一过程使学生获得互相学习、评价和修改完善的机会,通过演示、讲述、接受询问,学生对知识进行归纳,产生新的创意,迎接新的挑战,从而使学生的学习处于良性循环中。
我想,学生身上这种自主学习意识和能力的提升才是我们教学所追求的。在这个阶段,学生的学习兴趣极为浓厚,一改昔日课堂的忙乱,他们时而专注于编程,时而苦思冥想,时而和旁边的同学交流,从他们的脸上我读懂了什么叫主动地学习。
Scratch教学不仅教会学生熟悉一条条指令,还让学生学会综合应用,设计出有创意的作品,这才是教学的根本。当然,Scratch教学研究尚处于探索预热阶段,希望本文能抛砖引玉,吸引更多老师对scratch教学进行研究。
这是引用自二实小袁菊明老师的一篇文章,她对Scratch教学从育人价值到实践应用两个层面进行了研究并提出了许多自己的想法,对于我们来说受益匪浅。
|