APP下载

基于中小学STEM教育的探究与设计*
——以学习Python程序语言为例

2019-12-21谢永盛苑井孝

山西青年 2019年24期
关键词:砝码小贴士条件

谢永盛 张 超 王 璐 苏 柏 苑井孝

(西北民族大学,甘肃 兰州 730124)

2017年《中国STEM教育白皮书》[1]的发布,标志着中国STEM教育开始走向全面、专业、成熟的发展道路。教师可通过项目式学习的方式并伴有创设情境、多人协作、探究学习等教学手段开展某个教学环节,让学习者从生活中学习,将知识情景化,学会利用科学、技术、工程和数学等学科相互关联的知识解决问题,提高学生的STEM素养[2]。山东省和浙江省于2017年相继出台了信息技术课程改革方案,在PYPL2019年8月份编程语言排行榜上,Python位居第一名,简单易学、丰富的资源库、跨平台、可扩展成为了它的代名词。

一、课程内容设计

(一)创设情境,讲解基础概念

1.情境引入

小明同学周末想要乘公交车去博物馆,他借助电子地图查询去博物馆的公交路线,那么他会选用哪种乘车路线呢?再者,某人将自己的密码忘记了,密码可能是生日也可能是电话号码。那么如果要解决上面的问题,我们就要把问题的所有可能解都一一列举出来,并按照问题要求的条件逐个判断每个答案是否是正确的解,这就是枚举算法。

STEM小贴士:从生活中发现科学,将知识情景化,这大大提高了学生对程序语言的学习兴趣。

2.项目指导

枚举算法又叫穷举法,方法简单但很实用,十分适合初学者掌握理解。本项目学习过程中,学习小组可以参考以下活动建议进行合作学习和交流分享。

表1 “用枚举算法寻找问题多解”微项目活动建议

(二)分组讨论,寻找解决方案

按照项目所学内容可分为三个模块,即将同学们分成2个小组(视班级人数情况而定可分为4个小组)。每个小组主要负责一个模块,但也要参与到其它小组负责的模块内容上来。

STEM小贴士:不同的小组根据自己负责的模块内容设计不同的解决方案,这有助于同学们养成善于发现、大胆实践的良好编程习惯。

1.“拍7”游戏

A组同学将邀请其他小组共同参与到这个游戏中。游戏规则是:把从1开始的自然数中含“7”的数标作“明7”;把不含“7”且是“7”的倍数的数称作“暗7”。从1开始轮流报数,轮到报“明7”或“暗7”的人,不能出声,只拍一下手。

假设一起游戏的有33人,由A组的同学记录3轮报数后拍手的数据。第一轮数据情况:7、14、17、21、27、28,小组成员分工完成第二、三轮的数据记录。

2.称量食盐

C组同学帮助实验室老师称量100克食盐,现有足量的1克、2克、5克、10克砝码,共允许取用40枚砝码,要求每种砝码至少使用一枚,共有多少种称量方案?

(三)设计程序,分享运行结果

老师感受到同学们的苦恼,便顺着将枚举算法再讲解了一遍并通过Python程序语言给同学们以启发。这个过程需要每个小组的参与,动手敲代码并将本小组的运行结果通过教学平台呈现给大家。

STEM小贴士:学生敲代码的过程既锻炼了动手能力,又进一步地感受逻辑思维解决问题的魅力。

1.快速寻找有规律的数据——拍“7”游戏

(1)确定枚举的对象、范围和条件。假定报数达到100时游戏结束,根据“拍7”游戏的游戏规则,确定枚举范围是1-100的自然数,设定一个变量作为枚举对象。枚举1-100的程序基本结构:n=100for i in range(1,n+1)。

在程序中,循环结构通过range()函数控制枚举范围。接下来,通过增加判定条件以确定“明7”和“暗7”:“7”in str(i)or i%7==0。

(2)编写程序判断“明7”和“暗7”。判断“明7”的条件:1-100的自然数中含“7”的数即“明7”,需要利用选择结构语句添加限定条件,如图3所示;判断“暗7”的条件:1-100的自然数中能被7整除的数,增加条件即可同时判断“明7”和“暗7”,需要利用if语句添加条件:if “7” in str(i)or i%7==0。

在程序中:%是取余运算,运算结果为两数相除所得的余数;借助逻辑运算符“or”可以判断多种情况。

STEM小贴士:数学是编程中学习逻辑算法的核心,将数学应用到项目学习工程上是解决实际问题的关键。

2.一一列举可行的解决方案——称量食盐

(1)分析问题,确定枚举范围。枚举对象可以确定为4种质量的砝码。每种砝码至少使用1枚,因此数量都不小于1,所取一种砝码数量要小于等于40枚且质量之和要小于等于100克,以下列出大概取值范围。用a表示10克砝码的枚数,大概取值范围是1-10;用b表示5克砝码的枚数,大概取值范围是1-20;用c表示2克砝码的枚数,大概取值范围是1-40;用d表示1克砝码的枚数,大概取值范围是1-40。

(2)确定枚举条件,设计枚举程序。各种砝码共计40枚,所以枚举条件1为a+b+c+d==40;总质量100克,所以枚举条件2为10×a+5×b+2×c+d==100。程序如图1所示。

(四)课堂小结,整合学习内容

本节课教师通过项目式学习的方式开展教学,借助“拍7”游戏和称量食盐三个生活场景吸引学生学习兴趣,融合数学学科知识掌握了Python程序中的逻辑框架。借助STEM教育理念培养学生的思维能力和动手能力达到预期的教学目标。

二、教学反思与总结

在STEM教学理论的指导下,利用编程去优化并解决生活中的问题,让学生学习知识的能力在实践中得到更好的锻炼,逐渐养成STEM素养。数字时代下的教育教学正是需要教师们不断学习新知识,提升自己的教学设计能力,学会利用STEM素养去管理课堂、优化课堂,让师生均能获得知识和能力提升的双赢。

图1 称量食盐方案程序

猜你喜欢

砝码小贴士条件
淘气小贴士
排除多余的条件
F2等级砝码折算质量测量的不确定度评定
冬季穿搭小贴士
选择合适的条件
东东“闯关”记
淘气小贴士
为什么夏天的雨最多
巧妙找次品
上门保养:差异化是竞争砝码