马莉
(珠海市斗门区和风中学,广东珠海 519000)
在高中程序设计的课堂教学过程中,笔者困惑于一旦不给学生提供程序流程图,大部分学生就不能完成课程目标。直到笔者看到中华人民共和国教育部制定的《普通高中信息技术课程标准》(2017年版)一书中提到高中信息技术学科核心素养由信息意识、计算思维、数字化学习与创新、信息社会责任四个核心要素组成。其中关于“计算思维”的解读是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动[1]。
App Inventor是一款谷歌公司开发的手机编程软件,它是一个完全在线开发的Android编程环境,抛弃复杂的程式代码而使用积木式的堆叠法来完成Android程式,这一特征尤其适合应用在中学信息技术的编程教学中。而目前计算思维的研究缺乏实践性的研究,在课堂环境中鲜有落实[2],因此笔者将研究重点放在基于培养学生计算思维的高中信息技术课堂教学设计与实践。
自2006年卡内基.梅隆大学的周以真教授提出“计算思维”的概念之后,计算思维便在世界信息技术领域掀起了研究热潮。目前关于计算思维概念的界定有问题解决说、系统说、过程说、活动及方法说、工具说几个方面[3],其中问题解决说在业界得到的共识比较高,我国《普通高中信息技术课程标准》也是将计算思维的落脚点放在解决问题上,认为“计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思想活动”。因此,将解决问题作为计算思维的核心要求是符合高中信息技术教学的实际的,本研究在教学活动的设计上也是基于问题解决而展开。
1.文献研究法
2.归纳演绎法
通过分析、比较、抽象等方法,在已有学者的研究基础上提出基于培养学生计算思维的高中信息技术课堂教学设计模型。
3.问卷调查法
课前的问卷调查帮助笔者了解高一新生的信息技术学习现状与学习心理,为后续教学设计提供了参考,对于教学起点的定位十分重要。
4.观察法
教师在学生的学习过程中充当观察者的角色,为教学实施提供丰富的个案研究,也可以对单个学生做出更加准确的评价。
“表达差异”又可细分为近义词、词义扩大(可以根据语境具体化)、词义增加(表示强调)、词义相对(译者用了相反的思维来翻译术语)、使用相对的普通词。“语法差异”又可细分为定语修饰(不同形式的定语)、定语修饰(介词不同)、名词性术语译成句子、从句、动词短语、介词短语、名词术语译成现在分词、名词术语译成形容词或过去分词作定语。
5.访谈法
课后教师与个别学生的访谈,可以让笔者听到学生最直接的感受与想法,深入探索学生计算思维学习的历程,为后续教学改进提供一手的资料。
App Inventor是一款快速开发移动应用的设计工具,它提供了基于web的图形用户界面设计工具,编程部分则是将语言块像玩拼图游戏一样拼接在一起。App Inventor基于网页开发的特点使得它不需要投入更多的教育经费,因而在教育领域可以进行广泛的应用。它可视化的编程模式大大降低了编程的难度,对学习者计算机编程的基础要求不高,这些都和我校学生的学习现状十分契合。近年来,谷歌为了推进App Inventor的学习与创新,借助App Inventor培养学生的计算思维,在全国多个地区举办中小学教师培训,同时组织过多届中小学生的竞赛,得到了国内众多教师和学生的积极响应,因此笔者相信应用App Inventor在编程教育中培养学生的计算思维是可行的。
图1 基于计算思维的课程架构
App Inventor是快速开发移动应用的设计工具,它结合教育功能,把程序设计的思想通过代码块的拼接实现,它的这一特征尤其适合应用在中学信息技术的课堂教学中。我校也开设了这门课程。我的课程整体设计是每节课让学生在一个小任务的驱动下学习,不断完善程序设计的相关知识。学生在开始的几节课里学习兴趣浓厚,积极参与,进步很大,课堂任务完成效率比较高。我以为学生的程序设计能力有了一定的基础,在后面一节课《贪吃球》的教学过程中,我把之前既定的教学环节“参照程序流程图编写程序”故意删掉了,看看学生能不能自己设计程序并实现,结果令我大跌眼镜,只有几位学生能够独立完成,并且耗时很久,而大部分学生无法实现编程。课下我努力反思,怎么少了一个流程图学生就做不出来了呢?
在2017版《普通高中信息技术课程标准》中指出,计算思维是学生信息技术学科需要具备的核心素养之一,如果学生缺乏这项能力,就无法在信息活动中采用计算机处理问题的方式形成解决问题的方案。
本研究的课堂教学设计选择了ADDLE教学设计模型[4],它体现了科学的教学设计流程:1)学习者、学习内容分析;2)设计教学的策略与活动;3)制定详细的课程实施方案,开发课程教学所需要的材料;4)实施和开展教学活动;5)进行教学评价。ADDLE教学设计模式如下图所示:
图2 ADDLE教学模式流程图
李艺教授尝试把学科核心素养细化为三层架构,最底层是“双基层”,以基础知识和基本技能为核心;中间层是“问题解决层”,以解决问题过程中所获得的基本方法为核心;顶层是“计算思维层”,指在系统的学科学习中通过体验、认识及内化等过程逐步形成相对稳定的思考问题、解决问题的思维方法和价值[5]。笔者认为这个三层架构凸显了计算思维的核心本质——问题解决,能够很好地被迁移到计算思维的课程架构中,但笔者做出了相应的修改,李艺教授原架构图是三层柱状图,笔者将其修改为三层锥状图,旨在突出下层结构的基础性以及上层架构的升华性,更能凸显计算思维习得的指向。如下图所示:
图3 基于计算思维的课程架构
笔者在上面生成的基于计算思维的课程架构的基础上,设计了教学设计模型,如下图4所示。
图4 基于培养学生计算思维的高中信息技术课堂教学设计模型
双基层的教学活动以教师的讲授和学生的体验为主,教学内容主要是App Inventor中组件及其属性的应用和内置块的调用,设计意图是通过老师的介绍让学生对App Inventor的操作尽快地熟悉起来,掌握组件的设计,是整个学习的最基础阶段。
问题解决层中教学活动的设计主要是基于协作与探究的任务式学习,教学内容涉及顺序结构、选择结构、循环结构、变量、列表、过程这些知识点,设计意图是让学生在每节课的任务中掌握App Inventor程序设计的核心编程思想,在学生解决问题的过程中逐渐培养学生在建模、分解、抽象等方面的计算思维,是整个学习的重要阶段。
计算思维层的教学活动设计主要是基于探究与创新学习,学生的学习活动依托项目展开,设计目的是强化学生编程中分解、抽象、概括以及评价等方面的计算思维,最终目的是学生能够利用已有知识解决新的问题。值得一提的是在本模型中,计算思维并不是在顶层“计算思维层”中习得的,计算思维的培养与习得在第二层中早有体现,在顶层中得到了升华与迁移。在顶层所体现的内容应当是计算思维的最高级目标——利用计算机解决问题的过程与方法,迁移到与之相关的其他问题解决中。项目学习会给学生提供一个探究与创新的舞台,在完成项目的过程中学生的计算思维应该能够得到不同程度的提高。
教学设计的注意事项:
1.双基层强调体验,教师讲授是尽量选择组件设计丰富,编程易于实现的案例。一方面让学生快速熟悉组件及其属性设置,另一方面激发学生的学习兴趣,树立学生的编程信心,这点对笔者所在这类学校还是很有必要的。
2.问题解决层强调引导,每节课选取的学习任务要有针对性,教师对程序的算法教学可以借助流程图展开,但不能让学生依赖流程图编程。教学的推行要从教师创建流程图逐步过渡到学生创建流程图,教学设计需要将计算思维的抽象、分解、迭代、递归、逻辑等内容以难度渐进的梯度分散到每节课的教学内容中。教师的课堂评价和反馈必不可少,教师适当的干预和启发对于学生计算思维的习得至关重要。
3.项目的选题需要由教师把关,项目学习前期设计与规划对于项目能否有效开展起决定性作用,这个环节少不了教师的监督与指导,项目进行过程中教师还可以转变成参与观察者,对单独学生计算思维的习得情况进行质性评价,在评价过程中教师亦能反思问题解决层教学中的得与失。
笔者任教于珠海郊区的一所农村高中,过半生源都来自于农村家庭,学生中考排位区段在珠海市的七千名之后,不论是学习成绩还是学习习惯都差强人意。因此,即使新教材已然落地,但也不是完全适用于我校学生,笔者和科组同仁必须以学生为主体,探究更加适合我校学生的课程及其教学设计。
在开学伊始,笔者设计了一份针对高一新生的问卷调查,见附录1。问卷调查的结果显示,92.5%的学生对计算思维一无所知,79.8%的学生不能够用计算思维解决数学问题,“和同学一起合作”是学生最喜欢的信息技术学科学习方式,占总比例50.3%,其次是“老师边讲,我们边做”,学习信息技术最大的困难是“没有兴趣,不喜欢学”,占总比例的41.7%,其次是“没有养成良好的学习习惯”。
综上所述,学生对计算思维的认识基本空白,运用计算思维解决问题的能力有待培养,对信息技术课程的学习很大程度上依赖兴趣,这对教师的教学设计提出了极高的要求。
本研究在珠海市斗门区和风中学2018级高一新生中笔者任教的8个班级中展开。学生通过15个课时,完成App Inventor课程的学习。在学生自我评价表中,我们发现在完成本课程的学习之后,学生对程序语言设计中有很好的认知,在项目实施过程中能够对任务进行分解,采用计算思维形成解决问题的方案,与此同时,学生在团队合作、批判性思考等方面也大有进步。
课下笔者选择了几位学生进行访谈,主要涉及在项目中表现非常积极的学生,在项目学习中表现不积极的学生和爱提问的学生这三类。笔者设计的访谈问题关注学生学习的主观体验和感受,了解学生的学习困难以及对课程的看法。访谈中无论基础好坏的学生都表示自己在编程方面收获很大,也能认识到计算思维在编程中的重要作用,并且能够运用计算思维解决课堂问题,学生对课程和教师整体都持肯定态度。
由于目前我国高中信息技术学科领域没有权威的关于学生计算思维的评价量表,所以本研究主要采用质的研究方法,并没有量化的数据进行教学前后以及实验组、对照组的数据对比,笔者也期望今后能够完善这部分研究。
综上所述,笔者提出的基于培养学生计算思维的高中信息技术课堂教学设计模型在高中信息技术课堂教学中具有很强的操作性,通过本模型的实施,确实能够有效地提高学生的计算思维,让学生学会运用编程的思维去解决问题。同时,笔者认为本模型具有很强的迁移性,它不仅适用于App Inventor的课堂教学,也同样适用于其他的编程工具的教学,可以给一线教师提供参考和借鉴。