落实学科核心素养,发展计算思维能力

2021-08-30 17:33李辛
中国信息技术教育 2021年10期
关键词:算法解决问题案例

李辛

《普通高中信息技术课程标准(2017年版)》(以下简称新课标)发布后,信息技术学科核心素养之一的计算思维能力成为最能体现信息技术学科特点、践行新课标精神的中心内容和主线。在利用计算机解决问题的过程中,计算思维起着非常显著的作用。通常,计算思维被用于描述标准的算法和程序,因为算法思想与计算思维在思考方式、处理方法以及解决问题的过程方面都非常相似,所以计算思维在程序设计过程中的运用较为常见,但那些看起来和“计算”不相关,实际上却暗含了计算思维的教学内容,才应该是重点关注的,它是新课标中提出的“总结利用计算机解决问题的过程和方法,并将其迁移到与之相关的其他问题解决中”这一指导思想重要体现,是培养计算思维能力的重点所在。

“数据处理与应用”教学中存在的问题

“数据处理与应用”隶属于必修1“数据与计算”模块,强调信息社会中数据的重要价值,数据对社会的影响与作用,在解决现实问题过程中,了解数据采集、数据分析与数据可视化表达的基本方法,选用恰当的软件工具或平台处理数据。认识到利用技术工具对数据进行有效的处理,发现信息,是人们解决问题的重要途径之一。在教学中,教师常会将“会用软件进行计算”作为主要教学目标,如在数据信息加工中只关注数值型问题的计算、统计、筛选、可视化表达等操作,对于非数值型问题涉及较少。整个教学中忽视思维方式的养成,其结果是学生只会根据教师提供的标准方法来做事情完成任务,缺少创新意识,更不会有意识地应用计算思维的方式和特点来解决问题。例如,教师在教学中常用到条件明确、方法确定、容易列出公式的案例,这样的案例仅能让学生机械地重复操作技能,缺少思考的空间,因此,整个过程只是将数学演算换成了计算机软件操作,思维方式并没有改变。但是若换成条件模糊、没有明确数学关系,需要界定问题、抽象特征、建立模型和构造算法的劣构问题,则能为学生提供较好的思维活动平台。

实际上,可以将教学案例分成两类,一类是有清晰、确定的条件,可经过较容易的数学解析得出算式,不用进行烦琐的转化和推演,如“鸡兔同笼”问题等。另一类则是条件不清、方法不确定、需要深入思考和反复推理的问题,如“计算机模拟社会现象”等。第一类可以引导学生按照数学思维和规律来解决问题,但是恰恰因为有规律可循,才忽视了计算思维的精妙之处。课堂中,教师会认为学生能够完成算法设计写出正确的程序代码或得出正确的数值,就是成功,造成的结果是计算思维的养成没有落实。第二类其问题的呈现是复杂的、无序的,学生需要深入思考,应用逻辑推理去完成,面对这类问题,学生往往不知如何着手。而正是这样的问题,才能显现出计算思维的用处,有利于培养学生的计算思维能力。由此可见,我们在教学中要转变教法,拓展教学内容,引导学生解决综合问题来达到其计算思维的养成。

在“数据处理与应用”教学中贯彻计算思维的思考

新课标指出,“计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动”。每个学生在学完这部分内容之后,将能够运用计算机可以处理的方式,准确界定问题范围,抽象事物特征,建立正确模型,合理地收集、组织、分析数据,得出解决问题的有效方案,并且会将其迁移应用到其他问题中去。与数学思维相同,计算思维也是人脑的思维,但是其解决问题却是运用计算机科学领域的思想、原理与方法,运用计算机可以处理的方式来完成。从基础层面上讲,计算思维与数学思维十分相似,只是解决问题的方案适合于不同对象。数学思维形成的方案,能够纯粹依靠人脑来完成,计算思维形成的方案,一般都需要運用计算机的“自动执行”来完成。正因为如此,计算思维与数学思维有一定的一致性,但也有不同,计算思维在拥有数学思维的同时,也融合了计算机科学领域的特征,更加偏重考虑客观条件的限制,提出可执行方案,与数学思维相比,计算思维不注重理论与推导过程,而是更关注输入、输出以及变量之间的关系等。同样,计算思维也与算法思想有关系。计算思维是思维活动,算法是将这种思维具体化,将其表述成计算机能够执行的步骤;编制程序则是算法在计算机上的实现过程。因此,要养成学生的计算思维需要注意:一方面是“应用计算机科学领域的思想方法”,这说明计算思维不只是纯粹的算法与编程;另一方面是“迁移到与之相关的其他问题解决中”,计算思维除了能够解决计算机系统本身的问题,还要拓展其运用的范围。能够设计出有价值、可探究的案例,引导学生运用计算思维进行有方法、有步骤的深度思考,培养他们在解决问题的活动中形成计算思维的意识,提升计算思维的能力,才是教学中所要关注的重点。

一个以计算思维为导向的教学案例

1.案例内容

在网页中,经常可以看到“猜你喜欢”栏目。观察、对比后可以发现,网站会为不同的人推荐不同的新闻。在新闻传播理论中,这种形式被称为“定向推送”。“定向推送”的依据是判断你对哪些类别的新闻感兴趣,如时事、科技、文学、体育等。

网站是如何做到定向推送新闻的?一是记录用户浏览新闻的“上网行为”,“计算”你对各类新闻的“兴趣度”,如某用户经常浏览某一类的新闻,它就认为这个用户对这类新闻的兴趣度较高;二是“测量”某个用户与其他哪些用户的兴趣度相似,然后把推送给其他用户的新闻同样推送给这个用户,以扩大新闻传播范围。

2.运用计算思维解决问题的方法

网站是如何“计算”用户对某类新闻的兴趣度的?又是怎样“测量”某个用户与其他用户的兴趣相似度的呢?在网页上,会看到新闻的下方有一些按钮,如“收藏”“点赞”“评论”“分享”等,这些按钮分别表示了用户对该条新闻感兴趣的程度。当用户按下这些按钮中的某一个时,实际上就表达了对这条新闻的“兴趣度”,如按下“收藏”,说明对这条新闻兴趣一般,按下“分享”,则证明对这条新闻很感兴趣。

那么,计算机是如何处理人的“行为”“态度”等“非计算类”问题的呢?一个基本的方法,就是通过计算思维活动,把“非计算类”问题转换成“可计算类”问题,形成用数学语言描述的解决问题的方案,利用计算工具加以实现。运用计算思维解决“非计算类”问题,需要经历界定问题、量化、建立数学模型、算法设计和自动计算等步骤。

(1)界定问题。从具体事物中抽象出需要解决的问题。在这个案例中,我们需要解决以下问题:①如何用数值来表示“行为”“态度”;②如何计算人与人之间的“兴趣相似度”;③怎样让计算机自动计算,得到结果。

(2)量化。将复杂多变的信息转变为可以度量、可计算的数值。也就是用数值来表示人的“行为”和“态度”。在这个案例中,可以给每个按钮赋予不同的数值,用数值大小来表示对新闻的兴趣度,数值越大,兴趣度越高,如将“阅读”赋值为1,“点赞”赋值为2,“收藏”赋值为3,“评论”赋值为4,“分享”赋值为5,这样就把人的“态度”量化成了数量等级。

(3)建立数学模型。在合理的量化基础上,建立各变量之间的数学联系,并用数学公式或数学语言表示。在日常生活中,人们常用“形影不离”“渐行渐远”来比喻两个人之间的关系,这说明人与人之间的亲疏关系可以用“距离”来衡量。将这个说法类推到数学上,就能够借助“点与点”之间的距离,来计算不同用户兴趣度的接近程度。因此,可用点与点的距离公式(欧几里德距离公式)作为计算人与人兴趣相似度的数学模型。

设有n条新闻,xi为x用户对第i条新闻的兴趣度,yi为y用户对第i条新闻的兴趣度,则两人的兴趣相似度d为:             。d的值越小,两人的兴趣度越相似。

(4)设计算法。根据数学模型,将制订好的解决问题的方案转换成计算机可执行的方法与步骤。在本案例中,可以借助Excel软件,使用函数和自定义公式进行计算。

(5)自动计算。利用VBA对程序功能“封装”,通过点击按钮让计算机自动计算。观察计算结果可以发现,用户5与用户4的兴趣度最为相似。因此可以把用户4兴趣度高的新闻同样推送给用户5。这样就实现了向特定人群发送特定类新闻的“定向推送”功能。

结论

运用计算思维解决“非计算类”问题的基本方法如上图所示。

可以明确,计算思维不只是用来“计算”的,也不仅是应用于计算机系统,它应该是应用于社会的很多方面,因此,“迁移能力”是运用计算思维解决问题的关键,上面呈现的案例就是把有关计算机科学的思想和方法迁移到了“不可计算类”问题的解决中。在落实学科核心素养的过程中,教师要转换教学理念,拓展教学内容,转变传统教学方法,通过解决综合问题来达到培养计算思维的目的,以思考方式为立足点,指导学生如何将条件模糊、综合性强的问题抽象、量化、约简、转化、建模,形成方案,并利用计算机自动执行,在整个过程中提升计算思维能力。

本文為陕西省“十三五”规划课题“普通高中信息技术新教材数据处理与应用单元教学研究”的阶段性研究成果,课题编号:SGH20Y0066。

猜你喜欢
算法解决问题案例
浅谈列方程解决问题
“解决问题的策略:一一列举”教学实录与反思
样板案例
NSE 9A-Module 4-Unit 2案例设计
Travellng thg World Full—time for Rree
两只想打架的熊
学习算法的“三种境界”
算法框图的补全
算法初步知识盘点
随机变量分布及统计案例拔稿卷