超越语言,让思维可见
来源:用户上传
作者:
李敏和王佳莉两位教师的案例都是与程序设计有关,在内容上具有相似的属性。因此,我将两个案例放在一起共同分析,希望能够提炼共性,让广大读者获得借鉴。
● 案例分析
1.案例一《基于枚举算法的问题解决——解密唐朝诗人间的关系》分析
(1)思维引导
《基于枚举算法的问题解决——解密唐朝诗人间的关系》在全国信息技术优质课展评活动中以小组第一的成绩进入示范课,听课后感觉,这节课最大的特点在于思路的引导,通过多个过程、多种方式的相互配合,促进学生对算法等的理解并能顺利实践。表现在以下几个环节:
①活动热身环节。学生尝试查找古诗之后,教师引导学生分析查找过程,安排学生来逐一描述过程,教师同时张贴板书。教师张贴板书时,借助关键词等的提炼,可以及时帮助学生梳理并明确思路。
板书是用不同颜色予以呈现,一方面是突出直观的特点,另一方面,借助颜色的不同促进学生对关系的理解,如“查找范围”与“唐诗库”的关系、“查找对象”与“一首古诗”的关系,在形式上凸显结构化特点,帮助学生形成相应的认知结构。
②分析人工枚举问题环节。通过人工枚举与计算机枚举的类比,促进学生将自身实践经验迁移到利用计算机来解决问题的过程中,实现对枚举的理解。同时,在人工问题解决与计算机问题解决的对比中,促进学生体会利用计算机进行枚举的优势。
③绘制流程图环节。本环节名称是绘制流程图,实际上,并没有安排学生绘制流程图。流程图的绘制有专门的、规范的格式及符号的应用,缺乏基础的学生绘制起来有一定的难度。本节课中,教师提供半成品流程图,学生尝试拖拽就可以轻松完成流程图排序的过程,降低了绘制流程图的难度,使得学生可以将精力集中在思路的梳理上。当然,是否绘制流程图需要根据本节课的教学目标来设计,如果流程图本身属于本节课的教学内容之一,则需要安排学生来进行绘制。
借助流程图的拼接促进学生进一步明确思路,也为后续的编程实现夯实理解的基础。流程圖作为自然语言与程序之间的桥梁,充分发挥了承前启后的作用。
④程序初体验环节。教师借助箭头将程序与流程图进行一一对应,这样,通过程序与流程图的对比,帮助学生理解程序代码,实现从可视化的图示向抽象的代码的转化。在教学设计“声控机器人”中[1],除了程序与流程图的对比之外,还借助程序与程序的对比促进学生对指令的理解。
⑤总结环节。该部分的总结较为到位。在此环节中,教师引导学生归纳了枚举法的特点,进而给出问题,让学生判断哪些适合用枚举法来解决。
学习算法,很重要的一点在于引导学生了解算法的特点、优势及不足,以及算法的适用环境,也就是帮助学生了解何时用算法、为何用算法。这样,学生遇到问题时,就可以根据问题的特点与性质,合理选择算法来解决问题。本节课总结环节的设计就很好地体现了这一目标,说明学生对算法学习的理解到位。
进一步地,在信息技术学习中,工具、软件的学习都需要达到这一层面,才可以认为到位,才能体现对信息技术课程中的技术三层内涵(即动手做的技术、如何做的技术、为何做的技术)的准确理解与实践。例如,对于文件管理的教学,需要引导学生理解分类管理的价值、方法,然后再涉及具体操作,如文件及文件夹的移动、复制、删除等。
(2)细节把握
①情境创设。本课创设的情境是解密唐朝诗人间的关系,情境视角新颖,有效地激发了学生的学习兴趣,也赋予本节课以人文色彩。而且,情境应用贯穿始终,体现了情境利用的效益问题。
②技术应用。学生查找古诗时,教师计时使用了Flash制作的小工具。信息技术教师在课堂教学中使用技术来解决教学中的现实问题,可以对学生产生潜移默化的影响,有助于促进学生学以致用意识的培养。
③巧用陷阱。在教学情境视频中播放的杜甫写给李白的诗中,最后一首诗与其他诗不同,因为题目及诗句中都没有李白的名字。学生编写的程序中只检测到题目及诗句中包含李白的诗,所以结果不准确,此时教师再加以引导:需要加入对诗人别称的检验。此处巧设陷阱,促进学生形成认知结构的冲突,从而加深印象,深化理解。而且,情境视频与后续问题前后呼应,体现出教师对这一问题考虑全面,做出了相应的准备。
2.案例二《条件语句》分析
同样从思维引导及细节把握两个方面来对案例进行分析。
(1)思维引导
在思维引导方面,案例中设计了多种方式。
①自然语言描述。教学开始引导学生尝试“猜币”程序,观察结果,并用自然语言来描述程序设计的思路。这样做,一方面是引导学生根据结果梳理程序流程,理解程序;另一方面为条件语句引入奠定基础。
②动画练习。教师引导学生分析条件语句的格式之后,安排学生在Flash中通过拖拽相应的模块完成程序的流程设计,检测学生对程序流程的理解,同时促进学生加深对程序的认识。
③流程图软件应用。本节课中利用了“画程”软件,与一般的流程图软件不同,“画程”软件不仅可以画出流程图,还可以自动转换成程序(程序借助某种语言呈现)并进行编译执行。初中学生对程序编写不是特别熟悉,在这种情况下,借助“画程”软件,降低技术门槛,可以适度降低程序编写的难度,减少学生对程序的畏难情绪,同时帮助学生将注意力集中到思路的梳理上。在自主探究环节,画出流程图后,教师提醒学生观察“单步运行”功能。借助这一功能,引导学生通过对程序的逐步运行进行观察,从而了解、理解程序,这一点充分利用了“画程”本身的功能。继流程图之后,学生可以参照“画程”的代码窗口完成给定的程序,即模仿完成练习。这里也是充分利用了“画程”功能促进学生更好地理解条件语句的格式及用法。
④半成品程序。自主探究、拓展练习部分都提供了半成品的程序,可以帮助学生(尤其是基础薄弱的学生)将精力聚焦于本节课的重难点,实现难点化解、重点突破。 (2)细节把握
①情境创设。利用“猜币”游戏导入,一方面,贴近学生经验,容易激发学生的兴趣;另一方面,借助游戏,促进学生了解程序是事先编写好的,不能盲目选择。
②迭代思想。学生最早接触到的程序,用户参与的结果是全输。学生在明确原理之后,尝试设计全赢的程序,并进而考虑有输有赢的结果。一方面,不断调整、设计程序,体现一种迭代思想;另一方面,有输有赢,由学生自己来定,在难度上是一样的,体现出对学生兴趣差异的尊重。
③纠错能力培养。自主探究、拓展练习环节在学生完成练习后,都设计有专门的纠错练习,引导学生在分析典型错误的过程中,更为精准地掌握条件语句及其运用。
● 共性提炼
两个案例虽然面向的学段不同,涉及的教学内容不同,编程语言也不同,但能提炼出共性,即都鲜明地体现出对学生思维的引导,而非聚焦于编程或语言本身。
编写计算机程序解决实际问题的过程包括分析问题、设计算法、编写程序、调试运行等环节,需要经历自然语言、流程图、编写程序三个阶段,因此对学生思路的引导,可以围绕这三个阶段展开,以体现程序设计学习的特点。
1.自然语言阶段
此阶段不涉及程序语言,可以用学生易于理解的方式来表达解决问题的思路。具体教学中,可以根据不同学段学生的认知结构设计相应的形象化方法促进学生对解决问题思路的理解。例如,在《自相矛盾(二)》[2]教學设计中,是通过故事梳理帮助学生理解程序展开的顺序。另外,有些教师借助形象的微课或动画帮助学生理解编程思路。又如,在案例《读心术——利用计算机解决问题的一般过程》(北京 刘征)中,在思路引导部分,教师给出所有环节的自然语言描述,让学生根据对程序的理解进行思路的排序。除了对环节进行排序,还可以考虑半成品的形式,即提供部分环节的自然语言描述,学生在读懂的基础上,再补充其余部分。以上方法都有助于降低难度,促进学生的理解。
2.流程图阶段
此阶段需要用流程图来表达解决问题的思路。流程图本身属于一种可视化的表达,但流程图的绘制有规范的格式及符号等规定,需要专门学习。因此,教学中可以根据学段的不同,对流程图绘制做相应的调整,如小学通过补充半成品的流程图或重组乱序的流程图等方式降低画流程图的难度。例如,在《足智多谋的小海龟》教学设计中[3],学生将打乱的流程图卡片进行排序。又如,在《高塔比一比》教学设计中[4],学生在Flash中拖拽形成流程图。同样是流程图排序,在形式上,可以借助计算机实现拼接,也可以安排学生在纸上完成流程图的拼贴。
初中尤其是高中教学中,则可能采用专门的流程图软件。例如,在《运用顺序结构 解决生活问题》(昆明 吴骥鹏)案例中,借助Raptor实现程序的功能。而案例二中则是采用了“画程”引导学生理解程序思路。
3.编写程序阶段
此阶段需要用具体的程序来解决问题。根据学情,部分案例也采用了一些策略适度降低难度,促进学生对程序思路的理解,如学生直接运行给定的程序,观察结果。例如,在《读心术——利用计算机解决问题的一般过程》(北京 刘征)中,学生需要复制给定的程序并运行,通过查看结果,了解命令的作用。另外,有些教师给学生提供打乱顺序的程序块,学生需要复制程序并根据正确的顺序粘贴,然后才能运行得到结果。在此阶段,应用较多的是程序半成品。
以上是在分析案例的基础上进行的归纳,具体展开教学设计时,还需要根据教学内容、教学目标、学情等情况,做出合理的选择。
参考文献:
[1]李艺,朱彩兰.信息技术课程与教学(第2版)[M].北京:高等教育出版社,2018:95-96.
[2]孙晓宇.《自相矛盾(二)》教学设计[J].中国信息技术教育,2019(08):33-35.
[3]王金婵.《足智多谋的小海龟》教学设计[J].中国信息技术教育,2017(02):26-29.
[4]徐钦.《高塔比一比》教学设计——Scratch中数的大小比较[J].中国信息技术教育,2019(08):36-38.
转载注明来源:https://www.xzbu.com/9/view-15116247.htm