许凯
摘要:Scratch与Logo语言是小学信息技术课程程序设计最常见的学习软件,学生在两者的学习过程中必然有所遭遇与碰撞。在高年级Scratch教学中适时、适度地穿插讲授Logo语言,用以相互印证,可以实现通联教学、比较教学以及学习迁移的目标。设计一节将Scratch与Logo语言并举的实验课,引导学生就编程中基本的界面风格和输入方式、“动作”类指令、“重复”和“重复嵌套”及颜色调配等方面进行通联、比较。
关键词:ScratchLogo通联比较迁移
Scratch与Logo语言曾经是“唯二”的两套同时纳入小学信息技术课程的程序设计学习软件,小学生对于两者的学习有所遭遇与碰撞。尽管Logo语言已逐渐淡出江苏省的小学信息技术教材,但笔者还是经常在高年级Scratch教学中适时、适度地进行穿插讲授,用以相互印证。在学生学习Scratch的中期,笔者尝试设计了一节将Scratch与Logo语言并举的实验课。
一、设计思路
(一)通联教学
通联有两个维度:一是指打破学科的界限,强化不同学科之间的横向通联。学科统整、跨学科都可以视作横向通联的某种形式,如当下热门的STEM(STEAM)及创客教育,都渗透了横向通联的教学思想;二是本文所指向的基于学科内部的纵向通联。教材是固有的,而教学对象是灵动的,我们可从跨越学段、年级、学期、单元、课时的角度,以整体融通、关联转化的思维,去发现教与学可能存在的通联处,并进行教学内容的增删、合并、调整、转化,以此突出某些核心目标和关键问题,凸显学科育人价值。相对于横向通联的“广博”,纵向通联对教师把握学科的“精深”程度提出了更高的要求。
(二)比较教学
笼统的概念中,比较教学是在教学实践中,着重呈现、辨析、体悟并印证教学内容之间异同关系的思维过程或实践过程,其本质特征在于“对比”“参照”。比较教学的这一特征在一定程度上限定了这种教学方法运用的前提条件,即教学内容既要有相关性、相似性,又要突出其有相差点、相异点。因此,比较教学必须先依据一定的标准,选择彼此之间具有相关、相似联系的教学内容,放在一起加以对比、分析和印证,来确定和认识彼此之间的异同关系。在教学实践中,求异比较是最常见的比较教学方法,也是本节课所采用的比较教学类型。
可以说,本节课的Scratch与Logo语言比较教学又是基于两者之间的“通联”的——想要獲得“相异”的比较结果,突出关键问题,先要以“相似”为比较的基础。可将Scratch与Logo语言中某些相同的知识和方法放在一起加以比较,使学生利用知识之间的联系,加深理解,增强记忆。
(三)学习迁移
通联、比较的最终目的,是为了让学习得到更好的迁移。广义的学习迁移存在于社会生活的各个方面,是指利用原有的知识、技能和经验不断获取新的知识、技能和经验,使得原有的知识、技能和经验得到扩充和丰富,产生“滚雪球”的学习效应。而教学中狭义的学习迁移,可以特指一种学习对另一种学习(不论学习的先后顺序)产生的影响,即我们常说的“举一反三”和“触类旁通”。小学生在刚接触程序设计时,并没有主动地进行学习迁移的意识,需要教师加以引导,并让他们将这种习得的学习迁移能力应用到其他学习和社会生活中去。迁移既可以是一个工具(学习软件)原有知识技能在另一个工具上的同类复现,也可以是升级、完善和革新。
二、教学设计
本节课为了帮助学生有效实现学习的迁移,掌握和整合程序设计的知识与技能,笔者引导学生就编程中基本的界面风格和输入方式、“动作”类指令、“重复”和“重复嵌套”及颜色调配等方面进行通联、比较——没有进行“判断”“变量”等复杂指令的通联、比较,可以在后续教学中引导学生学习。
(一)界面风格与输入方式的通联、比较
引导学生思考与讨论:用已知的初步直观印象对比“猫”与“龟”(“猫”代表Scratch,“龟”代表Logo,源自两种语言通常使用的角色形象)的界面风格、输入方式。
预设:同为小学阶段程序设计的学习软件,“龟”的界面单调古老,“猫”的界面活泼卡通;“龟”是基于英文字母的命令输入方式,“猫”支持多语言的积木拖拽和拼搭式编程方式。
(二)基本动作的通联、比较
1.通过2个简单图形对比“龟”与“猫”基本动作指令的实现。
图1的指令指向一个正六边形,可以帮助学生复习和感受“移动”和“旋转”命令的使用。图2的指令指向一段虚线,可以帮助学生进行“落笔”“停笔”命令和状态的比较。
本环节旨在让学生感受不同语言类型的相互“翻译”。“龟”和“猫”是完全不同的程序语言形态,再加上人类自己的语言作为中间转换环节(通常需要先用自然语言阅读和理解第一种语言,才能推演和转化为第二种),实际上两者的比对是三种语言的交流印证。此外,两者的差别还存在于默认的前进方向、“停笔”和“落笔”的初始状态等,需要在具体的实践中从“龟”的学习迁移到“猫”时加以注意。
2.设置悬念:在图1中命令“fd 100”后加“bk 100”,即“repeat 6[fd 100 bk 100 rt 360/6]”,图形是否会产生变化?
很多学生看到在“fd 100”后加“bk 100”会不明所以,甚至认为多此一举,然而答案是把正六边形变成了雪花形(如图3)。
这一任务意在:(1)为接下来的教学环节做铺垫;(2)让学生了解“猫”语言的移动命令中并无“后退”一说,需要用负数来实现反方向移动。
(三)重复和嵌套的通联、比较
本环节分别在两种语言中,将雪花形和虚线两个基本的重复命令进行有机结合,来帮助学生感受嵌套的实现方法。
引导学生思考:看图中的任务(如图4),用虚线的命令替换正六边形中“fd 100”命令,将会产生什么样的新图形?答案是一个虚线的雪花形(如图5)。
在“龟”和“猫”的语言中分别完成虚线的雪花形后,学生尝试了程序设计中最为常见的“重复嵌套”的用法,对两种语言的比较又有了新的认识。讨论后,教师在语言形式上进行总结:“猫”的嵌套更像“套”,“龟”则是“嵌”(如图6);显而易见,“猫”的嵌套对于所包含内容的标识更为清楚明晰。
(四)绘图创作的通联、比较
设置“涂鸦创作”环节,让学生尝试设计和绘制出各式“烟花”。在这个环节,“猫”表现出无可比拟的优势,例如画笔、颜色和图形效果的个性化控制,自带“画板”功能等,既挥洒了学生的个性,又凸显了Scratch作为青少年程序设计软件的独特魅力。
通过整节课的学习,“猫”自然毫无悬念地得到了学生全体的青睐。但是在这里,教师应提醒学生给“猫”的胜利加上“暂时”二字:程序设计学习并没有完全结束,随着程序设计学习的深入,在较复杂的计算任务环境下,Logo作为经典不衰的文字输入编程软件,它的高效、严密和逻辑性会让人刮目相看。
参考文献:
[1]曹恒来,等.基于计算思维的小学程序设计教学研究与实践[J].中小学信息技术教育,2016(12).
[2]阮铭健.小学信息技术课Scratch程序设计教学的文献研究[J].当代教研论丛,2014(7).17-21,82-84,85-89,54-57,62-64,71-74,90-9258-61,1-49