詹惠华 邢飞军
【摘要】笔者以《大数据处理》这节课为例,以培养学生的计算思维为导向,设计了以下一套Python编程课堂的教学设计思路,有效开展教学,在日常Python編程课堂教学中培养学生良好的问题求解思维以及抽象、认知、构造和迁移的能力,有效发展计算思维。
【关键词】计算思维;Python编程;大数据处理
一、引言
培养中小学生计算思维,是我们信息技术学科的重要关注点。Python编程语言作为广州初二新教材的重要部分,对培养学生的计算思维、抽象理解能力、设计思维都起着重要作用。笔者采用的教学案例是《大数据处理》这一节课,主要原因是这节课涉及人工智能领域的大数据分析、KNN算法,对老师的教、学生的学都存在一定难度,因此笔者以本课作为案例,以培养学生的计算思维为导向,引导学生用计算机科学的基础概念来分析问题和解决问题,帮助学生增强学习Python编程的信心与决心。
二、教学案例分析
《大数据处理》这节课选自广州市信息技术教科书初中第二册第2章《程序设计初步》第6节,是一节Python的应用课,主要内容是分析大数据的一般过程、安装第三方库的方法、机器学习的KNN算法及其简单应用。笔者以认识水果为主线,借助英荔AI训练平台,在具体的体验和实践中去解决问题。
(一)教学目标、重难点
1.通过补充、优化、完善程序,自学学习任务单、教材、动画、视频等学习资源,知道从sklearn导入KNN分析模型的命令以及第三方库安装的方法,了解KNN算法及其简单应用,感受编程解决问题的乐趣。
2.通过体验AI训练平台,小组合作探究大数据分析的一般过程,感受人工智能的价值。
教学重点:分析大数据的一般过程、从sklearn导入KNN分析模型的命令。
教学难点:KNN算法的工作原理。
(二)教学过程
第一个环节是创设情境,明确问题。首先我以亚马逊水果分拣平台为情境提出问题:机器如何认识水果?引发学生思考。接着展示AI训练平台,为每个小组提供真实的苹果和橙子,邀请同学们借助平台去体验机器认识水果的过程。通过借助平台界定问题,明确大数据分析的三大步骤。
第二个环节是搭建支架,分析问题。
笔者使用希沃平台“知识配对”为学生搭建支架,邀请学生上台梳理分析大数据的一般过程:采集数据——训练数据形成模型——使用模型判断新数据,强调重点,并引出学习任务:编写Python程序,实现简易的苹果和橙子分类功能。同时组织小组对程序的算法进行讨论,结合学生已有的知识体系,明确本课要解决的关键问题是:如何训练数据形成模型?帮助学生将自然语言梳理形成算法,引出KNN算法和第三方库,形成初步解决方案。
第三个环节是建立模型,解决问题。通过编写从sklearn导入KNN分析模型的命令,补充程序,建立模型,突出重点。通过修改K值,优化程序,加深对程序的理解,突破难点。
在任务设计上,笔者通过“问题描述-分析问题——补充程序——命名要求”的步骤分解任务,采用程序挖空的形式让学生补充从sklearn导入KNN分析模型的命令,将问题聚焦在本课的重点上。
学生自主学习后,为了帮助学生理解程序,笔者结合大数据分析的流程图帮助学生建立大数据分析和程序直接的关系,进一步深化重点。并提出疑问:我们年级有个同学对这个程序特别感兴趣,在家里运行程序发现出现这样的问题:程序出现错误提示:No module named scikit-learn,这是为什么呢?
明确本课所学的是第三方库,在导入使用第三方库之前我们需要安装第三方库,这里笔者会提供安装体验动画,让学生了解第三方库的安装方法,并明确使用第三方库的一般过程是:明确算法——安装第三方库——导入第三方库,通常情况下第三方库都有提供官方文档。根据第三方库官方文档说明,完成自己的需求。通过建立模型,帮助学生解决使用第三方库的基本问题,为后续灵活使用第三方库做好铺垫。
接着笔者引导学生发现探究任务上的问题:不管怎么修改判断的数据,结果都显示为1。引发学生讨论,并布置巩固任务:尝试修改K值,结合KNN算法的相关视频,小组合作探究KNN算法的工作原理。学生在不断调试中评估算法,优化算法与程序。
这里笔者会引导学生观察结果,分析相同的数据(145,0),不同的K值会有不同的结果,启发学生大胆思考、表达想法。
在任务一中数据记录为5条,由于k值默认为5,因此判断的依据就是离得最近的5个邻居,也就是当前所有的数据,根据少数服从多数的原则,橙子多于苹果,所以任务一中不管你修改什么数据都判断为橙子。同理在任务2中,k值修改为3,找到离的最近的是这3个样本,按少数服从多数的原则,结果判断为苹果。借用第三方库,我们也要用好第三方库,反复调试、测试,使程序自动化效果更好,实现程序优化。我们既可以通过调整K值,也可以通过增大训练数据量,使训练的模型更加成熟,预测结果更加准确。
第四个环节是启迪思维,学以致用。这里笔者会先演示程序:将判断结果用图片显示的效果来完善程序,并介绍使用的算法和第三方库pillow,引导学生总结可行的问题解决方案,并能够迁移运用到这个相似的编程问题解决中,进一步完善程序。
最后一个环节是提炼总结,感悟本质。通过小测巩固新知,以评促学;结合流程图归纳要点,提炼使用第三方库的一般方法。
三、总结
在Python编程课堂教学中,笔者将计算思维渗透在各个教学环节中,帮助学生提高用计算思维的相关特征点去解决复杂问题情境的能力,引导学生解决问题,通过长时间的训练与实践,内化学生的思维,培养他们的计算思维能力。当然,计算思维的培养是一个长期的过程,需要不断探索,努力实践。
(责任编辑:邓羽婷)