PBL视野下初中信息科技计算思维培育的探索
——以《人工智能入门》课程为例
上海市徐汇中学 王肖莲
摘要 近年来,计算思维作为信息技术学科核心素养越来越受到教师的关注。人工智能课程是体现计算思维内在价值的重要内容,它逐渐进入初中学生的课堂。作为一线教师,如何理解计算思维的内涵?如何在初中《人工智能入门》课程中融入计算思维?如何评价学生计算思维的发展?本文从核心素养的视角,提出培养计算思维的内容与框架。在初中“人工智能入门”课程中,探索以培养形式化、模型化、自动化与系统化的计算思维为目的的PBL教学培养路径。
关键字:计算思维 PBL 初中信息技术 人工智能
一、研究背景
(一)问题的提出
科学技术飞速发展,互联网、人工智能、大数据等新技术层出不穷,新技术更迭的本质是人的思维的发展,计算思维(Computer ing Thinking,简称CT)被认为是智能时代最重要的思维模式。2016年国家《普通高中信息技术课程标准》将计算思维作为主要学科思维纳入信息技术学科的核心素养;2017年我国发布《新一代人工智能发展规划》,标志着人工智能将走入中小学生的课堂;2019年笔者所在区开始在初中《信息科技》课程中推行《人工智能入门》模块的教学。
新的核心素养与教学内容无疑对一线教师而言是巨大的挑战。目前,以PBL教学模式在《人工智能》课程中培养学生计算思维的研究尚处于起步阶段。主要解决三个问题:如何理解计算思维的内涵?如何在初中《人工智能入门》课程中融入计算思维?如何评价学生计算思维的发展?本文结合实践研究,对此予以阐述。
(二)研究的现状
国外的计算思维教育早于国内,美国、英国、日本等国家都制定了详细的计算思维的内容与标准,例如,美国的K12的三维框架;英国的Computering课程,以及计算思维的五个核心概念等。美国的中小学人工智能课程不仅让学生学会编程、操纵机器人等技术,而且非常重视培养学生的思维能力。这些为国内开展计算思维教育提供了有价值的参考。
自2006年周以真教授提出计算思维的概念之后,计算思维受到国内外各个领域的广泛关注。经过十多年的理论研究与实践教学,计算思维的教育从大学逐步延伸至小学。在国内的基础教育领域,对计算思维较为权威的诠释来自于《普通高中信息技术学科标准》,还有一些专家提出了自己的见解,如李艺提出的计算思维三棱结构。目前中小学主要通过程序设计课程来系统地培养学生的计算思维,使用的可视化编程工具有Scratch、App Inventor、Koudu等。随着人工智能课程逐渐走进中小学课堂,一些教师意识到人工智能对计算思维重要价值,并开展了一些有益的探索。市外中学陈勇、顾佳敏在初中学段开展了基于Python的人工智能教学的探索,徐晶瑶在初中信息技术学科中开展面向计算思维培养的项目学习的实践研究,余燕芳、李艺在高中人工智能课程中开展了基于计算思维的项目式教学课程构建与应用。在教学模式上大部分教师仍然采用以教师为主,学生为辅的传统模式。一些专家与学者尝试探索新的更加适合培养计算思维的教学模式,王荣良认为问题式教学能够培养学生的计算思维;生诗蕊、刘晓玉等尝试PBL教学培养计算思维;夏雪梅开展了PBL教学本土化的设计的研究。关于计算思维较为全面的评价研究有王美玲的算思维评价微认证设计。
综上,国内对系统培养计算思维的教学内容、教学模式与评价标准尚不完整,需作梳理与进一步的探索,而国外的研究成果为我国一线教师开展计算思维教育提供了理论参考。
二、研究设计与实施
(一)概念的界定
1.计算思维
周以真教授提出的计算思维是指:运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[1]。
2.PBL
基于问题的学习(PBL)是指学生在教师的引导下发现问题,以解决问题为导向开展方案的设计、新知的学习、实践探索,具有创新特质的学习活动[2]。
(二)研究目标
1. 深入研究计算思维理论,通过课堂实践与经验总结,揭示初中生计算思维的特点及其发展规律;
2. 以《人工智能入门》课程为载体,探索PBL教学模式下有效培育计算思维的课堂教学方法、策略与模式,以及评价方法,形成系列案例,以及系统的培育方案;
3. 通过本项目研究,培养初中学生的计算思维。这具体是指结合生活情境,引导学生了解计算机科学的概念、原理与方法,将学习内容与思考的问题由形象化、具体化逐步转向抽象化、概念化。同时帮助信息科技学科教师加深对核心素养——“计算思维”的理解与认识,推动初中信息科技课程发展。
(三)研究过程与方法
本课题具体实践研究过程如下表所示:
表1 研究过程与方法
研究
阶段
研究内容
研究方法
研究成果
准备
阶段
研读计算思维与PBL相关著作,深入理解计算思维内涵,把握PBL教学的关键。通过知网、万方网搜索相关的情报资料,关注中学信息科技领域计算思维教育的最新动况,梳理国内外基础教育阶段培养计算思维的教学内容、模式与评价等研究成果。
文献研究
文献综述
实施
阶段
以《人工智能入门》课程为载体,根据计算思维的内容设计相关教学内容,以PBL模式开展教学实践,通过课例研究、展开实证探索,形成相关案例和操作方法等。收集教学中的数据,分析探索初中学生计算思维发展的特点。
实证研究
案例
总结
阶段
总结经验,以课堂教学为依据,提炼形成系统的培养初中生计算思维的操作路径与策略,形成一套基于《人工智能入门》教学的计算思维培养方案。
案例研究
研究报告
三、初步研究成果
(一)核心素养下计算思维的内涵与特征
2018版《普通高中信息技术课程标准》对具备计算思维学生作了以下描绘:能够采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决中[3]。课程标准从问题解决的过程对计算思维的特征进行了描述,可以归纳为形式化、模型化、自动化与系统化。抽象与自动化是计算思维的本质。
1. 形式化
形式化思维是真实世界通往计算世界的入口,它帮助我们从纷繁复杂的表象中看清问题的本质,界定需要解决的问题。这具体可以理解为找出解决问题的关键对象,抽象特征,分析对象之间的关系,用符号或者语言清晰地表达问题[4]。问题分解与抽象是形式化的主要方法,例如,理解计算机内部二进制是如何表示数据并进行操作的,用n边形表示多边形。
2. 模型化
模型化思维是一种构造思维,模型可以理解为解决问题的方案,它可以是一个表达式,也可以是解决问题的步骤。计算思维的模型化具有自身的特点,它需要判断、分析各种信息资源,合理地组织数据进行存储,使用计算机特有的顺序、分支、循环结构建立结构模型,运用算法形成解决问题的方案。分解与抽象是模型化的主要方法,例如,描述解决“带羊、狼、白菜过河问题”的步骤,用二分查找的算法解决价格竞猜游戏的策略问题。
3. 自动化
自动化思维即计算机实现问题的自动解决,可以理解为一种技能,或对工具的使用。例如编写Scratch程序解决问题,使用Excel完成数据的统计。
4. 系统化
系统化思维是指总结归纳出一套解决问题的过程与方法,加以迁移与应用[5]。例如,设计程序解决问题的一般过程、机器学习的模型、完整调试程序的策略。
综上,教师可以以计算思维的形式化、模型化、自动化、系统化为抓手,立足于核心素养,正确理解计算思维的内涵,将计算思维融入教学设计,增加计算思维教育的可操作性。
(二)计算思维的培育内容与PBL教学模式
如何处理计算思维与教学目标之间的关系?将计算思维融入教学设计?李艺、钟柏昌提出的核心素养三层结构,即学科思维、问题解决、学科知识[6],并认为外在的知识要发展为人内在的素养,需要经历初级的“学科知识”层的积累,并经过“问题解决”层的应用,才能在“学科思维”层内化为人的世界观与方法论[7]。在此基础上,本研究梳理了教学活动与计算思维的关系,如图1所示。教学活动的开展需要以一定的知识与技能为基础,在教学活动中学生经历解决问题的过程,不断分析思考、实践求证、反馈调适,逐步形成形式化、模型化、自动化、系统化的思维方式,从而达到培养计算思维的目的。该模型为计算思维融入实际教学提供了理论依据,增加了可操作性。
图1 计算思维与教学活动的关系模型
1. 计算思维的培养内容
计算思维的落地需要有更多细化、可操作的要素。尽管国内的课程标准在既有研究的基础上给出的界定相对概括,却没有明确计算思维的构成与要素。因此本研究借鉴了国外的研究,综合美国美国教育技术协会(ISTE)与计算机科学教师协会(CSTA)、英国计算工作小组(CAS)、布伦南等提出计算思维三维框架、以及谷歌探索计算思维研究组(ECT)提出的计算思维的构成与要素[8],提取公认的构成与要素,组成计算思维的培养的内容:抽象、分解、算法思维、迭代、模块化与重用、评估与提升、迁移与泛化,并且从数据、程序、系统的维度梳理相关知识与技能,如表2所示。此外,在解决问题过程中,作为培养的主体——人的态度、意识、情感等非认知因素贯穿问思维活动的全过程,计算品质,计算表达、计算协作以及计算意识的培养也需要融入培育计算思维教学活动中。
表2 计算思维的培养内容
学科思维
内容
基础知识与技能
计算思维
形式化
分解、抽象
数据(数据收集、数据分析、数据表示)、运算符
模型化
抽象、分解、算法思维
数据存储、控制结构(顺序、条件、循环、并行)
自动化
迭代、模块化与重用、测试与调试
计算术语(参数、索引、效率等)、事件、用户交互性
系统化
评估与提升、迁移与泛化
系统(系统开发是一个重复的设计过程,涉及框架构造、开发和维护等多种复杂决策的权衡协调)
情感
态度
计算品质(自信、恒心、毅力等)、计算表达、计算协作、计算意识(质疑等)
本研究梳理了计算思维的形式化、模型化、自动化与系统化涉及的要素(这里我们将要素等同于内容)与相关的基础知识与技能,将计算思维理解为教师所熟知的知识、技能、情感态度的综合体,以便于更好地理解学科知识技能与活动之间的关系,便于课程的实施。
2. 教学内容与安排
“人工智能”是计算机学科的一个分支,是体现计算思维内在价值的重要内容。本研究将计算思维解决问题作为项目活动的主线,以人工智能入门相关的知识、技能作为项目的载体。对于零起点的初中生而言,具备一定程序设计的基础知识,知道计算机解决问题的方法与步骤是开启人工智能的学习的前提条件。因此在教学内容上,笔者将程序设计基础和人工智能结合起来,尝试系统培养计算思维的方法与路径。并且选取了徐汇区编写的初中的《人工智能学生读本》的部分内容,设计了6个项目的活动,内容涵盖“人工智能概述”、“程序设计基础”、“机器学习”三个模块。在问题解决工具上,我们选择了支持人工智能的编程工具KittenBlock,它既能够支持图形化编程,又支持Pyhton的代码模式,为中学生顺利从图形化编程过渡到程序代码提供了良好的过渡平台。初中“人工智能入门”课程面向预初学生,活动与课时安排如表3所示。
表3 教学内容与课时安排
模块
内容
学习目标
课时
1
人工智能概述
认识身边的人工智能
了解人工智能的概念及在各行各业的典型应用
1
2
程序设计基础
聊天(气)机器人
应用分支结构,实现人机交互与决策
2
智能垃圾桶
应用分支与循环结构,搭建侦测模型,解决识别垃圾问题
2
你的专属小车
通过控制、模块化与重用,实现小车自动驾驶
2
3
机器学习
图像风格大师
理解计算机内部图像的存储原理,通过数据计算改变图像的风格。
1
读懂你的情绪
知道人脸图片特征提取的方法,了解人脸识别的基本原理,根据脸部表情预测情绪
2
手写数字识别
了解深度学习特征的提取与分类。建立模型,训练模型,实现手写数字识别
2
3. PBL教学模式
问题解决与计算思维有着密不可分的内在联系,计算思维本身起源于问题解决,形成于问题的解决,它是在运用计算机的概念与方法解决问题过程中形成的一系列思维活动。PBL教学是一种以问题解决为导向的学习活动,它很大程度上还原了学习的本质,这种基于真实情境的学习能促进学生对信息问题的敏感性、对知识学习的掌控力、对问题求解的思考力的发展[9]。
计算思维的形式化、模型化、自动化、系统化思维贯穿于用计算机解决问题的整个过程,即界定问题、分析问题、解决问题与归纳总结,这也是PBL教学的主要环节,因此通过PBL教学培养计算思维是可落实的。本研究设计了培养计算思维的PBL教学模式,如图2所示。
PBL的基本要素包括问题情境、教师与学生。问题是PBL的主线,是学生学习的动机;情境是问题所在的环境,情境下的问题激发着学生的求知欲,也是学生习得和应用基础知识与技能的前提。PBL中的教师与学生扮演着不同的角色,学生是学习的主体,他们不是被动地接受,而老师也不是放手不管,而是适时地给予学生必要的指导,尤其是从认知、元认知以及学习方法和学习策略上给予指导[10]。
图2 培养计算思维的PBL教学模式
四、培养计算思维的PBL教学流程
计算思维贯穿于计算机问题解决的全过程,而计算思维的培育则需要在PBL的学习活动中加以贯彻与落实。这部分我们将基于课程的内容,按照PBL的活动流程,从活动准备、学习活动、归纳总结三个方面展开。
1. 为PBL活动做准备
(1)寻找核心知识 明确活动起点
PBL的设计的起点是从概念到知识点的一整套知识体系,这具体包括核心概念,以及概念下的知识点[11]。教师可以从大概念出发,寻找大概念下对应的知识点,结合教材、学生的认知水平构建学习活动的主题。例如“重用”是程序设计基础中的一个重要概念,涉及“自定义函数”、“实参”、“形参”等知识,结合人们生活中自动驾驶的案例,本课题设计了“你的专属小车”主题。
(2)设计驱动性问题 激发学习兴趣
PBL学习活动的组织围绕着驱动性问题展开。驱动性问题需要结合学生的特点和经验进行转化,找到学生感兴趣的情境,同时对问题的难度要有所考量[12]。真实问题背后反映的是本质问题,本质问题更加的抽象难以理解。因此教师可以将本质问题放到具体的情境中,根据学情确定问题的抽象程度与复杂度,将本质问题转变为更加贴近生活的驱动性问题,激发学生的投入。例如:智能垃圾桶项目的本质问题是侦测算法,显然从生活中的应用案例切入要比直接讲枯燥的侦测算法更有吸引力。
此外驱动性问题的设计还需要考虑思维的差异性,选择劣构的、弹性的、可创造的问题作为PBL的起点。又如“聊天(气)机器人”项目中的驱动性问题是“如何让计算机与你互动聊天”,而实现人机互动有很多种方案,学生需要综合考虑人机互动的次数,互动问题之间的关系、回答的结果等因素来设计解决问题的方案。
(3)确定学习成果与评价标准
PBL的学习成果需要解决提出的问题,学习成果与学习目标要保持一致,成果体现学生对核心知识的理解[13]。初中“人工智能入门”课程的成果体现为用计算机程序解决问题,成果的形式主要是计算机程序,还可以是任务单、小组活动记录、设计方案等过程性的成果,反映了学生分析、推理、设计与创造的思维过程。
好的评价能够为学生的课堂表现提供指导,为教师的教学设计指明方向。与日常教学评价相比较,PBL的教学评价更加关注学生学习的过程,以及学生学习的认知与非认知因素,评价内容与形式更加多元且丰富,这也有利于全面、多维度地对学生计算思维的评价。本课题研究的评价内容分为两个方面,一方面是对PBL教学的评价,包括对解决问题的成果与过程的评价;另一方面对学生计算思维的评价,包括同类问题的迁移与应用。评价方法采用评价量规、档案袋、交流展示、题目测试与编程测试。评价者包括教师、小组成员与自己。
2. 展开PBL学习活动
(1)界定问题
界定问题是要明确计算机解决的本质问题,这是从真实世界到虚拟世界的一次跨越,需要抽象真实世界的事物,将其表示为计算机中的量,并探明量之间的关系,这就是计算机思维的形式化。教师可以组织师生互动、小组讨论、头脑风暴等活动,引导学生发散思维,利用思维导图等工具,梳理观点发现问题。教师也可以适时地提出问题的切入点,引导学生看清问题的本质。例如,“智能垃圾桶”项目的驱动性问题是“如何识别垃圾”,生活中是对垃圾的实物的识别,而计算机内部是将垃圾抽象为四个类别的标签,识别的本质是计算机对作为标签的量的识别。
(2)建构新知与能力
问题的解决需要基础知识的支撑。在明确本质问题后,教师需要帮助学生建立问题与知识之间的联系,例如利用KWL工具梳理问题、经验与新知之间的关系[14]。教师还需要让学生知道将要经历的学习活动和可利用的学习资源,例如提供导学单、任务单。同时,教师有必要及时地对新知的学习加以诊断,例如练习、测试、提问等。这一方面有利于教师及时获得学生学习的反馈,另一方面有利于巩固知识与提升能力。在教学形式上可以是教师讲授、演示,也可以是学生自主探究。
表4 KWL表
K(我的经验)
W(我想知道)
L(我学的)
(3)探索解决问题的方案
用计算机解决问题的方案即算法,是计算机解决问题的具体的明确的步骤。设计算法模型的过程需要利用计算机的基本控制结构来构造问题解决的框架,分解问题、抽象关系,用形式化的方法准确地描述计算的过程。建立算法模型是有方法与步骤可循的,可以以问题为中心,自顶向下地逐步分解细化问题解决的每一个步骤,从具体的步骤中归纳重复、判断等操作,提炼形成算法的基本框架。
这个阶段教师需要放手让学生在小组合作、讨论中自己去设计方案,但放手不是不管,教师需要为学生提供思考的支架,在算法设计的关键步骤上给予指导,例如提供算法的框架、流程图等描述算法工具。此外,教师事先还需要预设学生可能设计的算法,罗列不同算法的优点、以及可能存在的问题,便于及时地组织讨论,给予反馈指导与延伸。
例如“聊(天)机器人”项目中,计算机处理人机交互语句的是查找算法。教师首先提出问题:计算机怎么知道“今天是晴天”这句话中包含“晴”这个字?接下来为学生提供思考支架,帮助学生完成算法设计。
①如果一次只能判断一个字,请描述计算机处理这句话的每一个步骤。(描述过程)
②找找有哪些处理步骤很相似,它们有何相同与不同。(发现规律和特征)
③尝试用“如果”积木描述判断,用“重复执行”积木描述相似的处理步骤。(尝试应用新知)
④结合流程图,简化处理步骤,并描述计算机处理这句话的过程。(算法描述)
表5 教师预设人机交互的算法
算法1
算法2
算法
描述
优点
清晰地描述了语句处理过程。
思维严谨,考虑了不包含“晴”字语句的处理。
问题
1. 如何让计算机合理应答所有可能的提问?
2. 如果关键字的内容是“冰雹”,怎么判断?
3. 如果关键字的数量增加到2个,如:“晴”和“雨”
算法只是停留在思考的层面,如果按照算法1和算法2编写程序都存在一些问题。因此,算法需要程序代码的验证,在编写程序过程中发现问题,并再次对算法进行完善与修正。
(4)解决问题
计算思维的最终结果的是实现机器的自动化,实现自动化是技术性的实践活动,它需要在编写程序的过程中不断发现问题,完善算法,修改调试程序,是不断迭代完善的过程。教师可以组织案例分析、结对编程等活动,在活动中落实调试程序的策略与方法,强化学生的自动化能力。调试的策略有说出程序运行的过程、用等待、计数器、代入具体的数值等。当面临问题程序时,选择怎样的调试策略反映的是自动化意识,而调试的结果体现了自动化能力。例如“我的专属小车”项目采用模块化的编程,调试策略选择从局部调试到整体调试:先对前进、后退、左转、右转等模块进行单独的功能调试,然后在主程序中根据具体的路况调用各功能模块,完成复杂动作。
3. 总结反思
(1)展示评价
PBL的成果反映的是学生对核心知识理解[14]。成果的展示交流能够促进学生反思,使学习变得更有意义。成果可以是阶段性的,也可以是最终的;成果内容可以是问题解决的结果,也可以是过程。教师在设计展示交流活动时需要注意以下几点:①明确展示的内容与要求;②制定详细的展示规则;③明确评价方式,提供评价量表。
(2)归纳迁移
归纳与迁移能够帮助学生提升计算思维的品质,由解决某一个问题上升解决某一类问题。归纳是对解决问题过程中方法与技能的归类、整理与加工,是从“形式化”、“模型化”到“自动化”的过程中形成的一套完整的系统化的过程与方法。教师可以和学生一起提炼解决问题的一般过程,对PBL的问题进行拓展,也可以给出同类型问题的情境,锻炼学生的归纳、迁移、应用的能力,提升系统化思维。
五、PBL的教学实施及案例分析
为了说明PBL教学流程,我们以“手写数字识别”项目为例来进一步地加以分析与说明。
在中小学人工智能的相关教学中,图像识别往往是必选的教学内容。“手写数字识别”是人工智能图像识别的典型案例,它应用深度学习的卷积神经网络对图像进行特征提取、分类与预测,实现对手写数字的识别。“手写数字识别”项目是本研究“机器学习”模块中的第三个项目。学生在之前的项目学习中已经掌握了积木化编程的方法;知道图像在计算机中的二进制编码方式;能通过计算修改图片的属性等。此项目在前几节课的基础上,尝试从学生的认知出发,通过PBL活动了解特征提取的关键步骤,体验人工智能识别的过程。项目学习的目标是:能描述深度学习模型中“层”的特点;从数据变化的角度去体验、发现深度学习特征提取的关键步骤;通过搭建、训练手写数字识别的模型,了解深度学习的过程。项目的活动流程设计如图3所示。
图3 手写数字识别项目 活动流程
1. 从驱动性问题到本质问题
“手写数字识别”项目的学习的情境由生物视觉的研究成果引入,通过介绍生物视觉研究的发展历程,让学生了解大脑对物体的识别是由局部到整体,不断抽象特征分层处理的过程。人工智能的图像识别技术正是受此启发,获得了跨越式的发展。在进入深度学习的项目主题之后,教师明确学习目标与学习成果,演示手写数字识别程序;并抛出驱动型问题:尽管CPU的计算能力已经达到每秒上亿次,但是它的处理能力依然有限,手写数字识别程序处理上万张图片(教师展示训练集),如何保证CPU在时间与空间上的优势?学生发散思维:有的认为可以减少图片数量;有的把图片变小;有的认为减少图片会降低识别准确性...经过一番讨论,师生达成“减少数据量”的共识。由此驱动性问题转变为本质问题:在深度学习过程中,如何减少数据量?深度学习的模型庞大而复杂,“层”的概念引入体现了深度学习抽象、分解的特征,有利于学生对深度学习处理数据的模式与框架有整体的认识。驱动性问题培养学生从数据的角度探究问题本质,以及将复杂问题转换为计算问题的形式化思维与意识。
2. 从整体到局部 探究深度学习的原理
(1)活动1:探究数据量的变化
学习深度学习的难点在于从输入、处理到输出,数据计算的过程是不可见的;MNIST demo平台解决了数据可视化问题。活动1通过平台动态地向学生呈现图片经过卷积神经网络不同层的处理之后的效果和属性。围绕着“数据量如何变化”的问题,学生整理平台上的信息,记录每一层处理后特征图的分辨率与特征图数量。之后观察、思考教师提出的问题:
① 观察整理的数据表,发现特征图分辨率和特征图数量分别呈现怎样的趋势?
② 对特征图的分辨率和数量影响最大的分别是哪两个层?
活动1使学生对深度学习的过程有了直观感受。不同于以往从具体到抽象地认识事物,活动1从开始就呈现深度学习的整个模型,这有利培养学生系统化地认识未知的事物的意识,理解抽象的意义。教师提出的两个问题以“数据量变化”为主线,反映了深度学习特征提取的基本思想,学习活动也由整体转向局部,深入到卷积层与池化层。
(2)活动2:体验提取特征(卷积)
卷积的目的是为了特征的提取,然而卷积运算的原理已经大大超出初中学生的认知。活动2规避了卷积运算的原理,重点放在体验,要求学生在商汤SenseStudy平台上运行三段程序,对同一张图片作三种不同卷积运算,并通过连连看推测提取的特征类型。
原图
边缘特征提取
横向边缘特征提取
纵向边缘特征提取
图4 一张图片的不同特征提取(卷积)
活动2使学生了解卷积运算的目的与结果,并从中感知抽象与数字化是机器计算的前提,而解决问题的本质则是计算。此外学习人工智能不可避免地会遇到很多难以理解的新概念,因此我们尝试用通俗易懂的词语替代专业名词,将“卷积”表述为“提取特征”、“池化”表述为“缩小”、“全连接”表述为“汇总特征”,“特征向量”表述为“特征值”,这样的表述在帮助学生理解上很有效,但是用词的准确性还有待商榷的。
(3)活动3:体验缩小(池化)
活动3要让学生了解池化减少数据量的策略。我们在课堂中提供思维发展的空间,让学生参与到策略的选择与设计中来。教师展示“7”的数字编码图,提问“在保留图片的主要特征的前提下,你会采用什么方法来缩小图片?”学生分小组讨论。学生提出各种设想:每4个像素取最大值组成新的图像,每9个像素求平均值,取最小值...经过讨论,教师罗列学生提出方案,并作小结。之后提供程序,要求学生在商汤SenseStudy平台验证求最大与求均值的效果,确定哪一种最可行?
图5 求均值缩小与求最大缩小(均值池化与最大池化)效果
卷积提取特征、池化减少数据量,它们是不同的模型计算的结果。在人工智能教学中,很多算法模型的基本思想即来源于生活,因此完全可以尝试让学生参与到人工智能相关算法的设计与决策中来,有利于锻炼与提升模型化思维。
(4)讲授:汇总特征
教师利用10张不同的手写数字“7”图片,说明汇总特征的过程,并以输入手写数字“7”和“1”为例,说明如何以汇总的特征为依据,进行手写数字的识别。接下来,教师打开MNIST demo平台,展示以概率形式表示的识别结果,并请学生找一找MNIST demo平台的识别的结果一定正确吗?
平台显示
识别结果
7
3
3
8
图6 识别手写数字的结果
“手写数字识别”模型是一个复杂而庞大的系统,教师很难向初中学生描摹整体的工作原理,因此了解模型就变成一个逐步打开黑盒的过程[15],一个从整体到局部,从抽象到具体的逐步分解的过程。这种自顶向下,逐步分解的学习适用于复杂系统的拆解与分析,也有利于学生从更高的抽象层次去理解计算思维模型化的思路。
3. 构造深度学习模型 识别手写数字
经过之前的学习与实践,学生对“手写数字识别”模型的构成,以及一些关键层的作用已经有所了解。在接下来的活动4中,学生以MNIST demo平台的模型为依据,应用KittenBlock对“手写数字识别.sb”程序进行修改,对表示不同层的积木排序,搭建识别模型。用KittenBlock实现“手写数字识别”是此项目的最终成果,反映了学生对深度学习模型的理解,是学生计算思维的自动化能力的体现。
4. 从局部到整体 探究最优方案
项目的最后聚焦手写数字识别的效果。学生测试程序,计算识别数字“7”的准确率。这时教师提出问题:可能影响识别准确率的因素有哪些?学生回答:“CPU处理能力不够”、“手写的数字太潦草”、“特征提取不够多”、“图片缩小得太多”等。可以看到学生已经建构起对深度学习系统化的认识,能够根据所学与经验对问题提出自己的见解,然而系统地去发现、解决问题对初中学生来说依然有困哪,需要在日后加强与锻炼。最后教师对影响识别准确率的因素作补充,说明深度学习没有固定的模型,最优的模型往往实施在反复测试中得出的。
(三)反思与展望
综上所述,本课题围绕核心素养视角下的计算思维,在深刻理解计算思维的内涵基础上,提出了计算思维的培养内容,在“初中人工智能入门”课程的实践中,探索以培养形式化、模型化、自动化与系统化的计算思维为目的的PBL教学培养路径。经过第一轮的教学实践,本研究认为问题的复杂度不同,PBL的培养计算思维的侧重点与策略会稍不同,例如第二模块的程序设计基础,培养的重点可以放在形式化与模型化思维的培养,可以像搭积木一样采用自底向上构建新知,通过迭代优化的方法分析解决问题;而对于第三模块的机器学习等较为复杂的内容,可以将重点放在系统化与模型化思维的培养,问题的解决需要像打开黑箱一样,逐步地拆解深入理解新知,形成对复杂问题的系统化的认识后,通过模仿、修改等方法解决问题。然而不管是怎样的问题解决,都要经历界定问题、构建新知、解决问题的过程,而总结反思更利于形成自己解决问题的思维方法与模式。
在即将开始的第二轮实践中,我们研究的重点放在以下三个方面:继续优化、完善三个模块的教学设计;对中学生计算思维特点进行研究,采集、分析前侧、观察访谈、后测等数据,使计算思维的培养更具针对性;开展多维度、多形式的计算思维评价设计与实施。
参考文献
[1]周以真. 计算思维[A]. 中国科学技术协会学会学术部.新观点新学说学术沙龙文集7:教育创新与创新人才培养[C].中国科学技术协会学会学术部:2007:6.
[2][3]中华人民共和国教育部著. 普通高中信息技术课程标准 2017年版[M]. 北京:人民教育出版社, 2018.01.
[4]陈栋. 基于课程标准的计算思维教学实践路径[J]. 中国信息技术教育,2020(Z4):65-68.
[5]李锋,赵健. 高中信息技术课程标准修订:理念与内容[J]. ,2016(12):4-9.
[6]钟柏昌,李艺. 核心素养如何落地:从横向分类到水平分层的转向[J]. ,2018,36(01):55-63+161-162.
[7]李艺,钟柏昌. 信息技术课程核心素养体系设计问题讨论[J]. ,2016,37(04):5-10+61.
[8]郁晓华,王美玲. 计算思维培养之路还有多远?——基于计算思维测评视角[J]. ,2020,26(01):60-71.
[9]余燕芳,李艺. 基于计算思维的项目式教学课程构建与应用研究——以高中信息技术课程《人工智能初步》为例[J]. ,2020,38(01):95-103.
[10][14](美)Linda Torp,(美)Sara Sage著;刘孝群,李小平译. 基于问题的学习 让学习变得轻松而有趣[M]. 北京:中国轻工业出版社, 2004.09.
[11][12]夏雪梅.项目化学习设计 学习素养视角下的国际与本土实践[M].出版发行 : 北京:教育科学出版社 , 2018.11
[13]陈霞. 面向高中信息技术学科核心素养的PBL设计与应用研究[D].2019.
[15]陈勇. 走进人工智能 走近技术本质——以“走进图像识别”一课为例[J]. ,2020(02):48-52.