搭建学习支架 提升信息素养
——以初中信息技术程序设计教学为例

2022-12-26 18:11沈珊珊浙江省杭州市临平区临平第三中学
教学月刊(中学版) 2022年28期
关键词:储蓄罐程序设计支架

沈珊珊|浙江省杭州市临平区临平第三中学

布鲁纳在维果茨基“最近发展区”理论的基础上提出了“支架式教学”概念,主张在教学过程中教师仅仅是支架的提供者,学生是自主学习的主体。也就是说,教师应重视并通过搭建学习支架,使学生的水平不断进阶。

一、研究源起

随着初中信息技术教材的不断更新和发展,教材中有关程序设计、人工智能、大数据、物联网的知识越来越多,特别是程序设计所占的比重越来越大。学习程序设计不仅仅是让学生学习一门编程语言,更要培养学生科学的思维方式和解决问题的能力,提升学生的信息素养。然而当前的程序设计教学却存在一些问题,主要表现在以下三个方面。

其一是教师重知识讲解轻方法引领。这不仅降低了学生的学习兴趣,还剥夺了学生思考的机会,不但没有让学生体会到程序设计的乐趣,反而使学生产生了畏惧心理。其二是教师重整体推进轻差异教学。这使教学设计、教学活动以中等生为主,往往导致学优生“吃不饱”、学困生“吃不下”。其三是教师重任务设置轻帮扶研究。程序设计教学多以任务驱动为主,任务的设置很大程度上影响着教学能否顺利开展。教师虽然十分重视任务的主题、任务的衔接、任务的层次和梯度的设置,但在该采用何种方式帮助学生完成任务方面却常思考过少。这一方面导致学生面对新任务时经常束手无策,另一方面也使学生获取知识的方式过于单一。

支架式教学为解决以上问题提供了一个很好的参考。

二、学习支架的含义及搭建支架的原则

学习支架,简单来说就是学生学习过程中的脚手架,用来支持学生的学习。它强调教师必须立足于学生的发展,提供必要的支架,促使学生掌握、建构和内化那些能使其从事更高认知活动的技能。在搭建支架的过程中,教师需要遵循以下几个原则。

(一)讲究引导

课堂的主体是学生,学生必须参与整个问题解决的过程。亲身思考和体验更有助于学生获得解决问题的思维过程,从而提升独立完成任务的能力。作为课堂的促进者,教师应想方设法引导学生主动参与到课堂活动中并积极思考问题,而非直接给出答案或代替学生完成任务。

(二)注重个性

由于学生个体具有差异性,因此,教师在搭建学习支架时,既要考虑到大多数学生的整体水平,还要针对其他层次的学生搭建不一样的支架,以提高更多学生的学习效率。在程序设计教学中,对于思维能力比较强的学生,教师可多提供一些问题支架,增强他们积极思考和探索的能力,对于思维能力欠缺的学生,教师可提供范例或工具支架,帮助他们逐步上升。

(三)高度适宜且具有动态性

支架好比楼梯台阶。若台阶过于平缓、密集,很多学生一步就可以跨越多个台阶,则教学很难吸引学生的兴趣;若台阶过高过陡,造成大多数学生甚至是思维能力强的学生都爬不上去,则容易打击学生学习的积极性。因此,搭建的支架应该略高于学生的现有水平,落在学生的最近发展区内。同时,支架往往是预设的,课堂却是动态的,教师无法对课堂中学生的学习情况做到精确评判,因此,预设的学习支架要随着课堂教学的动态发展及学生知识水平的变化及时作出调整。

三、程序设计教学中搭建学习支架的策略

基于学生的学情,立足于学生的发展,结合自身的教学实践,笔者在程序设计教学中尝试采用如下搭建学习支架的策略。

(一)搭建情境支架,创设学习氛围

情境是指在社会生活中真实发生或可能发生的事件场景。情境支架以情境创设为基础,将事件场景引入课堂,使学生置身于情境中,以诱发其学习兴趣。学生既有学习程序设计的欲望,觉得能写程序是一件很厉害的事,又觉得写程序很难。因此,要保护好学生的学习欲望,帮助其减少害怕心理,教师就要搭建合适的情境支架。

1.激趣:情境支架趣味化

趣味是最好的老师,有了趣味,学习就有了动力。为了让学生摆脱对于程序设计望而生畏乃至却步的心理,激发学生的学习兴趣,笔者尝试为学生搭建趣味化的情境支架。

如在学习浙教版义务教育教科书《信息技术》八年级上册(以下课例均出自本册,不另注)第5课《分支结构程序设计》时,笔者设计了抽奖游戏环节。第一轮:点击“抽奖”,如果显示的数字大于10,即可获得一份小奖品。第二轮:点击“抽奖”,如果显示的数字大于10,可获得一份小奖品,如果数字小于或等于10,可获得一份鼓励奖。学生都跃跃欲试,希望能有一份好运气。游戏结束之后,笔者让学生根据两轮游戏的不同规则,描述相应的算法并画出流程图。对比流程图,学生认识了单分支和双分支结构。

通过趣味化情境支架的搭建,笔者顺利地吸引了学生的注意力,引入了这节课的知识点,并且使学生逐步掌握编写程序的方式:通过分析程序所实现的功能,用自然语言描述算法,然后转化成程序语言。编写小游戏程序的任务,调动了学生的学习积极性,使学生体验到了成功带来的喜悦。他们学习程序设计的兴趣开始变得浓厚,而更强的内驱力又促使他们更加认真主动地去学习。

2.触发:情境支架生活化

信息技术课程的总体目标是培育学生的信息素养。在教学中,教师若能联系生活创设情境,就可以有效地培养学生运用信息技术解决实际问题的能力,提升学生的信息素养。

如在学习第8课《循环结构——for循环》时,笔者以灯光秀作为课堂导入,向学生介绍不同的灯光效果都可以通过程序控制来实现,并告诉学生可以先试着让一串灯依次闪烁,从而引入for循环。学生都带着跃跃欲试的心情去学习,学习效果自然就大大提高了。在学会用for循环语句实现灯光依次闪现效果之后,部分学生还自由发挥实现了灯光跳跃闪现效果,获得了满满的成就感。

笔者为学生搭建了从课本知识学习到实际生活应用之间的支架,使学生进一步体会循环结构的使用,以及学以致用的乐趣。生活化情境支架的搭建让学生真切感受到了信息技术就在自己身边,体会到了信息技术的强大作用。这就使学生对信息技术的学习更加深入,他们会更多地去思考如何应用课堂上所学到的知识。

(二)搭建问题支架,减小思维跨度

维果茨基的“最近发展区”理论认为,学习与发展是一种社会和合作活动,它更适于让学生在他们自己的头脑中构筑自己的理解,而非被“教”给他们。教师可通过在学生最近发展区内提出有效问题,帮助学生集中注意。学生则在问题的引领下,逐渐深入学习,最终完成知识的重构。

1.精心设疑,循序渐进

新知识的学习是以原有知识或经验为起点的,教师在问题引导时应注意逐层递进,若问题跨度太大,就会导致学生无法跨越这个梯度,学习效果就会事倍功半。

如在教学“for循环语句的一般格式”这一知识点时,从循环结构的流程图到for循环语句的编写,涉及的知识点较多,学生学习起来较为困难。笔者最初尝试让学生结合流程图回答循环条件和循环体是什么,再在代码中填写。结果很多学生无法正确填写,调研发现其主要原因在于问题梯度太大。于是,笔者作了更改,要求学生“将实例和语句格式进行对比”,并提出三组问题:“此程序实例中,①序列是(),序列中的元素有(),序列的数据类型是();②循环变量是(),循环体是();③循环结束的条件是(),循环体一共执行了()次。”通过这些问题,笔者有效激活了学生的原有知识,学生的思维变得活跃、有效,并能将旧知和新知联系起来。如此,学生个体的最近发展区和教学的最近发展区形成了交集,这激发了学生的思考,促进了学生的有效学习。

2.把握生成,深入学习

课堂中,学生经常会提出各种问题,这些问题往往能直接反映出学生对知识的理解和掌握程度。教师引导学生分析、探究、解决和反思这些问题,就会使他们对知识有更深层次的认识和理解。

如学习第2课《常用数据类型》时,学生编写代码后发现输出答案与预期不一致,于是提出疑问。笔者结合学生问题,提出一系列层层递进的问题:“①如果输入1、2,这个程序的运行结果是什么?如果输入ch、ina,结果又是什么?②在计算机上运行程序,查看结果和你预计的结果是否一样?如果不一样,原因在哪里?利用type函数查看a、b的数据类型。int、str分别是什么数据类型?③如何将int和str数据类型相互转换?④综上所述,若a、b均为int类型的数据(或均为str),a+b返回的值是什么?如果a为int,b为str,a+b返回值是什么?如何修改代码?”

笔者通过学生提出的问题,引导他们探究问题产生的原因以及该如何解决,在引出新知识的同时又不断地激发他们去思考。每一个新问题的提出,都是对原有思维的一种挑战,都是向新知识的逐步迈进。教师要跟随学生的思维碰撞,及时提出新问题,引导学生得出结论。

(三)搭建工具支架,具象化抽象思维

初中生的抽象逻辑思维日益发展,但还有赖于具体形象。程序设计中的概念与算法的概括性、抽象性是学生所面临的难关,只有思维能力达到一定的程度,学生才能真正理解。此时,教师可以借助工具,将抽象知识具象化,引导学生攻破这些难点。

1.巧借微视频,使抽象思维可视化

对于程序设计教学来说,很多时候,教师讲授再多都不如让学生运行一遍代码更能加深学生的理解。笔者在课堂实践中发现:教师反复多次强调input函数中的参数prompt的作用是给定提示符,但依然有不少学生会写出类似于“input(1)”这样想实现输入数字1的代码;而当教师给出input有、无提示符的代码运行结果供学生观察对比之后,错误率就大大降低了。可见,最有效的信息传播媒介是图像而不是听觉。我们如果能将抽象思维形象地展示出来,就可大大促进学生对知识的深层理解。

《循环结构——for循环》一课中,for循环语句的执行流程对学生来说是一个难点。在最初的教学中,笔者尝试以程序实例结合幻灯片动画的方式来演示执行过程,很多学生学后仍然一知半解。为攻破这个难点,笔者苦苦思索,最后想到如果能够将程序中的每一句代码所运行的结果展示出来,这个过程就会更加直观形象。于是,笔者制作了一个《for循环执行过程》微视频供学生观看自学。学生自学完之后,不仅可以表述出这个程序的执行过程,还能回答出遍历就是将序列中的每一个元素都访问一次。借助微视频,学生不仅知其然,也知其所以然。

2.妙用动画,使抽象思维形象化

抽象思维是在形象思维的基础上发展并成熟起来的,将抽象思维形象化能帮助学生理解。

如第9课《for循环的应用实例》中的“累加算法”,是一个教师难以描述、学生难以理解的知识点。通过观察数据的变化,学生能发现每一次累加后,sum的值都会发生变化,变化后的结果就是原来的值加上一个数值后产生的,但依然有不少学生疑惑:“sum=sum+i这个表达式到底是怎么来的,为什么要这样写?”显然,学生的思维能力还未从具象发展到抽象,需要教师搭建必要的支架来帮助他们。

笔者以储蓄罐存钱为例,以动画为载体,模拟了累加的过程。以sum为储蓄罐命名,最开始储蓄罐中并没有钱,此时sum=0。学生每点击一下“存钱”,每月结余的钱(即序列中的元素)就会放入储蓄罐,学生就能观察到:储蓄罐中的钱变为原有的钱加上存进去的钱,也即“sum(后)=sum(前)+i”。这些钱自始至终都存放在储蓄罐中,也即sum里,储蓄罐依然是那个储蓄罐,只是里面的钱发生了改变。通过动画操作,学生一方面对变量的含义有了更进一步的理解,另一方面也对累加有了更加形象的认识。课后,有学生笑问:“老师,是不是还有累乘?累乘的话,我是不是可以理解为不断往气球里充气,气球体积成倍增长呀?”

四、支架式教学的实践成效与反思

通过教学实践,笔者在课堂中深刻感受到了搭建学习支架给学生学习带来的显著成效。其一,学生的自主学习能力明显提高。教师在适当的时候为学生搭建合理的支架,然后在合适的时候撤掉支架以逐步减少对学生的控制,学生对教师的依赖就会逐渐减少,遇到问题时就会积极思考和探索,尝试自己解决问题。其二,课堂效果明显提高。这从练习完成度即可看出,以《循环结构——for循环》一课为例,笔者就随堂练习、OJ测试平台上的程序练习,对比实验班(搭建了学习支架)与非实验班的完成数据,发现实验班学生的完成度要高很多。

综上所述,搭建学习支架对学生提升学习能力和信息素养有非常积极的作用,但同时它对信息技术教师也是一种考验,需要教师了解学生的现有水平和可能达到的水平,并从学生的实际学情出发,搭建合理的学习支架,以满足不同层次学生的学习需求。

猜你喜欢
储蓄罐程序设计支架
支架≠治愈,随意停药危害大
口腔CT支架的设计与分析
小猪储蓄罐
老寿星储蓄罐
给支架念个悬浮咒
医学专业“Python程序设计”课程教学改革总结与思考
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
智能硬币储蓄罐设计
高职高专院校C语言程序设计教学改革探索