一、引言
近几年,随着人工智能的飞速发展,各国都大力推进人工智能教育。我国《新一代人工智能发展规划》也提出要在中小学阶段设置人工智能相关课程,逐步推广编程教育。但据笔者对文献资料的分析,我国人工智能教育的现状是人工智能教育被糅合到信息技术教育中。
以北京市为例,现有教材内容分为信息与信息技术基础、计算机网络基础、文字处理、表格数据处理与分析、图像处理、音频和视频制作、动画制作、网站设计、智能处理与编程等9个模块,教参建议的总课时量是94课时。然而,目前大部分学校信息技术每周只有1个课时,一般只开四个学期,平均80个课时左右。在有限的80个课时中,很难讲授完教材中的内容,更不用说增加新的内容(人工智能技术)。虽然新教材的编写也在推进,但是由于审查、印刷、发行等都需要周期,新教材出来后,教材内容也很可能滞后于技术的更新,不能满足教学需求。
因此,如何抓着人工智能教育和信息技术教育的核心价值,在有限的课时中实施最核心的教育,是需要深思的。基于此,本文探讨了在思维素养环境下,人工智能教育与信息技术教育的融合策略。
二、人工智能教育的核心
人工智能是一个多领域交叉学科,涉及认知科学、计算机、自动化、电子技术、数据科学和系统科学等领域,这一学科性质决定了人工智能教育核心在于培养学生的综合思维,而不是仅仅实施学科知识教育或者技术教育,也不是单一地教育学生通过编程的手段实现人类智能。人工智能教育要想实现培养学生综合思维的目标,需要多学科协同。
综合思维主要表现在提出问题、构思概念原型、提出不同解决方法、寻求创造性的途径等方面。人工智能集中体现在通过编写计算机程序实现人类智能,因此,笔者认为编程能力和计算思维是人工智能教育需要注重实施的,所以尝试在信息技术教学中有效融合人工智能教育,培养学生的编程能力和计算思维。
三、人工智能教育与信息技术融合探索
(一)编程能力培养
在编程语言的选择上,根据学段可以选择积木式的图形化编程,亦可选取代码语言。在代码语言中,Python语言因其简洁、优雅、明确的特点而成为最受欢迎的程序语言。除此之外,Python语言也是人工智能实现过程的一种重要工具。笔者所在单位的学生已有图形化编程的基础,因此在初中阶段引入了代码编程,考虑到要在信息技术课程中渗透人工智能教育,最后选用了Python语言编程。
学习编程,首先要培养学生的兴趣,而培养兴趣最好的方法是让他们体验用编程解决实际问题的过程,从而形成初步的程序思维。笔者在将Python编程糅合到信息技术日常教学的过程中,以实际问题为出发点,创设情境教学,探索了两个融合的方向:其一是对比程序和软件解决问题的过程,其二是体验大数据程序的编写。
1.程序和软件的对比
笔者选取了“表格与数据处理”章节的内容,用问题驱动型方法对教材内容进行“二次开发”,结合教材内容特点,在日常教学中融入Python编程的教学。对“表格与数据处理”中第三节“计算数据”的内容进行了挖掘,创设的情境是学生了解自己的健康状况,计算自己的身高体重指数然后判断自己的营养状况等级。因此,教材内容选取Excel“计算数据”部分的IF函数为案例,以任务驱动教学策略为主,让学生用Excel的IF函数和Python程序的IF分支语句完成课堂任务。在教学任务实施过程中,让学生理解程序和软件计算数据的不同点,明白软件是一种可视化的程序界面,没有软件可用时,能意识到编写程序求解问题,逐步培养编程思维。
2.体验大数据程序的编写
在第二章“计算机网络基础”中的第三节“应用因特网获取信息”部分,笔者创设的情境是让学生编写简易程序,完成从一大堆动物图片中找出猫的图片的任务。这个情境任务主要分两个子问题:第一,找到大量的动物图片;第二,从大量动物图片中找出猫的图片。这里要解决的是第一个子问题(第二个子问题是图像识别问题,拟放在综合应用部分解决),利用Python编程的urllib库,编写爬虫程序,让其自动搜索和下载百度搜索的图片。爬虫程序并不是让学生真正去编写,只需要学生了解程序中的URL(即计算机网络基础中的统一资源定位符),知道如何修改程序中的搜索关键字,从而实现程序运行时自动下载几千张甚至上万张百度搜索指定关键词图片的功能。自己动手搜索并下载大量的图片,对学生来说是很费时费力的,而程序能在短时间内自动完成,这让学生体验到程序解决实际问题的便捷之处。
这节课中,学生既掌握了计算机网络基础中的URL知识和网络的基本应用,又学习了如何用程序解决生活中可能需要很多时间和劳力去解决的问题,培养了学生的计算思维。
(二)计算思维能力培养
计算思维内涵的基本要素包含五个方面:抽象、分解、算法、逻辑推理、建立关联。抽象是指抓住问题的核心部分,排除不必要的细节;分解是将看似不可解的问题分解为若干个可以执行的小问题;算法指甄别并描述规律;逻辑推理指分析、预测并推断结果;建立关联是指对同样的问题用同样的解题方法。
在信息技术课程中培养计算思维一般采用项目式教学,解决每一个项目时可参考上述五个思维要素进行示范教学。笔者在对六年级学生进行Scratch编程科技培训时,讲了一个无人驾驶的案例,程序的总体目标要求是设计一辆能够根据周围的环境自动调整速度和方向从而完成自动驾驶的汽车。
在学生实施项目之前,笔者指引学生按照五个步骤来做:(1)确定程序目标:设计一辆自己躲避障碍、决定速度的小车;(2)分解目标:按照无人驾驶汽车应具有的功能将目标分解,如自动探测障碍、遇到障碍转换方向减速、前方无障碍时加速行驶等;(3)设计程序原型:用最简单的语言及图形实现程序的核心功能;(4)完善程序:对原型进行扩展,完善和美化无人驾驶汽车的功能;(5)扩展程序:添加新的功能,或者以本程序为基础做出其他案例。经过长期的训练,学生解决问题和关联扩展的能力都得到了提升,有新项目时就会主动按此思维步骤来做。
四、结语
笔者将人工智能教育中编程能力和计算思维能力融合到初中信息技术日常课程教学中,通过实际的教学经验证明,这种策略是可行的,并且是有效的。未来,我们将进一步对现有教材内容进行挖掘,开发人工智能的校本教材,积极推进人工智能的科普教育,为未来培养具备综合素养的创新型科技人才做一点贡献。