APP下载

面向计算思维的 高中信息技术项目学习实践研究

2022-05-23邵红祥

中国信息技术教育 2022年10期
关键词:项目学习计算思维信息技术

邵红祥

摘要:计算思维是信息技术学科核心素养之一,是信息技术课堂培养学生的重要素养,而项目学习是培养计算思维的有效途径。本文以“编程计算网购文具总价”项目的实践为例,按照计算思维发展路径,将知识建构、思维培养与创新发展融合到项目实践过程中,有效训练和发展计算思维。

关键词:计算思维;项目学习;信息技术

中图分类号:G434  文献标识码:A  论文编号:1674-2117(2022)10-0049-03

《普通高中信息技术课程标准(2017年版)》凝练了信息意识、计算思维、数字化学习与创新、信息社会责任四个学科核心素养,提出了“把握项目学习本质,以项目整合课堂教学”的要求,鼓励教师在教学中要紧紧围绕学科核心素养,把项目整合到课堂教学中,重构教学组织方式。如何基于项目学习,整合知识与技能的学习来发展学生的计算思维,一直是笔者探索的问题。下面,笔者以具体项目为例探讨如何围绕计算思维培养的核心目标,将知识建构、思维培养与创新发展融合到项目实践过程中。

● 利用项目学习有利于计算思维的培养

在项目学习实践中,教师创设真实情境,让学生经历分析问题、提出问题、形成学科问题的过程,避免了传统教学中教师直接给出学科问题的弊端,提供了计算思维中抽象与形式化表达能力锻炼的机会;学科问题解决过程也是学生新知学习、实践探索的过程,在此过程中,学生需要掌握计算机科学领域的思想方法,运用计算机科学特有的解决问题的方式,形成学科解决方案,通过问题驱动的方式培养学生计算思维中的构造和自动化能力;项目学习一般倡导学生能形成一定的成果,通过对成果的评价,引导学生对解决该问题的过程进行总结、归纳和提炼,思考解决该问题运用了哪些知识技能、思想方法,该解决方案还能解决哪些同类问题等问题,从而内化所学的知识技能、思想方法,并形成实际解决方案,而该方案在学科解决方案的基础上已进行了提升与拓展,更适用于现实世界中同类问题的解决,也能更好地培养学生的迁移应用能力。这样,“真实情境中的真实问题”“学科问题”“学科解决方案”“实际解决方案”就形成了一个循环,利用项目学习培养计算思维的过程如下图所示。

● 项目学习实践发展计算思维的路径

通过项目学习来发展计算思维,需要按照“创设真实情境”“问题驱动解决学科问题”“成果导向概括实际解决方案”“迁移应用解决同类问题”等环节让学生经历抽象—形式化表达—构造—自动化的方法路径。下面,以“编程计算网购文具总价”项目的实践为例,探讨项目学习实践发展计算思维的路径。

1.项目背景

编写计算机程序来解决问题是信息技术学科发展学生计算思维的重要途径和方式。对学生而言,需要掌握某一种编程语言的基本知识,目前高中教材多使用Python语言,虽然学生之前已经学习了算法与问题解决、编程解决问题的一般过程等相关内容,但在运用Python语言编程解决问题时,还需要学习Python语言的环境、数据类型、变量、运算符、表达式等基本知识,传统的程序设计教学常错误地把语言的学习作为教学目标,而实际上语言仅仅是载体,计算思维的培养才是核心目标。[1]因此,程序设计教学需要通过项目学习来发展计算思维。

2.创设真实情境

教师根据项目所涉及的教学内容和设定的教学目标,创设如下真实情境:

网购文具有着较大的市场需求,买家只需要支付一笔不高的快递费,就可以在家收到自己喜欢的文具。例如,某文具店的部分文具的价格如表1所示,现在想设计一个简单的结账程序,能根据买家购买的文具品种和数量,计算总金额。

基于该真实情境,学生在界定“编程计算总金额”的问题后,需要运用之前所学的相关知识,即“编程解决问题的一般过程:抽象建模、设计算法、编写程序、运行调试”来解决问题。针对“抽象建模”,学生需要抽象出该问题的“总价、单价、数量、快递费”等关键特征,然后通过假设来梳理这些特征之间的关系,即假设某买家购买了m支钢笔和n本笔记本这两种文具,快递费为10元,总价设为pay元,则这两种文具对应单价分别为28.5和18,构建的模型为:pay=28.5×m+18×n+10。根据抽象出的关键特征和模型,运用“数据、运算、控制转移”算法三要素的设计原则,设计如下算法:

①输入购买的钢笔数量m和笔记本数量n。

②计算总金额pay,其中pay=28.5×m+18×n+10。

③输出需支付的总金额pay。

3.问题驱动解决学科问题

用Python语言编写程序来实现上述算法是该项目的关键。对于没有Python语言基础的学生来讲,该任务具有很大的挑战性。教师要引导学生讨论和思考“在实现过程中遇到了哪些问题”,经过整理和归纳,大致会有如下问题:①m和n在程序中如何表示?②怎么输入和输出?③计算公式怎么编写?然后,围绕这些问题展开新知学习和实践探索。

解决“m和n在程序中如何表示”这个问题,学生需要学习“数据类型”和“变量”等相关知识,掌握计算机中存储的数据一般需要区分不同的类型(常见的数据类型有整型、实型、字符型、布尔型),了解不同数据类型的表示方式和适用场景(数据在计算中可用变量、常量等来表示,变量命名要符合一定的规则等)。在掌握这些相关知识的基础上,教师提供表2让学生实践。

解决“怎么输入和输出”这个问题,学生需要学习“内建函数”和“赋值语句”等相关知识,掌握Python语言对数据的输入和输出提供的“input()”和“print()”内建函数,其中,input()函數会将用户输入的数据以字符型接收到程序中,若需要接收整型或实型数据,则需要应用int()和float()函数进行转换,然后通过“=”赋值语句将结果赋值给相应变量。学生基于前面“数据类型”和“变量”的相关知识来理解这些函数和赋值语句的功能与用法就相对容易了。在掌握这些相关知识的基础上,教师可让学生分别用相应语句表示算法中的步骤①和③。

解决“计算公式怎么编写”这个问题,学生需要学习“算术运算符”的相关知识,掌握计算机中的常见运算及表示。掌握了这些知识以后,就可以用相应的语句表示算法中的步骤②。在解决了上述三个问题以后,对应算法的程序已经编写完成,学生可通过调试运行来检验程序的正确性。基于解决“编程计算网购文具总价”真实问题的情境,将知识与能力融入到学生“问题生成新知”的过程之中,逐步提升构造和自动化的能力。

4.成果导向概括实际解决方案

该项目的成果是学生编写出的“网购文具支付总价”程序,从计算思维培养的角度看,学生不仅要能编写出该程序,还要内化编写该程序的过程中运用到的知识技能与思想方法等,要能将“学科解决方案”提升到“实际解决方案”的高度,运用类似的过程与方法解决更多的同类问题。因此,教师要基于该项目的成果,引导学生进一步讨论与思考:编程解决问题的过程是怎样的?你的程序不能编写完成的原因在哪里?你的程序不能成功运行的原因是什么?你觉得学习或生活中的哪些问题也可以采用这种过程与方法来解决……学生通过总结、归纳和提炼,进一步理解“计算机中数据的存储与表示、数据的运算”等相关的原理,融通知识间的联系,掌握遵循Python语言的语法规则编写程序的基本技能,内化编程解决问题的思想与方法,促进深度学习的有效发生,避免学科知识的浅层化和思维的表层化。

5.迁移应用解决同类问题

项目学习能有效促进知识间的内在联系,将零散的知识整合处理,使其围绕“主题意义”形成结构化知识,进而内化知识,迁移运用知识。而迁移应用解决同类问题恰好是计算思维的内在要求。因此,教师要在原有项目的基础上,对项目任务进行适当拓展与延伸,如增加“策划一次促销活动,文具购买金额每超过100元可以减免20元”“文具购买金额超过100元可以减免快递费”等要求,若学生已具备了一定的计算思维能力,会按照“抽象建模—设计算法—编写程序—调试运行”的过程,基于遇到的新问题,通过实践探索建构新的知识,促进新技能的掌握,从而进一步发展计算思维。

● 结束语

计算思维是信息技术学科核心素养之一,是信息技术课堂需要培养的学生的重要素养,而项目学习为计算思维的培养提供了具体的依托和支撑。面向计算思维的项目学习是一种渗透式教学,它将计算思维这一学科核心素养渗透、融入到项目实施的每个环节,在计算思维路径的引导下推进项目学习有效实施。思维培养和课堂教学有机结合,项目随着思维的扩散而推进,思维随着项目的完善而进阶,最终使能力在思维的训练下得以提升。

参考文献:

[1]中华人民共和国教育部.普通高中信息技术课程标准(2017年版) [M].北京:人民教育出版社,2018.

[2]王荣良.基于思维视角的计算思维教育落实[J].中小學数字化教学,2020(01):20-23.

[3]姜浪.新课标下信息技术项目式教学教案设计思路[J].中国现代教育装备,2020(02):36-37.

猜你喜欢

项目学习计算思维信息技术
新一代信息技术征稿启示
新一代信息技术征稿启示
新一代信息技术征稿启示
信息技术在幼儿教育中的有效应用
广挖资源深度整合巧用技术
成熟的教与学
大学英语教学中项目学习的应用探讨
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析