APP下载

人工智能时代高中生计算思维能力培养研究

2021-05-30郑珂李新晖

中国教育技术装备 2021年13期
关键词:计算思维高中信息技术数学思维

郑珂 李新晖

摘  要 概述计算思维的内涵,构建高中阶段学生计算思维逻辑框架与培养路径,总结出数学思维等五种主要思维方式,结合这五种思维方式选取“老鼠走迷宫”案例进行分析,提出每种思维方式培养的具体过程。

关键词 高中信息技术;计算思维;Python;数学思维

中图分类号:G633.67    文献标识码:B

文章编号:1671-489X(2021)13-0066-04

0  引言

近年来,随着云计算、物联网、大数据等新技术的出现,现代社会从“互联网+”时代向“人工智能+”时代迈进,人工智能的飞速发展深刻改变着人们的生产生活。将信息技术与人工智能技术进行深度融合,强调学习不应仅注重知识的学习,更应注重思维能力的培养。本文主要研究高中生计算思维能力的提升,选择高中信息技术课程案例,借助可视化编程工具Python,将该案例的具体实施步骤与五种主要的思维模式相融合,详细分析各个思维所涉及的准则,以便更好地理解计算思维在教学中的重要性,提升学生学好Python课程的信心。

1  计算思维

2006年3月,周以真教授在《计算思维》一文中首次提出计算思维。《普通高中信息技术课程标准(2017年版)》中提出:“计算思维是指在计算机科学领域的思想方法的指导下,个体在对一个问题形成解决方案的过程中所产生的一系列思维活动。”[1]2011年,美国国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)给出计算思维的操作性定义,指出“计算思维是一种解决问题的过程,该过程包括明确问题、分析数据、抽象、设计算法、评估最优方案、迁移解决方法六大要素”[2]。对于21世纪的人们来说,计算思维是一项非常重要的学习能力,不仅体现在学习中,更有利于自身逻辑思维的锻炼。

2  高中阶段的计算思维逻辑框架与培养路径

2.1  计算思维逻辑框架

计算思维中主要的思维方式有五种,如表1所示。

2.2  高中阶段计算思维的培养路径

在中小学实施课程教学是培养计算思维的重要路径。在高中新课标中,课程结构含必修、选择性必修和选修三类课程共10个模块,其中必修课程有信息系统与社会、数据与计算两个模块;选择性必修课程有数据与数据结构、三维设计与创意、网络基础、数据管理与分析、开源硬件项目设计、人工智能初步六个模块;选修课程有算法初步和移动应用设计两个模块[3]。由此可以得出:新课标修订后,高中信息技术教学无论是从课程内容的深度,还是从课程内容的广度,都得到加强,教学任务也大幅增加,但教学总的课时没有增加。因此,学校或相关研究人员设计开发培养计算思维的信息技术校本课程这一重要路径,可以解决有限的课时与限定时间内落实培养计算思维的目标之间的矛盾,使得高中阶段计算思维的培养通过体系化、序列化的课程群系统地展开[3]。

3  基于计算思维的Python程序案例研究

以计算思维为培养目标的课程在知识传授过程中不再以传统的概念记忆与知识点的讲授为主[4],而是更加侧重于训练学生上述五种思维。

1952年,“信息时代之父”香农用一只木老鼠“忒修斯”奠定了人工智能的基础。经过一系列的随机试验,“忒修斯”穿过迷宫般的金属墙,成功到达出口处,获得金属奶酪。香农的发现代表了人类智慧的结晶和数字化世界的可能性。因此,选取“老鼠走迷宫”作为培养学生计算思维的案例,一方面是通过编程实践,让学生切身体验科学家的逻辑思维过程;另一方面,对应上述五种思维方式,将“老鼠走迷宫”案例的教学环节分为五个步骤,强化学生的计算思维框架。具体步骤如下:

1)引入问题,创设合适情境,引导学生主动发现问题;

2)数学建模,用数学模型重新定义问题;

3)问题分解,将原问题分解成小问题;

4)设计算法,根据分解步骤,列出流程图,写出算法;

5)编写程序并调试运行。

五个步骤与五种思维方式之间的关系如图1所示。

基于Python,以“老鼠走迷宫”为例,结合计算思维的五种思维方式对教学活动进行具体阐述。

3.1  引入问题

在信息技术课堂教学中,以问题解决为导向的方法有助于培育学生的计算思维。在每次课程开始之前,教师应该向学生抛出一个他们能够理解并能解决的问题,同时要说明该问题发生的背景和条件,以便于学生思考问题。比如:“同学们在生活中应该玩过迷宫游戏,那么老鼠走迷宫会怎么走呢?在出口处有什么等着老鼠?”

【问题描述】如图2所示,一个n×n迷宫,老鼠如果想吃到迷宫出口处放着的奶酪,如何从入口到达出口?能否找到一条合适的路径?如果有,找出该路径。

3.2  数学建模:培养数学思维

学生理解问题之后就要对问题进行约简、构思、分析、建模。要解决问题就要从问题下手,首先要做的就是仔细研究问题,找到问题已知条件、未知条件以及两者之间的联系,弄懂问题的目的。其中,已知条件是n×n的迷宫、迷宫的入口、迷宫的出口,未知是正确路径的步骤,最后的结果有两种:如果不能找到路径,那么老鼠就吃不到奶

酪;反之,则是找到这条路径,吃到奶酪。

先来假设这是一个10×10的迷宫,其中灰色格子是墙,白色格子代表路,10×10表示迷宫的长和宽分别是10,如图3所示。“灰色格子代表墻,白色格子代表路”是用语言形式描述的,需要转换成数学的形式。用1和0分别定义灰色格子和白色格子,可以得到图4所示的迷宫。

将上面10×10的迷宫定义为二维数组:

m[10][10]=[1,1,1,0,1,1,1,1,1,1,

1,0,0,0,0,0,0,0,1,1,

1,0,1,1,1,1,1,0,0,1,

1,0,1,0,0,0,0,1,0,1,

1,0,1,0,1,1,0,0,0,1,

1,0,0,1,1,0,1,0,1,1,

1,1,1,1,0,0,0,0,1,1,

1,0,0,0,0,1,1,1,0,0,

1,0,1,1,0,0,0,0,0,1,

1,1,1,1,1,1,1,1,1,1]

有了对迷宫的数学定义,就可以很简单地定义迷宫的入口和出口。迷宫的入口是m[0][3],出口是m[7][9]。老鼠走迷宫问题就简化为找到一条顺利通往出口的路径,如果存在,就返回这条路径;如果不存在,就返回不存在这种路径。本例中就是要在二维数组m中找一条从m[0][3]到m[7][9]全部为0的路径。

通过对该问题的梳理,用数学思维可以把该问题转变为老鼠在一个10×10的迷宫中行走,每走一步有两种结果:碰到墙返回,或找到正确的路。在这个过程中,学生将该问题用数学的方式表述出来,再进一步化抽象为具体,间接地训练学生的数学思维。

3.3  问题分解:培养分解思维、工程思维

有了数学模型之后,就要考虑怎么去解决问题,也就是将老鼠走迷宫分解成小问题。在10×10的迷宫中,老鼠在0代表的小格子里可以选择向上、下、左、右四个相邻的格子走,因此可以将10×10迷宫再分解成3×3的迷宫进行简化分析,进而得出整个迷宫的情况,如图5所示。

老鼠在每一个格子上的行走情况可以用数组的形式表示:假设老鼠在m[i][j](0<i<9,0<j<9),与m[i][j]上、下、左、右相鄰的元素分别是m[i-1][j]、m[i+1][j]、m[i][j-1]、m[i][j+1]。只有这些相邻元素为0时,老鼠才能走过去。

在该过程中,一方面,学生学会将n阶迷宫分解成一个个简单的3阶迷宫,从而将复杂问题简单化,有助于在生活和学习中举一反三,快速有效地解决问题;另一方面,在分析迷宫的过程中,学生可以画出迷宫的简单图示,想象老鼠走迷宫过程中碰到的墙和路,利用工程结构合理设计迷宫的形状,进而培养工程思维。

3.4  设计算法:培养算法思维

要想计算机理解人的想法,就要将问题的解决步骤、方法用计算机能够理解的方式告诉它,从而让它按照人的指令执行任务。通过前面对问题的数学建模、问题分解,基本上完成各个模块的构建,接下来最重要的就是如何将各模块整合到一起完成上述功能,即如何运用Python搭建程序、设计算法。接下来就上面的建模和问题分解进行算法设计。用文字描述该问题的算法如下。

1)输入i*j个元素到数组m[]。

2)用1代表墙,0代表路。

3)如果当前位置是0,则表示行走成功,并标记为2,表示此路可行,后面的老鼠只要看到2,就可以大胆前行;如果当前位置为1,则行走失败,标记为3,表示此路不通,后面的老鼠看见3,就不要往这个方向走。

4)输出路径。

设有一个m[10][10]的数组,将迷宫转化为10×10的小方格矩阵,其中单元格中数值为1的表示墙,为0的表示路。凡是行走成功的单元格,标记为2;凡是行走失败的单元格,标记为3。清晰合理的算法构建有助于后面程序的编写,算法流程图如图6所示。该程序采用递归的方法判断下一步的行走是否可行,通过重复执行指定的算法,将老鼠寻找路径的问题分解为一个个简单的子问题来解决。

3.5  编写程序:培养编程思维

最后,以Python代码的形式将算法过程可视化,从而检验结果的正确性。如果结果错误,再返回第二步的数学建模修改,找到问题所在,进行修改,直至找到正确的解决步骤。用Python语言代码实现,如图7所示。

从上述这节迷宫问题的教学实例来看,基于培养学生计算思维的思想来设计整堂课的教学活动,学生能更好地掌握解决问题的一般方法,为以后举一反三打下基础。例

如:通过数学建模的方法将问题数学化、一般化;通过问题分解的方法对问题进行剖析,将复杂问题分步解决;通过设计算法的方法用算法思维构建各模块;通过编写程序的方法检验结果的正确性。本案例将计算思维的几个重要的思维方式融入程序设计,不仅能使学生理解和掌握信息技术相关知识与技能,还能培养学生的计算思维。

4  结论

“人工智能+教育”已成为教育技术界的热点,计算思维作为人工智能的基础思维,越来越被人们重视。研究和实践证明:高中信息技术Python教学有利于学生形成正确的计算思维意识,通过编程案例的理解和书写掌握计算思维方法,逐步提高计算思维能力。本文选取的“老鼠走迷宫”案例旨在培养学生的高阶思维,迷宫图的分析是把抽象问题转化为数学问题,老鼠在迷宫内寻找出口是搜索算法问题,最后在程序运行过程中用秒表计时的方法得出老鼠在10×10的迷宫中从入口到出口共花费1分15秒的时间,从而验证程序的准确性。希望该研究能为实际教学提供帮助,进一步提升学生的计算思维,推动信息技术教育教学改革。

参考文献

[1]刘向永.普通高中信息技术课程标准(2017年版)概览[J].中国信息技术教育,2018(5):5-6.

[2]王珂,陈刚.算思维评价 概念取向、要素框架与测量方法:以Scratch编程课为例[J].软件导刊,2020(7):257-261.

[3]曹晓明,安娜.培养计算思维的高中信息技术校本课程研究[J].现代教育技术,2018(7):106-112.

[4]余燕芳,李艺.基于计算思维的项目式教学课程构建与应用研究:以高中信息技术课程《人工智能初步》为例[J].远程教育杂志,2020(1):95-103.

猜你喜欢

计算思维高中信息技术数学思维
高中信息技术探究式教学的实践与思考
提升信息技术实践能力,促进学生全面发展
程序设计课程中计算思维和应用能力培养问题研究
让小学数学活动绽放数学思维
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
数学归纳法在高中数学教学中的应用研究
培养数学意识发展思维能力的研究