基于“问题导向”与“图示载体”的图形化编程课例研究
葛安琪
“问题导向”是将学生作为教学主体、以问题解决为核心、以培养学生获得多种能力为目的的教学模式。而以“图示”作为载体,将问题以任务的形式呈现,更有利于学生有效地管理学习过程与学习资源,主动探索学习内容,创造性地解决问题。笔者以“问题”为导向,以“图示”为载体,对图形化编程《吃豆子游戏》一课进行了多次行动研究。本文从教学方法及研究主题的选择、教学方案的规划与设计、教学方案的实施改进等角度,记录了本课例研究的过程与思考。
● 教学方法及研究主题的选择
1.以“问题”为导向
以问题为导向的学习是指用问题指向学习,将所学内容转换成关键性、关联性问题,引导学生通过分析问题,利用已知知识尝试解决问题掌握新知识,同时在此过程中学会自主、合作、探究学习的方法。问题导向的学习强调以问题解决为核心,多种学习途径相整合,强调学习者之间的交流与合作,让学生围绕问题展开知识技能及多种能力的构建过程。
2.以“图示”为载体
本次研究的学习途径以“图示”作为载体,瑞士著名心理学家、教育家皮亚杰将图式概括为“图式本质上就是指动物对外界的刺激和自身的活动反射到大脑皮层下的结构或组织”。将“图示”作为载体,更有利于学生有效地管理学习过程与学习资源,主动探索学习内容,创造性地解决问题。而图形化编程更加贴合启蒙式编程的需求,往往是学生学习程序设计的首选。借助图示的图形化编程学习,可以帮助学生形成清晰的程序思维,编写出个性化的创意作品,同时激发其他程序设计学习的潜力。
3.“图”“问”相结合
基于“问题导向”“图示载体”的图形化编程课,首先以图示出示程序设计目标,接着将问题与情境融合以图示呈现,学生围绕解决图示任务开展程序设计模块的学习。学生在围绕某一个任务开展研究的过程中会产生新的问题,这是一个良性循环的过程,即教师利用图示抛出启发性问题、学生研究产生自主问题、提取所学知识分析问题、获取新知识解决问题、掌握本课新知、学会学习方法。最后,自我评价以图示展现,学生反思本节课的收获。《吃豆子游戏》一课处于图形化编程学习中的承前启后的位置,学生已有一定的程序设计体验,能够结合学习经验开展“图”“问”结合的学习。
● 教学方案的规划与设计
1.学情分析
本次课例研究在五年级三个班级中展开,五年级学生有信息技术学习的经验,计算机操作有一定基础,但学习程序设计的经验不足,综合运用新旧知识创新程序设计作品较少,制作作品缺乏目的性,随意性较强,问题各个击破的能力较弱,倾向于解决较容易的问题,更加看重眼前的即得收获。本次开展课例研究的三个班学生人数都为30人左右。A班学生学习习惯较一般,个别学生更加关注自己的“无厘头”创意;B班学生较乖巧,小组合作能力较强,超前意识足;C班学生程序设计学习能力强,创意十足,课堂氛围活跃。
2.教材分析
本课内容为图形化编程《吃豆子游戏》的第二课时,笔者将学习情境修改为蚂蚁吃水果游戏,吃豆人变成小蚂蚁,豆子变成了水果。将本课的重难点融到此情境中,激发学生学习欲望。本课的主要学习任务是建立在第一课时学生已经学会键盘控制的基础之上,结合随机函数、坐标增加控件以及侦测制作接水果游戏。根据本课的教学目标可將教学内容分成三部分:第一部分突破已知分析并实现水果从随机位置下落及竹篓的运动;第二部分利用侦测,实现水果被吃到后的游戏脚本;第三部分是探究水果落地后的游戏脚本。同时,拓展变化脚本,增加吃水果游戏的趣味性。在之前的图形化编程学习中,学生已经掌握了“侦测”及“随机数”功能,对本课的学习产生积极作用。本课趣味生动有互动效果,因此在学习本课时,教师要以启发为主,激励学生运用已有知识搭建新脚本,根据需求灵活地运用脚本,实现作品的创新。
3.课堂观察重点与观察记录表设计(如下表)
观察记录表围绕课程环节设计,以半封闭及开放相结合的形式进行设计。半封闭的统计及要点记录部分便于同伴观察后的客观观察记录。开放形式的观察记录部分便于同伴的个性化评价。
● 教学方案的实施改进与团队意见及再实施改进
1.第一次实录片段和实景描述
本课以游戏闯关作为课程的线索,首先进入游戏设定环节,学习单已呈现出本课的舞台及角色。
预设任务1:完成起始线及警戒线的坐标确定。
任务设计分析:任务1设计是为后面学习埋下的伏笔,学生尝试解决两个问题:一是桃子在下落前的初始位置,二是桃子下落后若没被竹篓接到应该在什么位置发生变化。这是本课的两个难点,一旦突破,学生理解后便能快速地完成基本任务。
学生生成情况:学生根据要求快速完成起始线及警戒线的坐标确定。
预设任务2:①用箭头在图中画出竹篓的运动方向;②勾上竹篓的X坐标发生变化还是Y坐标发生变化。
任务设计分析:完成游戏设定后,进入关卡1,学习单上有两个启发性问题,这两个问题以勾画的形式在图示中呈现,目的是减少文字填写激发学生完成欲望,学生可以快速勾画本关卡的问题。实际上这就是找到竹篓运动程序的关键性问题。
学生完成情况:学生在课上解决了关卡1问题后,开展合作学习解决了程序的搭建,实现了竹篓跟着鼠标移动。
预设任务3:①用箭头表示桃子的运动方向,X、Y坐标谁在增加还是减少;②如果桃子碰到竹篓,桃子就回到顶端,如果竹篓没碰到桃子会怎么样?
任务设计分析:以问题1激发学生思考桃子的哪个坐标在减少,将问题引入程序。问题2是开放式问题,学生可以开展创意程序设计。
学生完成情况:学生运用前一课的侦测脚本解决了竹篓碰到桃子的情况。接着,根据任务要解决桃子回到舞台顶端的问题,经过教师的问题引导学生回忆了“随机数”脚本,并结合课始的伏笔即桃子的起始线完成了回到舞台顶端的任务。此任务中布置了一项开放的任务,即“如果桃子没有被接到会怎么样?”。因为是开放式的问题,学生填写的答案五花八门,但都能够提出自己的想法。不过在实际操作过程中,有的学生完成了任务,而有的学生由于给自己设定的任务过难,最终放弃了任务,开始胡乱创作。
预设任务4:创新环节,一个未知的桃子。
任务设计分析:教师提出“你的桃子能发生什么变化让你的游戏变得更加有游戏体验感?”这一问题来发散学生思维,鼓励学生综合运用图形化编程创意设计。
学生完成情况:学生回答不尽如人意,有的没有自己的创意而选择了教师给的提示,有的仅仅改变桃子的造型,无关脚本变化。最后图示中的评价部分,大多数学生客观地进行了自我评价。
2.同伴的观察记录和群体研讨意见概述
教师能够在课程中通过多种形式的提问引导学生回顾以前学习的知识解决问题,也能够通过问题启发学生理解本课的重难点,将问题导学、解决问题作为本课的核心线索。但学生提问机会较少,提问质量不高,针对问题深层次的思考还不够;教师的提问过于关注启示学生突破重难点,忽视引导学生明确任务意义。而图示作为问题的载体,虽以图的形式让学生观察记录从而发现问题,但图的板块之间联系性不够,学生很难建立一个完整课的概念。竹篓的脚本可以延用第一课时的知识点,不宜花过多的时间,否则容易导致学生混淆桃子和竹篓的坐标难点。本课在前部分使用了过多的时间,直接导致后面的自主创新阶段时间减少,因而出现了学生自暴自弃、选择胡乱做的现象。在拓展环节,学生无法产生具有可操作性的创意想法,说明在前阶段的学习中基础知识还不够扎实,重视程序脚本解决忽视问题解决意义,使得学生很难在此基础之上开展创新制作。
3.第二次实录片段和实景描述
任务修改:以半成品的形式,减少竹篓脚本的制作,快速迁移前一课时的脚本,重点放在桃子的脚本实现。
图示修改:加强图示任务之间的联系,以任务为主线,以流程图为形式,梳理本课的学案,让学生快速进入解决问题的状态,带着目的去探究桃子落地和桃子被接住的脚本。
拓展环节修改:让学生填写接桃子和桃子落地所发生的事情,按照自己设定的任务开展程序设计,这种开放的形式为真正的拓展进行铺垫。在拓展部分实现了分层教学的目标,部分学生的设计能够结合本课所学,如再增加一个下落的坏桃子,也有学生运用以前的知识在蚂蚁角色上动心思,制作了双人游戏。
精炼提问语言:改变之前为了程序设计而程序设计的提问方式,将问题引导的重点从技术转移到情境,激发学生制作欲望,让学生知道自己为什么要这么做,而且想要主动做。
增加学生问的机会:增加学生提问的环节,让学生表达自己的疑惑,并请已理解的学生解答。而隐藏的问题,如随机数如果设定的范围和舞台坐标范围一样大,桃子的初始位置若出现在边缘,“碰到边缘就如何”这一脚本就会出现不理想的结果。学生并没有发现这个问题,因为计算机给出的随机数大概率不会出现在边缘位置,但无论如何这个漏洞是存在的,违背了程序设计的严谨性、科学性。教师故意引导学生发现并提出这个问题,激发学生去解决,也给学生树立程序严谨的意识。
4.同伴的观察记录和群体研讨意见概述
因为图示的修改,课程脉络变得清晰,学生也更加清楚程序设计任务。但图示中的任务开放性太强,教师没办法做到收放自如。游戏初始任务过多,容易打消学生制作的兴趣。
教师提问更加精炼,点到为止,同时增加了学生问的机会,任务完成率更高。在创新制造部分,已经给学生很大的空间进行创编,在基础任务部分可以适当地封闭任务,让学生快速掌握应知应会,再在拓展部分充分发挥自己的实力。
5.第三次实录片段和实景描述
修改游戏初定任务:去除冗余的任务描述,提高学生阅读任务的欲望。也不在游戏设定部分花过多的时间描述,以设计蚂蚁接桃子游戏的情境激发学生快速完成桃子下落任务,便于后面重难点的突破。
基础任务封闭:如果桃子被蚂蚁接到就隐藏,学生判断是谁在什么情况下发生了什么,结合以前学过的侦测,完成封闭任务,给拓展任务留更多的时间。
趣味游戏设计引导修改:问题引导学生观察目前的脚本,小组讨论可以怎么修改游戏。学生有的想到可以在原有的脚本上进行修改,也有的想到增加新脚本。学生先汇报,启发还没有想法的学生。留有足够的时间给学生逐步完成自己的设计,带着目的去制作一个有个性的游戏。
增加体验时间:学生们的作品富有创意,增加玩游戏的环节,让“我是游戏设计师”的情境更加完整,增加学生的体验感。
● 教学反思与教学设想
1.问题的提出应关注学生情感需求
在本次课例研究过程中,笔者体会到真正让学生感觉到满足感的是自主解决问题、设计创意游戏、作品获得同伴喜爱,这往往超过了学会一段脚本带来的获得感。因此,教师应注意程序设计任务前期的热身,激发学生的情感共鸣,可以设置丰富的情境,如游戏比赛PK、导演情景剧、游戏设计家等。以任务为形式的问题提出也要满足学生的情感需求,要让学生有阅读的欲望、挑战的欲望,同时要考虑到学生已有的知识储备,问题既要有挑战性也要有挑战的可能性。问题的设置则应是封闭式问题与开放式问题相结合,既保障学生掌握基础知识与基本技能,又满足个性化探索需求。
2.图示出示要发挥其意义
图示在这里作为一份学案,应是与课上的环节相辅相成、相互促进的。图示之间应存在联系,而非相互独立,应做到在课程结束的时候,不仅教师手中的图示完成,学生头脑中也建构了整节课的完整脉络。这要求图示的出示要根据学生的年龄、个性特点选择形式,也要根据任务的难易程度,关注任务在本课的地位,设计出相符的形式,让图示的出示有意义。问题与图示的完美结合,需要以问为形式的任务和教师问题的巧妙引导的辅助,图虽然是铅印在纸上了,但問题却是灵活的,它赋予了图示灵魂。
3.“图”“问”结合要注意前后知识点的关联
基于“问题导向”与“图示载体”的图形化编程课也要注意课与课之间知识点的联系,图示要充分运用这些联系,采用提炼、迁移的方法,帮助学生夯实基础,掌握新技能。教师的提问要有意识地结合情境激发学生运用已学知识尽量解决,再引导学生发现新脚本去解决新问题。图形化编程的每个内容的学习并非程序独立,千变万化的程序搭建能够产生各种效果,只有培养学生处理脚本问题的能力、创新程序设计的能力、活用脚本的能力、解决生活问题开展程序设计的能力等,才能实现图形化编程学习的真正意义。