因三、四月份居家学习的中断,“小图灵工坊”到今天为止虽然只上过27次课,但我的“小图灵”们已经开始不一样了。回想第一节课,孩子们不知“程序”为何物、不会用键盘打字,二年级的孩子们甚至连鼠标还不会用。今天,他们已经开始走进计算机科学的神秘殿堂,认识了计算机科学领域的人物,知道了一点计算机科学有关的常识,开始尝试用简单的代码与计算机交流……学生的进步,一直是老师坚持的动力,静下心做一下小结,作为后续教学改进的参考。
行为习惯有所改善
“小图灵工坊”成员是通过班级推荐、专业考查确定的人选,毕竟这属于兴趣启蒙类的非必修课,课程内容的独特性也决定了它并不是每一个孩子都能适应。
能成为“小图灵”成员的孩子,日常学业水平算是比较好的,而他们的行为习惯有时候可能会被忽视:个人物品乱丢乱放;听讲、练习时翘二郎腿、晃凳子、歪靠桌子上、随意插嘴、吃手指……;下课后不能自觉将物品归位、凳子乱放,丢三落四……发现这些问题之后,我整理了如下“上课须知”:
有4个孩子是完全不存在这些问题的。于是,我把他们定为其他成员的“标杆”,为孩子们树立短期目标;展示不同领域工作、会议、谈判的场景,让他们把自己想象成其中的某个角色,建立长期目标;上课时,一旦发现某个孩子出现这样那样的问题,及时、果断制止,适时干预不良行为;对于每一个有改善的孩子,及时表扬,肯定他们的点滴进步……
虽然每天只和这些孩子们相处在课后延时服务时间,但关乎每个孩子成长的细节不容忽视,这是教育者的责任。
现在,孩子们在学习期间已经表现出不同程度的改善了,期待他们能在任何场合保持良好的站、立、行的姿态,能把个人物品管理得井井有条……这些目前看起来微不足道的行为习惯,终会在学生未来学习、工作的某个关键时期发挥作用。
学习热情已然凸显
五月份,学校进入夏季作息时间,有个别学生选择退出“小图灵工坊”。这门课只在课后延时服务时间开课,的确对小学生的课余安排会产生一些影响,因此,对每一个自动离开的,我都表示理解和支持。后续的学习过程中也会根据每个成员的学习状态,对不适合继续学习的孩子提出中止该课程的建议。
难能可贵的是,我的“小图灵”们从来没有上课迟到的。各自班级放学时,他们总是想方设法尽早到教室,将书包、外套整齐地放在指定的位置,打开自己的专属笔记本电脑。他们或者继续完善前一天的程序,或者练习写C++的代码,没有一个人会偷偷上网玩游戏之类的。有趣的是,偶尔有哪个孩子打开系统推荐的新闻、天气预报之类的,大概还没来得及看就会被旁边的同学监督。
尤其是“六一”儿童节前一天,特意安排了很少的任务,提前跟孩子们说明,写完程序的可以去器材区操作那些拼搭好的机器人项目。随着器材区的孩子越来越多,没完成任务的几个孩子开始坐不住了,有的小眼神儿不时飘过去。在我说没写完的也可以先去玩儿时,他们大都放弃了,但是有两个二年级和一个三年级的孩子仍然一动不动继续研究他们的程序,我走过去又提醒了一遍,这三个孩子表示他们要先把程序做完。于是,我一直看着他们不厌其烦地修改、调试,偶尔点拨一下,当他们终于在下课那一刻先后看到正确的运行结果时,他们笑得无比开心和满足。
短短20多天学习中,尽管我从未对他们课下提出过学习要求,仍不时有孩子告诉我“老师,爸爸买了一本书要和我一起学”“老师,我在家也装了C++”“老师,我把程序代码抄下来,这样回家也能经常看到”“老师,我在家练习时发现有个问题”“老师,程序框架我能默下来了”……
生为天才者凤毛麟角,芸芸众生中脱颖而出的往往是那些有热情、能专注的人。
计算思维正在发展
计算思维的一个显著特点,是善于把复杂的大问题分解成相对简单的小问题,然后一一解决。这种思维方式并不仅仅体现在编程学习中,也不仅仅存在于计算机科学领域。人工智能时代,可以说人人需要计算思维,这是高效解决问题的一种重要思维方式。在我的“小图灵工坊”课程中,发展学生的计算思维是很重要的目标,教学中,我一直将枯燥、抽象的专业知识转化为学生熟悉的生活实际,以浅显易懂的启发学生思考。
学习使用键盘时,我让孩子们先观察自己正在使用的笔记本电脑键盘,然后分享自己的发现。他们很快发现键盘的“秘密”:大致按功能键、数字键、字母键等区域分布;26个字母排列顺序与自己熟悉的完全不同;有的按键上只有一个“名字”,有的有两个,还有一个什么也没有;大部分键的大小、形状一样,但有些键长短不一……这样,我们可以化整为零,分区域、按使用频度循序渐进地掌握键盘。
很多人在使用计算机处理各种文件时,没有及时保存文件的习惯,或者等文件处理完之后才保存,有时候难免会造成不必要的损失,这不属于行为习惯的问题,而是属于思维范畴——“预测最坏结果并提前做好防范”。虽然C++在运行程序时会提示保存,但仍然有必要让孩子们知道原理。提出“程序运行前发生了什么?”的问题,出示如下示意图,以孩子们生活中必不可少的吃饭问题类比:“你自己”是CPU,“饭(菜)”是要处理的程序,“煮饭的锅”是硬盘,“你的小碗”是内存,刚好今天妈妈做的是汤,为了让你喝的时候不那么烫,有时候会用“备用的碗”用来放凉热汤,这就是“Cache(缓存)”。通过这样的类比,抽象的程序存储问题就很容易理解了,自然而然能做到随时保存程序而不是等到测试时才保存。
学习变量时,我仍然用吃饭问题进行讲解:定义一个变量意味着申请了一段存储空间。变量可以比作“盛放食物的容器”,不同类型的数据就像不同种类的食物,你需要的食物少可以使用小一点的容器,米饭、饺子、面条、炒菜、整条鱼、汤等不同的食物需要不同类型、不同大小的容器;变量的类型要与程序需要处理的数据匹配。
用程序求解数学问题,其实是让程序像“人”一样思考,找到解“一类题”的方法,而不是解一道具体的问题,以孩子们目前的数学学习经验,并不具备模型思想,也不懂得如何从一些个别问题的解决中归纳出“一类问题”的解决方法。因此,我将数学问题的解决思路归纳为:分析问题——建构模型——确定变量——编写代码——测试程序,以具体问题为例讲解模型的应用。根据儿童认知水平发展规律,“小图灵”们目前在逻辑和抽象思维方面仍有待发展,“建构模型”这一环节大部分仍需要教师的点拨和讲解。
课程目前正在顺利进行中,虽然无法创造“短平快”的显性成效,但“小图灵”们的未来有无限可能,因为他们还是小孩子。未来,真正能够在计算机科学领域发展的寥若晨星,但并不影响当下学与教的热情。
教师在,课程在;学生在,课堂在。播下计算机科学的种子,每天的学习、每天的积累,说不定会在未来又增加一种可能。
如若转载,请注明出处:https://www.qiantuxiezuo.com/1171.html