王继华
时下,在做创客教育的教师眼里,Scratch和Arduino似乎已经成为了标配,用Scratch为Arduino编程,通过传感器获取信息,然后根据获取信息的情况自动控制马达、LED、喇叭等输出设备做智能机器。这种玩法已经超越了Scratch纯编程的范畴,变得更好玩了,不仅可以为屏幕上的动画角色编程,还可以对物理世界编程了,我们期待着孩子们创意的大爆发!
回想2008年李大维博士介绍我们认识Scratch时,看到搭积木式的编程界面,真是相当激动。在此之前,我和先生吴向东(特级教师)一起去大连,参加易语言公司的培训。去之前,应全国中小学信息技术教育研究中心北京部苗逢春博士等的要求,易语言公司专门开发了用中文写代码的LOGO语言平台“易乐谷”。该平台的设计是为了尽可能消除写英文代码的障碍,让孩子们把更多的精力放在算法实现上,但是,英文的障碍虽然减轻了,编程的难度并没有看到多少下降。Scratch搭积木式的图形界面,把孩子的视觉认知和思维完美地呈现在一起,编程的难度大大降低。当时我就在思考,能不能用Scratch来全面开启小学编程的教学呢?
我入职小学信息技术教师,纯属巧合。之前我在IT企业已工作10多年,虽然不是开发人员,但在这样的环境下深受行业的熏陶,多少能明白IT行业的核心是什么,不变的是什么,变化最快的是什么。当2003年开始接触小学信息技术教材时,看到整本书都是微软的操作系统加Office之类的内容,一种危机感油然而生。操作技术是最表层的,也是变化最快的,现在学的操作界面,等孩子长大后肯定面目全非了。花几乎所有的课程时数去训练,真是不值得。编程与控制,才是IT的核心。掌握这些,才称得上受过IT教育。后来了解到,小学信息技术课原本是有LOGO儿童编程或BASIC编程的,后来由于这部分内容教起来困难,很多地方教材逐渐取消了。缺乏适合孩子的编程工具,的确是横亘在编程教学面前的一道难以逾越的坎。幸好,我遇到了Scratch。
那么,怎样教Scratch呢?
以往教BASIC,因为要掌握英文的编程语法,再加上难学,BASIC教学基本变成了命令语句的教学。LOGO语言的教学也没好多少,学生在课堂上主要是跟着教师的样例来做,自由发挥创意的余地相当有限。这样的编程语言教学,学生不感兴趣,教师也很难在学生那里讨到好。这种教训,我必须避免在Scratch身上发生。
正好,我已积累了相关的经验。在接触Scratch之前的几年,因为不愿意仅以教操作为核心,我尝试着让学生用KidPix儿童绘画软件搞过动漫创作,尝试着用Flash教学生做动漫,尝试着让学生用PPT做动画故事。每一次尝试我都发现,孩子们是有创作能力的,他们喜欢把自己平时接触到的比如QQ上的GIF动画、游戏上的卡通形象等直接拿进来做素材,然后去设计能表达自己创意和思想观念的作品。从技术难度上来说,除了Flash以外(后来我放弃了),都相当容易,而且可以在做这些作品的过程中,逐渐熟练Windows或Office的操作。所以我们提出了要把信息技术课从重操作转变为重创作的思想,要解放孩子的手脚,让他们在教师讲解的范例的基础上去创作自己的作品,实现自己的创意!这是我们提出并构建儿童数字文化创作课程的基础。
所以,教Scratch,一定要体现以“创”为核心,一定要让学生去创作自己的作品。
2010年,随着Scratch中文语言包的成熟,我决定在五、六年级全面铺开Scratch教学,并与先生吴向东一起整理前几年的经验,接连在本刊上发表了儿童数字文化创作课程的思想观念、目标体系、内容结构、教学方法等论文,得到了专家和一线教师的诸多肯定,也引起了不少质疑。但不管怎样。我们的做法引起了越来越多的关注。和我们一起实践的华中科技大学附属小学的毛爱萍老师是扎实的行动派,她很快基于Scratch编撰出了该校的校本课程,用的名称直接就叫儿童数字文化创作课程。由于她的感染力,很多老师从她那里也知道了Scratch,开始了教学尝试。
我们在做Scratch教学期间,常州的管雪沨、北京的吴俊杰、苏州的凌秋虹等也在以各种方式在学校里普及Scratch。随着时间的推移,越来越多的教育部门也加入了我们这种草根的实践行列。广州市教研室在考察了我的Scratch教学后,也把Scratch编进了广州市的小学信息技术教材中。Scratch逐渐通过教育部门的正规渠道在中国燎原起来!
看着这种喜人的局面,我们又开始了另外一种担忧,那就是对“创”的不重视,早年推广LOGO语言时的情景似乎又在重现。
看看雨后春笋般出版的Scratch教材,虽然每一课的标题都很吸引学生,如打地鼠、飞机大战等,但教材的呈现方式却如操作说明书。这样的教材可以让学生掌握知识,但很难激发创意。再看看一些Scratch课堂,基本是跟着教材走,学生主要是把教师教的例子模仿出来,缺乏面向创作的激发或支架。这种状况也同样让李大维担忧,在广东第一届创客教育论坛的间隙,记得他说还看到了一些Scratch编程的考试题,真有点令人绝望的感觉。
回顾我们提出的“为创作而教”的教学流程:提出创作主题-范例研习-模仿设计-自由创作-分享交流,你会发现我们要学生学习的例子(范例研习)是体现基本性、基础性和范例性的知识,是能够起到由“个”到“类”再到“规律性认识”,最终“获得有关世界和生活的经验”的范例,不是面面俱到的模仿对象。即便是模仿设计,也是让学生在范例的基础上加入自己的想法,丰富和改进范例,这样才能让学生把知识学“活”。有了这样的基础,就可以给学生大量的时间让他们进行自由创作了。自由创作和分享交流阶段吸收了基于设计的学习(Design-base learning,简称DBL)的思想和做法,让学生反复修改和反复解决问题,经历“定义→设计→评价→再设计”的循环过程,使他们把学到的知识进一步活化,真正起到在培养编程技能的同时发展学生的创造力的作用。
在Scratch网站最显眼的标题位置是这样写的:“创建故事、游戏和动画,与世界上的其他人分享!”创作是永恒的追求,编程技巧的学习永远是指向“创”的。无论你只是让孩子学一点编程的知识,还是让孩子搞软硬件结合的创客活动,都要记住,Scratch是为了孩子们的“创”而生的。Scratch目前的这种编程界面是最友好易用的,但人机界面的操作技术是在不断发展的,说不定哪天又会出现比这更友好的编程界面来取代Scratch,谁知道呢?