聋校编程教学中听障学生计算思维的培养策略
2018-10-20孙继红
孙继红
摘要:本文对Swift Playground进行了分析,基于软件理念的启发,作者进一步结合自身教学实践,探讨了聋校编程教学中听障学生计算思维的培养策略。作者认为循序渐进的课程规划、寓教于乐的情境创设、问题导向的教学实施和思维外陈的工具运用有助于听障学生计算思维的形成与发展。
关键词:Swift Playground;编程教学;听障学生;计算思维;策略
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2018)18-0035-04
自2006年周以真教授首次提出计算思维概念至今,计算思维已逐步成为人们解决问题的一种重要思维方式。[1]ISTE于2016年6月发布的《学生标准》从7个维度28项指标进一步明确了计算思维、创新思维、批判性思维、设计思维、问题解决能力、策展技能、社会与情感技能等都是学生应对未来数字互联世界所必备的基本思维与技能。[2]教育部2018年1月正式颁布的《普通高中信息技术课程标准(2017年版)》中,则明确将计算思维纳入学科核心素养。[3]
而针对语言发展相对滞后、抽象思维相对薄弱的听障群体,应如何在聋校的信息技术课程教学中切实有效地落实计算思维的培养、促进听障学生学科思维的发展和学科素养的形成呢?针对这个问题,笔者基于对Swift Playground的分析并结合多年的学科教学实践,尝试探讨聋校高中编程教学中听障学生计算思维的培养策略。
● 基于游戏的编程学习软件带来的启示
Swift Playground是苹果公司开发的一款基于iPad的编程学习软件,适于零基础学习者在基于游戏化的任务情境中,通过逐级闯关逐步习得Swift语言,并最终学会运用Swift语言独立编程。整套学习软件分为学习编程1、学习编程2和学习编程3,三级进阶。软件具有如下特色。
1.情境创设,寓教于乐
Swift Playground的设计遵循了从游戏参与到游戏创建的发展规律,引导学习者逐步从规则明确、难度递增的闯关参与过渡到世界建构、规则自拟的游戏创建。在可视化的情境中,学习者每发出一条指令,都可以从角色的动作执行中得到适时反馈。
2.规划渐进,循序导航
Swift语言本身是一套面向对象的程序设计语言,有着特有的语法结构与体系,涉及类、属性、事件等概念,对于初学者而言是一个不小的挑战。但Swift Playground的课程规划循序渐进,难点分散,从易到难,从简到繁,切合了零基础学习者的认知规律,有助于学习者在夯实双基的前提下较顺利地实现从面向过程的程序设计到面向对象的程序设计的过渡与迁移,逐步习得并掌握相应的语法规则,从而学会正确地运用设计语言实现独立编程。
3.善启思路,重培思维
Swift Playground非常强调学习者计算思维的培养,特别是抽象和模块化能力的培养,这有助于学习者养成模式识别意识,形成功能分解能力,为计算思维的培养奠定扎实基础。
● 编程教学中听障学生计算思维的培养策略
Swift Playground的设计理念是“人人能编程”,基于这样理念而开发的编程学习环境通过寓教于乐的情境创设、循序渐进的课程规划及重培思维的教学设计确实有助于学习者计算思维的形成与发展。那么,在聋校的编程教学教育中能否有效地落实“人人能编程”呢?笔者结合多年聋校信息技术教学实践经验,提出了聋校编程教学中高中听障学生计算思维的培养策略。
1.循序渐进,化艰涩为明了
编程学习是培养学生计算思维的重要途径,但是“编程教学很困难”却是大多数聋校信息技术教师的切身感受。笔者认为,面向抽象思维相对薄弱、逻辑思维缺乏训练的听障学生,从形象直观的编程学习环境入手逐步过渡到一门具体程序设计语言的学习是聋校编程教学化繁为简、化难为易,从而达成循序渐进落实计算思维培养目标的有效路径。
笔者所在学校在高预和高一年级,面向全体学生重点开展可视化环境下的通识性编程学习,学生在这两个阶段并不接触具体的指令和语法,而是借助系统提供的命令块来控制实物机器人或虚拟角色(见表1)。可视化环境与工具能够将抽象的程序结果通过形象的方式直观呈现出来,有助于听障学生在观察、感知和体验的基础上,实现化抽象为形象、借形象明抽象的认知突破,从而更好地帮助学生理解程序与命令的控制作用。
高预年级的编程学习旨在引导学生在面向真实机器人的编程活动中通过合作学习初步认识程序及程序的基本结构。这个阶段的任务设计开放,重在培养听障学生的想象力、创造思维与协作能力,引导学生充分感知程控机器人的乐趣,同时初步形成设计问题、分析问题和解决问题的能力;高一年级的编程学习则是鼓励学生将自主探究与小组合作相结合,通过对虚拟情境下虚拟角色的控制,进一步理解程序的作用并學会依据问题的需要运用恰当的程序结构帮助角色完成既定的任务;高二年级的编程学习则是指导学生通过独立思考与小组合作借助已有的经验进一步学习和掌握一门具体的程序设计语言,学生需要在较系统地掌握相关语法的同时,通过问题分析恰当地设计算法并学会运用语言正确地编写程序解决实际问题,这个阶段重在发展学生的算法思维、分析问题的能力及运用程序解决问题的能力。
这样的课程设置使听障学生在过程亲历中充分体验了“实物控制—虚拟控制—抽象控制”逐级过渡,有助于其计算思维逐步实现从形象到抽象的发展与提升。
2.问题导向,化知识为能力
计算思维“是一个明确问题和制定解决方案的思维过程”。[4]计算思维的本质是抽象,计算思维的目的是问题解决。对于初学编程的听障学生,以问题为导向,在富有情境的项目活动中激发他们的学习兴趣,引导其在活动参与和活动建构中亲历分析、抽象、概括、分解、算法实现与调试等过程,有助于学生积极、主动地发展计算思维,化知识为能力。
以高预年级的程控DASH机器人教学为例,在学生能够运用基本命令实现顺序编程的基础上,笔者结合天气变化,适时设计了一个“天热了”的活动项目:天越来越热了,DASH心烦意乱,十分烦躁。咱们能不能给小DASH送一个电风扇,让它能够平静下来安然入睡呢?
针对这个问题并结合学生的认知特点,笔者引导学生通过小组合作讨论解决方案,并将项目分解为三个渐进的子任务:①天热,DASH很烦躁;②DOT变身电扇送风;③DASH逐步平静。
任务①旨在巩固旧知并引出新知。学生通过讨论能够借助已有经验尝试改变DASH的颜色、动作、声音和眼睛模式等来表现DASH的不同情绪状态和行为。在此基础上教师进一步抛出问题“如何表现出DASH十分烦躁”,学生可在思考并尝试重复执行相关命令组的过程中,切实感受到将重复执行的代码纳入到循环体以减少重复写程序的必要性,从而自然引出循环结构的学习。
任务②情境创设如下:DOT变身电扇。当摇动DOT时,扇叶开始转动,并发声“风来了”。当按下DOT的顶部按钮时,扇叶停止转动。这一任务在指导学生运用循环结构解決问题的基础上,重在引导学生基于问题情境学会分析事件的激发条件与循环的中止条件,并能够依据条件选择恰当命令来实现事件激发与循环控制。
任务③则要求学生结合已有经验运用循环结构进一步独立解决以下问题:DASH一直很烦躁,直到听到声音“风来了”,才渐趋平静,安然入睡。学生们通过合作与交流,共同分析循环中止条件,探讨并尝试DASH平静与安然入睡的状态表达与实现。
整个项目既有对循环结构新知的学习与运用,也有对顺序结构旧知的巩固与复习,还有对DASH与DOT协同工作的感知与体验,同时更有将较复杂问题分解为一个个小问题并逐步解决的探索与实践。计算思维的双基夯实与问题解决能力的培养在活动过程中得以自然体现,学生在充分体验编程乐趣的同时轻松自然地习得编程基本技能并在过程中锻炼了协作能力、分析和解决问题能力。
3.巧借视图,化内隐为外显
爱因斯坦曾强调:“发展独立思考和独立判断的一般能力,应当始终放在首位”。因此,进入到“算法与程序设计基础”课程学习阶段,笔者更侧重培养高中听障学生的独立思考能力。这个阶段,学生需要在掌握一门实际的编程语言基础上能够运用程序设计语言独立编写程序解决实际的问题。这对于听障学生而言是一个挑战。
在这个阶段的学习中,如何通过恰当的方式引导听障学生开展积极、有效的独立思考活动并让学生内隐的思考过程通过外显的方式呈现出来?笔者认为流程图和分析表是聋校编程教学中两个非常有用的工具。流程图是学生思维过程的呈现方式,而分析表则是学生分析程序的有效工具。将二者有机结合起来,能够恰到好处地实现“让这个思考过程通过能够观察到、能够加以分析的实际形式反映出来”[5]的目的。
在学生熟悉了基本语法后,笔者会教授流程图。学生们了解了流程图的组成元素之后,根据已知的、简单的程序写出流程图是其熟悉与运用流程图的第一步。而在之后的学习中流程图则被作为工具进一步用于程序的分析与问题的解决。这样的运用一方面有助于学生加深对流程图的认识,巩固流程图使用规则,另一方面也使学生的思维过程得以清晰呈现。通过学生独立完成的流程图,教师既能够及时捕捉到学生思维活动中的闪光点,也能够敏锐地洞察到学生思维过程中的梗阻点,为教师按照学生思维的规律性灵活而有效地调整教学的方向与节奏提供了可靠的依据。
分析表在分析程序的过程中有着不可低估的作用。下页表2呈现的是程序S=1+2+3+……+10的分析表。
从下页表2我们可以看出,分析表能够完整地呈现出每次循环执行过程中变量的变化。学生运用分析表分析程序,不仅能够细致地模拟程序的执行过程,而且能够通过对分析表的逐步填写,在思考的同时清晰地观察到相关变量逐次的变化,从而有助于学生找出规律,在得出较为准确的执行结果的同时能够进一步理解迭代思想与算法的实际运作机理。
在聋校的编程教学中恰当地运用流程图与分析表,将学生内隐的思维活动通过可视化的方式有序呈现,有助于教师敏锐地发现与捕捉学生思考过程中的亮点与问题;及时展现有代表性的思维成果,不仅能使学生分享他人的思想与智慧,而且也能使学生在比较中学会多角度地思考问题,从而逐步达到拓展思维、敢于创新的目的,实现提升聋生思维的广阔性与灵活性的目标。
● 结语
笔者曾经也对是否在聋校开设程序设计课程充满了担心与疑惑,但受基于Swift Playground的“人人会编程”理念的启发并结合多年的教学实践,笔者认为,只要能够在教学中遵循顺应学生思维规律性的原则,并积极探索相关的教学策略,编程教学不仅不是听障学生学习的障碍,反而能够更好地促进听障学生的思维发展,从而进一步提升学生的思维品质。
笔者相信,遵循听障学生的认知规律,在强化感知与体验的基础上,引导听障学生以问题为导向,在循序渐进的探究与尝试中借助可视化工具逐步发展和提升计算思维,听障学生也可以像普通孩子一样逐步发展和内化信息技术学科素养,形成并掌握应对未来数字互联世界所必备的基本思维与技能,从而更好地适应未来社会发展的需要。
参考文献:
[1]李艺,荆晓虹.引思维之路 辟计算之径[J].中国信息技术教育,2017(8):5-11.
[2]尹睿.未来学习者,你准备好了吗——美国ISTE《学生标准》解读及启示[J].现代远程教育研究,2018(1):58-67.
[3]中华人民共和国教育部.普通高中信息技术课程标准(2017版)[M].北京:人民教育出版社,2018:39-43.
[4]Cuny, J., Snyder, L., & Wing, J.M. Demystifying computational thinking for noncomputer scientists[EB/OL].(2013-10-05).http://www.cs.cmu.edu/~CompThink/resources/TheLinkWing.pdf,\.
[5]B.A.苏霍姆林斯基.给教师的建议[M].北京:教育科学出版社,1984:220-222.