陈英
[摘 要]随着《新一代人工智能发展规划》文件的颁布,我国吹响了抢占人工智能全球制高点的号角。教育部颁布的2017年版新课标,大幅提升了在编程、计算机思维、算法等方面的思维要求。如何上好高中编程课,如何培养学生的计算机思维,关键在提高课堂有效性。抓手何在?教师可以在教具上做文章。
[关键词]自制教具;高一;编程教学;案例研究
[中图分类号] G633.67 [文献标识码] A [文章编号] 1674-6058(2019)30-0062-02
一、新课改背景下教具的价值确认
随着《新一代人工智能发展规划》文件的颁布,我国吹响了抢占人工智能全球制高点的号角。该规划指出,在中小学阶段设置人工智能相关课程,逐步推广编程教育。2018年1月,教育部颁布2017版新课标,其大幅降低了对基本软件使用的要求,大幅提升了在编程、计算机思维、算法等方面的思维要求。
如何上好高中编程课?如何培养学生的计算机思维?关键在提高课堂有效性。而如何构建高效课堂,关键在“四到”,即眼到、口到、手到、心到。
如何开启深度学习模式?抓手何在?教师或许可以在教具上做文章。
1.丰富教材,提升教师素养的添加剂
广义的教材,包括课本及与课程有关的丰富的学习资源,从形式上看,有纸质的,也有数字的;从内容上看,有课程内的,也有课程外的;从开发主体看,有专家的,也有教师的。蒙氏数学通过“游戏”让孩子对复杂、抽象的数学产生浓浓的兴趣,其抓手就是丰富的教具资源。而教师要设计这样高效的教具,必须具备扎实的学科基本功和学科素养。只有对本学科的关键知识点、大概念信手拈来,才能设计出大道至简的教具。
2.点亮课堂,激发学生兴趣的催化剂
良好的开端,是成功的一半。兴趣是学生最好的老师。只有上课后5分钟,牢牢抓住学生的眼睛、耳朵、嘴巴,才能最大限度地激发学生的学习兴趣,为后续学习助力。自制教具结合学生身边的问题,利用生活中常见材料进行教学活动,取材容易,制作简单,生动有趣,能自然地引起学生浓厚的兴趣,激发他们的探究欲望。
3.突破难点,破解学习障碍的助推剂
在教学实践中,很多知识点的概念和特征都非常抽象,通过传统的讲授方法很难让学生真正理解。如何突破教学难点?我们必须另辟新径,让知识点自己“说话”。教师可采用各种手段化抽象為直观,让学生在轻松愉快的学习氛围中,不知不觉地掌握了核心知识点。
二、高一编程教学之“困”
笔者曾对高一两个班的学生进行了编程学习方面的问卷调查,共回收有效问卷74份,其结果如下:
从题1和题5可以看出,对于编程学习,学生有较强的学习内驱力,也能意识到编程学习对自身计算机思维等方面的重要作用。
从题2可以看出,学生更倾向于探究和讨论后的“顿悟”和“理解”。在编程教学中,教师的作用是“启”和“发”,学习活动的主体是学生。
题3和题4反映出在编程学习中,学生想学,但存在较大的困难,呈现出明显的矛盾心理:思考不动,教师讲解,模仿为主;自己探究,能力不够,失败居多。
要解决上述问题,路在何方?教师又该如何作为?也许可以在“启发”教学上下功夫!
三、自制教具在高一编程教学中的应用案例
在编程教学中,使用自制教具提升课堂的有效性,从使用目标上看,大致可以分为以下三种情况:一为激趣导入类;二为过程演示类;三为推理验证类。
案例1:二进制猜数字游戏类教具
1.设计意图
猜数字游戏主要演示二进制—十进制的转换过程,将抽象问题形象化。设计4张卡片,游戏者随机选择0—15中的任意一个数字,只回答4个问题,你就能猜出他选择的数字。
2.游戏规则
卡片4—1从左到右依次放置。
请游戏者从0 —15之间任选一个数字,不要告诉猜数者,并依次回答4个问题:
(1)是否在卡片4中,在则卡片上放置1,不在则放置0
(2)是否在卡片3中,在则卡片上放置1,不在则放置0
(3)是否在卡片2中,在则卡片上放置1,不在则放置0
(4)是否在卡片1中,在则卡片上放置1,不在则放置0
答案对照表(卡片4 —1):
0000—00100—41000—8 1100—12
0001—10101—51001—9 1101—13
0010—20110—61010—10 1110—14
0011—30111—71011—11 1111—15
3.使用说明
假设游戏者选的是10,必然回答如下:
在卡片4中,猜数者在卡片4下放置1;不在卡片3中,猜数者在卡片3下放置0。
在卡片2中,猜数者在卡片2下放置1;不在卡片1中,猜数者在卡片1下放置0。
如下图所示:
猜数者很快猜出,游戏者默选的数字是10。
4.教学后记
在使用二进制游戏教具后,学生的学习兴趣和专注度有所提高,对后续学习也有助益。
案例2:冒泡排序程序过程演示教具
1.设计意图
冒泡排序是编程学习中的基础和难点,主要考查学生对数组和双重循环的理解和运用。传统教法,以教师讲授为主,学生参与度不高,最后的结果是听得懂但不会写。如果自制简单教具,将冒泡排序的过程完整展现,对学生理解冒泡排序的思想和程序实现必将很有帮助。
2.使用说明
打开“冒泡排序.xls”,启用宏,单击“创建”按钮随机产生6个0 — 9的数,单击“第一轮”,直观演示一轮排序,找出最大数,并将其放置到数组末尾的过程。单击“第二轮”再次呈现在剩余5个数中,找出最大数,并将其放置到数组末尾的过程。整个数组经过5轮,最后实现6个数从小到大的排序。
3.教学后记
通过这个自制教具,学生对冒泡排序的核心思想有了较为深刻的理解,能够比较轻松地完成内层排序,最终,在教师的层层启发下,实现冒泡排序的核心代码。
案例3:字符匹配程序推理验证教具
1.设计意图
遍历是数组题知识点的基本技法。通过循环和判断的密切配合,可以解决生活中大批量的数据匹配问题。教师可使用简单材料自制教具,对该算法进行推理验证。
使用硬纸卡模拟Text1中的源字符串,Text2中存放待匹配字符,Text3中显示待匹配字符的个数。
2.使用说明
师:请同学们思考解决该问题的算法,尝试用自己的語言表述出来。
生:从头到尾一个一个取字符,与Text2中的待匹配字符比对,若相同则将计数器加1。
师:根据同学们的思路,我们使用小卡片来模拟验证一下该算法的可信性和正确性。
启用小哨兵i,初始位置在第1个位置,对应字符为“A”,与Text2中的待匹配字符比对相同,计数器K+1,小哨兵后移到第2位,不匹配,后移到第3位,不匹配,后移到第4位,不匹配,后移到第5位,匹配,计数器K+1,匹配结束!最终计数器K=2,K的值即为匹配字符个数,验证完毕,该算法可行。
3.教学后记
利用自制教具模拟问题解决的完整过程,一则,可将“思维可视化”,帮助学生更好地理解和解决问题;二则,可对算法进行模拟验算,从而验证算法的正确性和有效性;三则,学生和教师在模拟验算的过程中,获得了新的体验和启发。
总之,要上好高中编程课,培养学生的计算机思维,关键在于提升课堂有效性,通过各种途径促进学生深度学习,让理解真正发生。
[ 参 考 文 献 ]
格兰特·威金斯,杰伊·麦克泰格.追求理解的教学设计[M].上海:华东师范大学出版社,2017.
(责任编辑 柳 紫)