核心素养视角下的初中编程教学研究

2021-08-30 09:52
中国信息技术教育 2021年10期
关键词:初中核心素养

摘要:本文以编程教学为落实核心素养的载体,分析了编程教学与信息科技学科核心素养的关系,并结合教学实践从信息意识的增强、计算思维的发展、数字化学习和创新的提升、信息社会责任的践行这四方面阐述了初中编程教学中落实核心素养的方法与策略。

关键词:核心素养;初中;编程教学

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2021)10-0109-04

当前,我国官方还没有关于中小学信息科技学科核心素养的具体要求,但就学科而言,需要有体系化的课程内容,就学生而言,需要符合其认知规律,因此,在中小学信息科技教育中仍要积极探索核心素养的落实途径。笔者在实践中发现,编程教学与信息科技学科核心素养的培养有着密切的联系,是培养学生核心素养的可行途径之一。下面,笔者将围绕信息科技学科中的增强信息意识、发展计算思维、提升数字化學习和创新、践行信息社会责任四大核心素养,结合所执教的初中年段分享教学研究经验。

编程教学与信息科技学科核心素养的关系

编程是一种人与计算机交流的方式,是人将解决问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,是计算机根据人的指令一步步工作最终解决问题的过程。其中包含三个要素:首先是“界定问题”,即人需要提出亟待解决的问题;其次是“分析问题”,即人需要有解决问题的思路、方法和手段;最后是“解决问题”,即人需要根据计算机的“思考方式”将解决问题的规则告诉计算机,让计算机解决问题。这些要素与核心素养有着千丝万缕的联系。

“界定问题”的关键在于界定什么样的问题。从微观层面来看问题来源于个人当下遇到的困难,从宏观层面来看问题来源于一个人长远的规划与理想。站在“立德树人”的高度,应将宏观问题的培养作为着力点,而这就需要学生具有良好的信息社会责任,将编程这项技能作为载体来解决对社会、对国家、对人类有益的问题。

“分析问题”的关键在于是否具备分析问题的思维和能力。用编程来解决的问题,需要用到计算机科学领域的思想,这就需要发展学生的计算思维;而要把思维落实到具体实践层面,还需具备相关能力,数字化资源与工具的应用能力就是编程所涉及的重要能力之一,这就需要学生具备数字化学习与创新的素养。

“解决问题”首先需要有“界定问题”“分析问题”环节作为铺垫,其次在具体操作时,发现新问题往往又要回溯到之前的环节,因此,它是一个具有流程性的复杂过程。能用编程来解决的问题,符合信息处理的一般流程,包括获取信息、处理信息、发布信息等步骤,这就需要学生具备良好的信息意识。

综上所述,如果将编程教学比作一辆车,那么信息意识就是车身,统领整个问题解决的过程;信息社会责任是方向盘,用问题的内容来控制车的行进走向;计算思维和数字化学习与创新则是思维与能力这两个发动机,是保障问题解决的动力系统。

编程教学中信息科技学科核心素养的渗透

1.编程教学中信息意识的增强

信息意识是指个体对信息的敏感度和对信息价值的判断,其表现形式为信息处理能力。用程序来处理信息相对于传统的方法而言,最鲜明的特点是自动化处理。程序具备自动采集、处理、发布信息的能力,在大数据时代,这是一种不可或缺的信息处理方法,这为其在编程教学中的落实提供了依据。教师可从学生的日常生活和学习经验出发,让学生在感兴趣的真实情境中采集数据,经过甄别与处理将其转化为有效的信息,并予以发布,从而正确认识数据与信息的关系,运用信息处理的能力指导个人的学习和生活。

在编程教学中,使用外部设备采集数据是一种常见的方法。在项目活动“智能声控画笔”中,笔者以测量教室内的音量这一内容为主题,让学生通过声音传感器来采集声音数据,并将其“画出来”(如图1)。任务伊始,学生将关注点放在如何将声音“画出来”,但真正深入任务后却发现难点并不在此,而在于:首先,除了自己的声音数据外还会采集到周边的各种声音数据;其次,即使是自己的声音数据,在短时间内也会采集到非常庞大的数量,对于后期处理来说非常不便。与这两个难点相比,“画声音”反而是相对简单的问题。学生想出的解决方案是“按顺序排队采集数据,一个人采集时其他人保持安静”“通过求平均值来压缩数据的量”。虽然学生使用的方案未必是最科学的,但在这一过程中他们深切地体会到数据的复杂性及在数据中提取有效信息的难度,也理解了生活中“为何需要使用录音棚”“为何语音识别有时不准确”等现象,增强了信息意识。

2.编程教学中计算思维的发展

计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动,是计算机科学领域所特有的解决问题的思考方式。因此,编程教学的重点并不在于教授学生如何编写代码,而在于培养计算机科学领域独特的思考方式,如能把问题形式化、抽象化、结构化,形成自动解决问题的方案,并予以迭代与优化。其最终目标是使学生将这种思维方式应用到生活中遇到的各种事件、行为中,并对其进行科学的认知与处理。

就一种思考方式而言,其必然具备情境迁移的特征,可以在不同的情境中转换、应用。因此,要发展计算思维,在编程教学中切忌只教授机械性的知识,还应关注承载关键学科概念与学科能力的核心知识。以如下页图2所示的编程教学的基本案例为例,此案例教师几乎都会讲解,其功能是使小猫不断移动。如果只是基于机械编程知识的教学,其教学过程会是这样的——步骤1:游戏开始时需要先加一个绿旗模块;步骤2:让小猫移动需要用移动模块;步骤3:因为要不停移动,所以要加重复执行模块。此教学过程花费10分钟的时间即可完成,学生也能顺利实现小猫移动的效果。但这种操作指南式的教学,对学生的思维发展没有帮助。而基于核心知识的教学步骤则是这样的——步骤1:想让小猫移动,可能会用到什么类别里的模块?(引出分类概念)步骤2:缺少绿旗模块小猫为什么不移动呢?如果老师没有说下课,你们会离开教室吗?(引出事件概念)步骤3:尝试把移动10步改为移动100步,观察小猫会发生什么变化?(引出参数概念)步骤4:点一下绿旗,小猫只移动一下,有没有什么模块可以让小猫不停移动呢?(引出循环概念)通过设问让学生不断思考与尝试,进而引出编程教学中的核心知识。虽然此过程会耗费更多的教学时间,但长此以往,可以让学生逐渐理解编程中所包含的计算机科学领域的思想与方法,从而发展学生的计算思维。

3.编程教学中数字化学习和创新的提升

数字化学习与创新是指个体通过评估并选用常见的数字化资源与工具,有效地管理学习过程和学习资源,创造性地解决问题,从而完成学习任务,形成创新作品的能力。从其定义来看,关键能力在于“学习”与“创新”,而数字化资源与工具则是提升能力的载体,因此,其核心理念是通过数字化学习提高终身学习能力与培养创新精神。要做到这一点,可将数字化学习融入开放的教学模式中,如主题式、探究式、项目式的学习模式等,引导学生在问题情境中进行数字化学习与创新活动,改变课堂的生态环境,让学生借助数字化资源与工具进行自主探索,在解决一个个真实問题的过程中形成对核心知识和学习历程的深刻理解,逐渐培养其终身学习的能力与创新精神。

编程教学的核心数字化资源与工具是程序设计软件,其特点是可将学生的想法以虚拟情境或模拟现实的方式予以动态呈现,以直观的形式与他人分享。具体在教学中可通过某一驱动性问题促使学生产生持续的探究,在探究的过程中不断进行评估与完善,最终形成可供展示的数字化程序作品,实现能力素养的提升。以程序作品《唐宋诗人知多少》为例(如图3),该作品的项目背景为李同学希望在学校传统文化宣传周中宣传唐宋诗词文化。该作品的设计思路经历了以下四个阶段。第一阶段:李同学希望用演示文稿的形式展示唐宋诗词,考虑到这种展示方式缺乏亮点,笔者建议其改用编程的方式以增加更多动态元素;第二阶段:李同学准备用程序动画的形式呈现诗词效果,笔者指出该想法虽有可圈可点之处,但作为一个展示作品,应增加与使用者互动的元素;第三阶段:李同学将程序编写为一个唐宋诗人的交互式问答系统,这样就实现了程序的动态人机交互功能,但他又发现了新问题,唐宋诗人数量众多,要将其都添加到程序中去工作量太大;第四阶段:李同学为程序添加了一个“使用者添加修改信息”的功能,这样程序中的诗人资料会随着使用者信息的添加而持续扩充,使得程序的资料库动态完善更新。在这一过程中,李同学以程序软件为数字化载体,根据既定任务目标,在不断完善想法、解决问题的过程中,对程序中“人机交互”的关键概念有了深入的理解,最终创新性地解决了问题,也通过程序制作中的数据收集、界面设计、系统架构、代码编写等环节提升了数字化学习能力。

4.编程教学中信息社会责任的践行

信息社会责任是指信息社会中个体在文化修养、道德规范和行为自律等方面应尽的责任。这是“数字土著”一代所面临的新问题,他们在享有信息技术带来的充分便利时,唯有担负起新的社会责任,才能成为合格的“数字公民”。具体来说,需要引导他们辩证地使用信息技术中的思维、方法、技术来科学认识信息社会的各种问题,理性、科学地做出信息化判断,从而自觉遵守信息社会的法律准则与道德规范,负责任地运用信息技术,使其方便自己的生活,服务国家的发展,造福人类,从而达到践行信息社会责任的目标。

要践行一种责任,首先需要了解这种责任的内涵,其次需要从内心对其认同并内化。几乎所有的信息化技术的背后都有编程技术的支持,因此,在教学中可选择贴近学生生活的信息化技术作为项目活动的内容,以逐层递进的探究模式让学生在理解编程技术背后的科学原理的同时,逐渐形成对信息社会负责任的态度。以“抽奖游戏的奥秘”为例,本课的项目背景为设计一个“抽奖游戏”小程序,具体流程分为“体验抽奖游戏”“设计抽奖游戏”“探究抽奖游戏”三个部分(如图4)。在第一部分,通过让学生体验模拟抽奖小程序,激发学习兴趣,引出本课的核心问题——抽奖游戏背后的程序原理。在第二部分,学生通过学习逻辑运算符和多分支选择结构等编程知识,自己编写程序再现了体验程序的效果,实现了从玩游戏的“体验者”到设计游戏的“制作者”的身份转变。在第三部分,让学生扮演“商家”的角色,思考如何修改程序的算法,使结果对自己更有利。在此基础上,进一步讨论现实中存在的“赌博机”现象,让学生从程序算法的角度理解赌博的危害性,体会到践行信息社会责任的重要性。

现代化的人才越来越需要原理性、创新性的思维,过于追求知识技能的教育模式必然会被时代所淘汰,关注学科核心素养的培养是现代化教育转型的必经之路。编程教学只是学科核心素养培养的途径之一,当下我国已在各种领域、各个学科中播种下了核心素养的种子,期待若干年后观其开花结果,绽放于世界之林。

参考文献:

教育部基础教育课程教材专家工作委员会.普通高中信息技术课程标准(2017年版)解读[M].北京:高等教育出版社,2018.

猜你喜欢
初中核心素养
思想教育视域下公民核心素养教育的研究
如何培养学生的化学核心素养
联系式教学法在历史与社会课教学中的运用
音乐快乐教学的实践与探索
初中物理“问题—发现”式课堂的实践与思考
共情教学模式在科学课堂的构建与实施研究
计算机教学中存在的问题与对策研究
素质教育背景下初中教学管理目标研究
作为“核心素养”的倾听
“1+1”微群阅读