摘要:人工智能時代的到来,学生计算思维的培养成为国家信息教育关注的重点。本文从计算思维的概念出发,通过基于计算思维的Python程序设计的教学案例分析,提出了如何在高中信息技术教学中培养学生的计算思维,提升学生的信息素养,帮助学生在实际生活和学习中更好地解决问题。
关键字:信息技术、计算思维、Python
中图分类号:G4 文献标识码:A
2017 年 7 月,国务院印发的《新一代人工智能发展规划》中指出要“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育”。而编程教育最重要的就是培养学生的计算思维,2017版的普通高中信息技术课程标准明确提出计算思维是信息技术学科核心素养的四个核心要素之一,强调信息技术教育中应贯穿计算思维培养。
2017版新课标将计算思维定义为“运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动”。在高中信息技术教学中该如何通过编程教学培养学生的计算思维呢?笔者以广东教育出版社出版的高中信息技术必修一“Python程序设计基础”为例,设计了一节基于计算思维培养为导向的教学案例——Python实现简单人机博弈:石头剪刀布。本节课将计算思维的培养落实到以下四个阶段。
(一)创设情境
从学生最熟悉的游戏入手,让学生两两配合体验石头剪刀布的博弈过程,并让学生讲述游戏规则,列出甲乙双方博弈对战表,为后面学生分析问题和解决问题奠定基础,并让学生思考问题:你能通过Python编程实现人机博弈的游戏么?这一阶段创设贴近学生生活的课堂情境,激发学生学习兴趣,激活学生的计算思维,并让学生明确问题。
(二)问题解决
1、首先让学生分析问题,该环节的计算思维是对问题进行界定,教师提出问题:该问题能用计算机程序来解决么?如果可以,输入、输出、终止条件分别是什么?
2、分解问题:该环节的计算思维是问题分解,将复杂问题简单化,我们将人机博弈的问题进行拆解,结合学生生活情境中的体验,可以分为三个子问题:双方出拳,双方亮拳,判断胜负并输出结果。
解决问题:针对上一阶段的三个子问题进行算法设计,再根据算法进行编程和调试。
A、解决子问题一:双方出拳
该环节的计算思维是数据抽象与表达,由两个连续的教学活动组成。
第一教师提出问题:现实生活中,双方出拳是用手势表示,那在计算机中可以怎么表示石头剪刀布呢?学生经过讨论提出可以将石头剪刀布放入列表中供选择,人出拳可以从列表中选择石头、剪刀或布,电脑出拳也可以从列表中用随机函数生成石头、剪刀或者布。当然还有更简便的,用数字来替代这些手势。
第二,教师提出疑问:如果用户选择的不是石头、剪刀或者布,该如何处理?学生经过讨论后提出每一轮博弈都要对人输入的值进行判断,当输入有误时,要重新输入。
B、解决子问题二:双方亮拳
该环节的计算思维是数据抽象与表达,由一个教学活动组成。
教师提问:人和计算机已经对自己要出的拳进行了选择,那我们怎么知道双方的出拳情况呢?学生经过讨论提出,可以用到print函数展示出拳的结果。
C、解决子问题三:判断胜负并输出结果
判断胜负是实现人机博弈的关键部分,该环节的计算思维包括数据抽象与表达、算法设计和模式匹配。教师提出问题:计算机怎么知道谁赢了呢?教师对学生进行思维引导:当满足什么条件时,甲乙双方是平局呢?当满足哪些条件时,甲方才会获胜呢?学生经过讨论后提出,当双方出拳一致时,双方平局;甲方获胜的情况有,甲方出石头,乙方出剪刀或者甲方出剪刀,乙方出布或者甲方出布,乙方出石头,满足以上任一条件,我们就会赢,其他情况则计算机赢。由此,将现实问题中的胜负比较转化为计算机可处理的问题,设计多分支选择结构if…elif…else语句进行判断从而解决人机博弈的问题。
D、优化方案
该环节的计算思维是评估反思,迭代优化。该环节教师提出问题:刚才同学们的游戏是不是只玩一次就退出了?那如何能让游戏一直玩呢?学生经过讨论后提出可以在外部加一个while循环,这样人机博弈就可以一直玩下去了,为了让这个游戏更加人性化,还可以在末尾加入if语句进行判断:比如输入s键退出,输入任意键继续。
(三)知识迁移
在这一环节,教师需要设计相似或更高级的任务作为小组合作任务,培养学生模式匹配的计算思维能力。用Python实现了最简单的人机博弈的项目后,学以致用,将知识进行迁移,让学生完成猜数游戏,教师引导学生找到猜数字游戏和人机博弈问题的联系:一是人机博弈和猜数字游戏中都要引入随机函数来解决问题;二是人机博弈和猜数字游戏都需要用到多分支结构来实现功能;三是人机博弈和猜数字游戏中都需要加入外部循环while循环,才能重复玩游戏。
四、分享总结
分享总结也是学生知识建构的一个过程。在该环节中,各小组展示分享作品,包括实现的功能模块、解决问题的思路及方案以及在解决问题的过程中遇到的新问题等,教师再对小组作品进行评价总结,组织组间互评,包括过程性评价和总结性评价。
教学有法,教无定法。对于学生计算思维的培养,还需要我们广大教育工作者在教学实践中不断摸索探究。教师只有深刻领会计算思维的内涵,积极主动将计算思维的培养融入到各个教学环节中,才能全面提升学生的信息技术学科核心素养。
参考文献
[1] .《新一代人工智能发展规划》[J].科技导报,2018,(第17期).
[2]中华人民共和国教育部.普通高中信息技术课程标准(2017年版)[S].北京:人民教育出版社,2018.
[3]李颖.利用游戏化编程培养学生的计算思维能力——以高中“算法与程序设计”教学为例[J].中小学信息技术教育,2020,(第11期).