基于课程标准的计算思维教学实践路径

    陈栋

    

    《普通高中信息技术课程标准(2017年版)》(以下简称课程标准)发布后,计算思维已成为一线教师教学中的一个关注点。但在具体的教学实践中,有的教师把和计算机教学有关的内容全都放进计算思维这个“篮子”里,计算思维被泛化了;还有的教师则把计算思维等同于编程,计算思维被狭隘化了。笔者认为,作为一线教师,应正确理解计算思维,并将计算思维落实到具体的教学中。

    ● 一线教学中对计算思维的误解

    计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。分析以上定义可知:首先,计算思维是一种是思维活动;其次,它是在形成问题解决方案的过程中产生的;最后,解决问题所使用的思想方法是在计算科学领域内的。该定义非常清晰地将计算思维同知识、技能区分开来,明确它是建立在学习知识和技能基础之上的一种思维方式;该定义又明确地将计算思维同其他的思维,如实证思维、逻辑思维、数学思维和工程思维等区分开来,指明它是在计算机科学领域内独特的思维方式。

    因此,教师可以按照以上定义对计算思维进行简单判别。在解决问题的过程中,如果没有使用计算机科学领域的思想方法,一般就与计算思维关系不大;而直接或间接地运用计算机科学领域的思想方法,经历问题解决的过程,则可以判断计算思维在发生。

    但是,这种发生能否转变为教师在教学中对学生计算思维的有意识培养,则和一线教师对计算思维的认识和解读相关。在现实教学中,教师对计算思维常有两类误解。

    1.计算思维被泛化

    不少教师误认为,让学生使用计算机、数字化工具及信息系统等解决实际问题,就是培养学生的计算思维。

    案例1:在某节课上,教师让学生使用植物识别APP识别某山区的植被,然后使用电子表格软件记录和统计数据,同时绘制山区植被的分布图并标明类型,从而学习电子表格的使用方法。

    在案例1中,学生的学习活动的确是应用计算机解决问题,可在课堂上由于教师的教学重点放在如何使用APP、如何利用电子表格软件等操作技能的学习和应用上,所以学生在解决这一问题的完整过程中,虽然涵盖了观察、数据收集、分析、归纳的过程,但其解决问题的思想方法主要是观察法,并未使用计算机科学领域的思想方法,计算思维并未发生。但如果在教学过程中,引导学生在使用电子表格的同时,思考、分析要解决的问题,抽象出解决这个统计问题的模型,设计方案细化操作步骤和公式,完成步骤及运算,就可以培养学生的计算思维。又如,如果在教学过程中,引导学生探究植物识别APP能识别树木背后的工作原理,思考如何进行特征提取、卷积运算、特征分类、分类器训练等实现识别的过程,也可以培养学生的计算思维。

    2.计算思维被狭隘化

    不少教师误认为,即使是解决实际问题,但如果没有使用计算机、数字化工具及信息系统等,也无法培养学生的计算思维。

    案例2:在教学进制换算的某节课上,引导学生做手指游戏:首先,伸出一个手掌比划五根手指,让学生表示10以内数字的传统指法;然后,组织学生思考、讨论如何用五根手指依次表述连续更多的自然数。在教学中,根据班级整体情况,有时提示伸出几个手指表示对应的某几个数,有时不提醒。学生感觉很神奇,仅仅靠一只手就连续数出了0~31。学生在脑海中快速形成手指弯曲和伸直时的两种状态,确认数码是0或1,基数是2,然后依次伸缩手指,确定位权,合计得出某个二进制手形是十进制31以内的某个数字。

    在案例2中,虽然没有使用数字化工具,但学生的计算思维得到了有效的培养。

    ● 计算思维教学实践的方法路径

    对一线教师而言,正确理解了计算思维之后,还需要掌握一定的方法路径,据此开展计算思维教学的实践。

    依据课程标准,计算思维的内涵是“在信息活动中,能够采用计算机科学领域的思想方法界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决中”;计算思维的表现形式为“解决问题过程中的形式化、模型化、自动化、系统化”。课程标准从解决实际问题的角度揭示了计算思维的本质和特征。因此,在教学中,教师可以根据计算思维的内涵,分析其对应的信息技术教学内容,将计算思维发生过程中的问题界定、特征抽象、模型构建、数据组织、算法设计、方案实施、应用迁移等操作性的、成系列递进的关键思想方法融入教学。

    结合教学实践,笔者构建出如上图所示的在信息活动中问题求解的计算思维过程。在教学中,教师可以引导学生采用从形式化、模型化、自动化到系统化的方法路径来解决实际问题,让学生在解决问题的过程中自然地发生计算思维,逐步发展计算思维。

    1.形式化

    李锋等在课程标准解读中指出,“形式化”是指在信息活动中能够采用计算机可以处理的方式界定问题,抽象关键要素,分析要素间的关系。结合课程标准,教师可以对“形式化”作如下理解:学生在信息活动中找出解决问题的关键对象;分析关键对象之间的联系、结构,忽略其中不相关的细节;提取关键对象的属性、规则等特征,在此过程中逐步用约定、规范的符号或语言清晰地表达问题。

    2.模型化

    “模型化”可以理解为“建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案”。为什么形成方案也纳入了“模型化”?“模型化”中的解决问题的方案,一是指尚处于“算法”过程中的方案,尚未实施“自动化”,还未成为“编程语言”或“数字化工具”使用过程中的方案;二是指“算法”过程中的方案,尚属于高级的“结构模型”。计算思维的模型构建,不同于数学模型和物理模型,一般是建立在数学模型基础上,偏重数据组织、形成算法结构或解决方案的数据模型。

    结合这些观点,教师可以将“模型化”作如下理解:在问题“形式化”基础上,选择已有解决问题的模型或者设计新模型,并根据该模型组织数据,判断、分析、综合信息,在此过程中從建立结构模型发展至形成解决问题的完整方案。这里提到的模型主要指有结构的算法或方案。

    3.自动化

    生活中无处不在的解决问题的“自动化”装置——数字化工具,其背后的本质就是自动化。李锋等在课程标准解读中指出,“自动化”是探究利用信息技术解决问题的过程与方法,实现解决问题方案的自动化运行。在中小学信息技术学科中,“自动化”侧重表达了计算思维的技术特征,一线教师对自动化的初始理解可以先放在数字化工具的自动化运行层面,随着认识的提升再进一步接触其本质的描述。需要注意的是,课程标准中提到的对信息加工的“工具”、选择适当的“工具”,这个出现频繁的“工具”,一般就是指解决问题的“数字化工具”。

    解月光在课程标准解读中,对“自动化”有着详细的诠释:“自动化”是“指在把握信息系统运行规律的基础上,通过操作数字化工具,使相应的信息设备、信息系统或信息运算过程按照人的要求,经过自动检测、信息处理、分析判断、操纵控制等过程,实现预期目标,并通过迭代的方法对其(处理流程)进行不断完善和逐步优化”。

    4.系统化

    李锋等在课程标准解读中,指出“系统化”是形成解决问题的系统过程,将其迁移到与之相关的其他问题解决中。值得注意的是,“系统化”中的“迁移”特别重要,通过教学,期望学生能将计算思维解决问题的能力迁移至其他领域,形成创新、创造,不断发展计算思维。

    结合课程标准,教师可以将“系统化”作如下理解:归类、整理、加工从“形式化”“模型化”到“自动化”形成的计算机解决问题的过程与方法,集中成为优化的有机整体,并能够进行过程和方法的迁移,形成解决同类或相关性质问题的通用或创新方案。

    ● 数据处理与应用中的计算思维教学实践

    从形式化、模型化、自动化到系统化,这一方法路径体现了计算思维的本质,反映了计算机学科解决问题特有的思路,为计算思维教学实践提供了抓手。鉴于使用编程语言解决实际问题的计算思维教学实例很多,一线教师的研究比较普遍,本文不以编程为例,而以用数据处理工具解决停车收费管理问题的项目来举例。

    项目:调查某个居民小区停车收费管理情况,帮助物业实现停车费的自动计算和缴费统计工作(本项目活动选自沪科教版《信息技术 必修1 数据与计算》)。

    1.学习目标

    根据真实的任务需求,选用恰当的软件工具或平台对数据进行整理、组织、计算与呈现,发展学生利用信息技术解决实际问题的能力。

    2.教学过程建议

    环节一:分析问题。

    活动内容:(1)交流课前了解的本小区停车收费情况,或了解教师提供的真实生活中一些居民小区停车收费典型案例(如某小区所有车辆统一按停留时长收费,或某小区固定车位业主按月缴费,临停车辆按停留时长收费)。(2)选择某一个小区,准确地描述要解决的具体问题,并进行需求分析,将问题分解为若干个求解步骤,如①明确要解决的子问题——计算停车费和统计分析缴费数据,②确定数据需求(需要采集的数据及数据来源),③选择数据处理工具、平台或编程工具,④处理数据(数据的加工、分析和可视化),⑤检查数据处理结果并完成数据分析报告。

    计算思维——形式化:针对生活中的具体问题进行需求分析,分解和界定问题,这就是形式化思考。学生需要从真实的项目情境中找出问题,并分解问题,即将数据、过程或问题转化为若干个更小的、易于解决的部分,并抽象出解决这类问题的具体步骤。例如,学生会分析解决小区停车收费管理问题,开展如下的思维活动:思考该问题可以分解为哪几个由计算机解决的子问题,解决各个子问题分别需要哪些必要的数据、哪些具体的步骤,等等。

    环节二:准备和组织数据,设计数据处理方案。

    活动内容:(1)根据数据需求采集或准备数据,并以关系表的形式组织数据,设计二维数据表,如停车费计算表和缴费统计表。(2)从计算机解决问题的角度将解决问题的步骤进行抽象,形成数据处理方案,如建立计算停车费的模型和统计缴费情况的模型,列出相关的计算公式和步骤。

    计算思维——模块化:组织数据,梳理数据之间的逻辑关系,将其构建为一个简单的数据模型(二维表),这就是模块化建构;对常规的问题求解步骤进行模型抽象,列出计算机自动解决问题的操作步骤,列出具体的数据计算公式,这也是计算思维的模型化表现。在本环节中,学生把实际问题的解决抽象并转化为一些常量和变量、对象、运算符、函数和公式等,构建起一个数据模型。

    环节三:实施数据处理。

    活动内容:(1)选择适当的数据处理工具(如Excel),创建并输入数据表。(2)利用数据处理工具提供的相关功能(如公式、函数)设置操作命令,对数据进行加工和分析。(3)对自动得出的数据处理结果进行检查和验证。

    计算思维——自动化:在本环节中学生将解决问题的思路通过数据处理工具固化下来,形成有效且完整的操作步骤,实现了问题解决方案的自动运行。特别是在检查和验证数据处理结果的时候,学生通过不断改变输入数据,按照同样的操作步骤得到数据处理结果,根据结果验证、优化自己的实施方案,切实体验自动化,发展计算思维。

    环节四:总结与拓展,并进行问题迁移。

    活动内容:(1)归纳解决该问题的一般过程。(2)尝试解决一个教师给定的类似问题,如采集数据,计算全班学生的身高体重指数,分析班级学生的健康情况。(3)思考与交流还可以迁移解决哪些问题。

    计算思维——系统化:将利用计算机学科的知识和方法来解决问题的过程进行整理、归纳,以解决更多的类似问题,或迁移至相关的其他问题解决中,这就是系统化实现。

    在以上案例中,教师借助真实的问题情境,引导学生对问题进行分解和抽象,然后构造合理的模型,并设计适当的問题解决方案并加以实现,最后引导学生迁移问题,促进了学生计算思维的形成和发展。