例谈比喻法在Scratch教学中的催化作用
2019-09-17吴荣荣
吴荣荣
摘 要:比喻法就是将两个本质上有相似之处的事物建立联系,通过一个熟悉的事物,引伸到未知事物,从而达到让学习者更好地熟悉新事物的目的,使课堂教学更加生动、有效和实用。
关键词:比喻法;Scratch教学;控件
一、问题的提出
程序设计是信息技术课程的重点内容。小学、初中和高中三个学段都包括了算法与程序设计的相关内容。程序设计课程越来越强调计算思维的培养,小学是程序设计的初始学段,Scratch作为图形化编程软件,因其具有丰富的积木块、无需手写代码等特点而广受欢迎,很多初次接触编程的小学生对Scratch非常感兴趣,然而小学生的思维特点以直观的形象思维为主,对抽象概念的理解总是借助于对直观事物的了解。Scratch中的一些基本概念、基础算法较为抽象,小学生难以理解。
如何让小学生更好地理解较为抽象的概念,让其保持对程序设计的兴趣,培养小学生的逻辑思维与计算思维,这是一线信息技术教师探讨与研究的重难点。笔者在教学过程中尝试使用“比喻法”进行教学,将晦涩难懂的概念比喻成浅显易懂的事例,收到了较好的效果。
二、比喻法
比喻法是一种修辞方法,就是“打比方”,是以具体的事物把抽象的道理表达出来。即用一个为人们所熟悉的事物或现象,从而显示这种事物的性质,启发人们去思考。或者是把一些较为抽象的名词概念,变成为具体的形象去感染人。
用比喻法描述事物,可使事物形象鲜明生动,加深读者的印象;用来说明道理,能使道理通俗易懂,使人易于理解。
三、比喻法在Scratch教学中的应用
1.用比喻法解释Scratch中的基本概念
小学生学习Scratch接触到的第一个抽象的概念就是变量,变量是计算机语言中能储存计算结果或能表示值的抽象概念,并且变量的值是可以变化的。笔者在教学过程中把变量比作容器,例如装货的小货车,我们可以在货车里装载不同的物品,使用到这个变量时,就相当于使用这个物品。这次装载货物A,下次装在货物B,可以装载不同的货物,也正解释了变量的值是变化的。在讲解到链表这个概念时,将链表比喻成有一节一节车厢的小火车,因为有了前面小货车的比喻,学生能更好地理解链表,链表能存放多个值,相当于多节小货车的拼接。
2.用比喻法解释Scratch中的控件
在讲解“广播消息1”和“当接受到消息1”这组控件时,我们会把“广播消息1”比喻成主持人报幕,把“当接受到消息1”比喻成表演者听到主持人报幕,当主持人报幕时即“广播消息1”时,表演者上台表演即“当接收到消息1”。
在讲解“克隆”控件时,学生可能对克隆操作难以理解,不会灵活运用。小学生对西游记有着浓烈的兴趣,孙悟空在打妖怪时需要帮助,一根头发可以变出若干个孙悟空一起打妖怪,可以借助这个比喻来讲解克隆,在编写程序时,当需要多个该角色时可以用克隆体操作,既让学生理解了克隆,又让他们明白何时运用克隆。
3.用比喻法解释Scratch中的语法
在讲解Scratch控制模块中重复语句时,我们要介绍三种不同的格式(如下图):
在讲解这三种重复执行的区别时,我们用某同学在操场跑步做比喻:
第一种重复方式——无限次循环,某同学在操场上重复跑无数圈,显然这种方式并不可行,同样地,在编程过程中也不推荐使用无限次循环即死循环,无限次循环会占用不必要计算机的资源,提高学生学会优化程序的能力。
第二种重复方式——带次数循环,某同学在操场上重复跑圈,跑满10圈停止跑步,即循环终止;
第三种重复方式——条件循环,某同学在操场上重复跑圈,直到出汗了,停止跑步,即循环终止。
通过形象比喻,学生能较快有效地掌握这三种重复执行控件的相似之处与区别,在程序设计时,能根据具体情境合理运用。
四、在Scratch教学中运用比喻法的注意点
“精彩的比喻就像童话中的魔棒,碰到哪里,哪里就会发生神奇的变化”。教师在教学过程中,要了解学生的认知水平与思维特点,要认真钻研教材,从日常生活和学生已掌握的知识中找到恰当的比喻,合理运用比喻的時机和技巧,使课堂妙喻精彩纷呈。当然,运用比喻教学,并不是以粗浅的事例代替科学精准的理论,更不是用随便的玩笑代替细致准确的讲解,而是要求我们紧扣教学目标和要求,合理运用比喻,化平淡为生动,化深奥为浅显,化抽象为具体。
1.比喻不能牵强附会
比喻要符合小学生的认知特点,要从小学生的背景知识中寻找适合的事例,事例要常见易懂;本体和喻体两者之间要有一定的关联,学生借助喻体能更有效地理解本体,用已知知识发掘未知知识。
2.比喻不能“喧宾夺主”
运用比喻法的目的是为了更好地教学,我们借助比喻,化抽象为具体,但当学生掌握了具体的知识后,教师要引导学生将浅显的、具体的知识转化为严谨的、抽象的概念,帮助小学生从形象思维逐步向抽象思维发展,这样才达到教育的目的,更加符合程序设计的学科特点,培养学生程序思维。
参考文献:
[1]程佑寅.打比方:让程序设计不再“曲高和寡”[J].江苏教育研究,2017(3):98-100.
[2]贾晓霞.《C程序设计语言》课程中的比喻教学[J].中国校外教育,2010(12):163.