阮静
摘要:本文聚焦指向计算思维的高中信息技术学业水平试题,在对“计算思维”的概念内涵和高中信息技术学业水平考试要求全面深入研究的基础上,展开教学案例设计与课堂实践,同时,立足于教学实际,提出高中信息技术教学可以从实施项目教学、设置情境问题、跨学科融合设计发散性任务等方面进行教学训练,以提高学生的计算思维水平。
关键词:计算思维;学业水平考试;教学策略
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2024)12-0027-03
《普通高中信息技术课程标准(2017年版2020年修订)》(以下简称“新课标”)提出要发展学生的计算思维,并鼓励学生在不同的问题情境中,运用计算思维形成解决问题的方案。[1]同时,新课标指出要鼓励学生通过自主探究解决项目中的问题,在解决问题的过程中整合知识,促进思维发展,引导学生在“尝试—验证—修正”的“试错”过程中,发展计算思维。[2]新课标不仅在知识内容和技能掌握方面对教师提出了更高的要求,更是对学生的思维发展提出了更深层次的期许,同时对学生的学习提供了强有力的指导。因此,如何让学生在知识学习与技能习得的同时达成思维训练,如何考查学生思维能力的提升,是一线教师以及教育考试院的命题专家不断探索思考的问题。
计算思维的特征与考查方式
新课标中明确指出:计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。[3]国际教育技术协会(ISTE)与计算机科学教师协会(CSTA)从操作的角度,定义计算思维是一个问题解决的过程,该过程包括问题阐释、数据分析、数据呈现、解决方案的制订、资源的最有效利用与整合、问题解决方案的迁移应用等。[4]
在实际教学过程中,对计算思维水平进行评测是一个比较系统复杂的工作,对问题解决的过程,可以从对问题的抽象概述、对数据的组织与合理利用、对结构模型的抽象等角度进行评估考查。不同的角度选择的考查评估方式应有所不同,对不同层次学生的计算思维水平评测的方法也应有所区别。
关于计算思维水平的评估,国内外的很多专家学者进行过研究,比较典型的就是基于试题的评价工具,以试卷测试题的形式进行客观的测量。对于有一定计算机编程基础的学生,还可以设计不同层次类型的编程类习题,基于编程对学生计算思维水平进行考查。此外,还可以观察记录学生解决问题的过程,并形成过程性评价。
高中信息技术学业水平考试的要求
高中信息技术学业水平考试是一项合格性考试,是面向全体高中生的考试,相较于高考这种选拔性考试,学业水平考试更加侧重对信息技术学科基础知识和技能掌握情况的考查,强调知识的覆盖面,强调试题的普适性,注重考查学生学习的广度,而非深度。高中信息技术学业水平考试以学业质量水平2为依据,以高中阶段的两个必修课程模块为内容载体,以当地学生的学习情况为参考进行命题考查。
笔者所在省的学业水平考试采用的是上机测试的形式(40分的基础知识选择题,还有60分的操作题),在全面考查学生的基础知识水平和技能操作水平的同时,还需要根据学科核心素养水平表现考查学生的关键能力。
新课标将计算思维划分为4个水平,各个水平之间有一定的层次关系,落实到学业水平考试的试题考查中,不仅需要考虑学业质量水平,还需要梳理其与核心素养各级水平之间的关系。基于此,笔者所在省的高中信息技术学业水平考试在综合考虑学业质量水平和计算思维的水平划分与描述后,将计算思维的考查落脚于程序设计单元,考查学生运用Python程序设计语言编写计算机程序解决问题的能力。对比分析2023年1月的学业水平考试和2024年1月的学业水平考试中的Python程序设计题,考查的知识点基本一样,但题目的设计变化较大。例如,在两道考查if条件分支语句的题目中,2023年的题目要求学生写出除输入语句以外的所有代码,2024年的题目代码结构完整,只让学生补充填空。初看2024年的题目的难度要比2023年的题目大得多,但仔细分析就会发现,2024年的题目更加注重学生抽象问题、界定问题、分析问题的能力,只需梳理清楚变量之间的关系,问题就会迎刃而解。
新课标、新教材施行三年来,笔者所在省高中信息技术学业水平考试的试题对学生计算思维水平的考查越来越具象化,也越来越灵活,不仅考查学生程序设计语句的基础知识,更注重考查学生对数据的识别组织能力和对问题的分析能力、抽象概括能力。
指向计算思维的高中信息技术学业水平试题的教学策略
1.实施项目教学,建构知识体系
指向计算思维的学业水平考试题虽然在不断变换形式、题型,但是完成这些题目应具备的基础知识是固定的,运用计算机领域的思想方法解决问题的思路是可以经过训练习得的。
在算法与程序设计章节,教师可以基于学生的真实学习生活,展开项目活动设计。例如,在while循环语句这一节中,教师设计了随机点名程序项目活动,并设置层层递进的探究任务,让学生在探究操作的过程中建构起while循环语句的结构体系,并在项目推进中了解列表、随机函数等相关内容,学生在项目不断拓展的过程中了解程序软件的设计思路与过程,在自己设计制作小程序的真实体验中逐步建立起程序设计的物化思维,达成知识建构与思维训练。
2.设置情境问题,培养关键能力
计算思维作为一种复杂的思维方式,是学生在分析、思考、实践问题的过程中逐步形成的,指向计算思维的学业水平考试题主要考查的是学生的计算思维能力,而无论是选择题还是操作题,都需要学生具备解读题目、抽象概括题目问题、分析问题、合理利用数据和资源、调用知识、阐释解决问题的能力。以2024年1月学业水平考试中的“for循环语句”题目为例,学生首先需要读懂题目所给的样例,分析样例中涉及的两个数据变量,分析梳理出这两个数据变量的变化规律;其次,读懂题目已经给出的部分代码,分析代码中所给的变量哪一个是用for循环调用range()函数来实现,哪一个是在程序循环中需要自己写语句来实现;最后,需要看懂样例中的表达式是如何通过程序实现打印出来的(包括标点符号以及变量的前后位置)。这一过程,需要学生有读题、析题、运用形式化方法熟悉问题、运用计算机程序设计的相关知识编写补充代码实现问题解决的能力。因此,教师在日常教学过程中需要多关注问题的情境,设置复杂的情境、具有挑战性的任务,让学生在情境任务中通过经历思考分析、数据组织、资源调用、实践演练、反馈调整的过程逐步形成计算思维。
3.跨学科融合,培养发散思维
(1)引入跨学科案例,引导学生抽象界定问题
为了让学生更容易读懂题目,抽象出问题的模型,教师可以引入跨学科案例,让学生利用多学科知识、综合各种信息资源,设计出解决问题的算法模型,运用计算机领域的思想方法与知识内容解决问题,并将解决问题的方案迁移应用于其他问题中。例如,在体验程序解决问题的题目中,可以引入如体育学科中IBM计算与判断、运动心率的测试验证等案例,让学生通过跨学科融合抽象出算法模型,更好地理解计算机程序算法的思想方法。
(2)通过典型习题检验和巩固学生的发散思维
为了不断巩固学习效果,教学过程中教师可以适时引入一些典型习题,以训练学生的发散思维。在学完程序的基础语句和三种基本结构之后,教师可以将典型问题做一些变形,以充分调动学生的主观能动性。例如,针对学生熟知的概念“因数”,教师可以让学生设计算法编写代码以实现求任意一个正整数的因数。先引导学生了解因数的概念——假如三个整数a、b、c,使a*b=c,则称a和b就是c的因数,题目的要求是从c入手去找a和b,只要c能整除a,a是c的因数,同时b也是c的因数,a和b的取值范围就是1到c本身,a和b可能是同一个数字,可以想到,求c可以采用枚举的算法一次判断1到c,这个c的个数就是c的因数(如右图),即可实现这个题目的求解。
经过教师的引导,学生利用数学知识进一步优化程序,修改range(1,c/2+1)程序的执行次数可缩减一半,还有学生会进一步修改为c的开平方+1,又一次提高程序效率。同时,教师也可以进行进一步拓展:求c的因数的个数、因数的和、判断c是否为素数等。一道题目多角度发散,打破学科知识、模块知识的常规界限,让学生在探究任务的过程中建立起知识之间的内在逻辑关系,达到思维训练的目的。
(3)在学科实践中提升学生的创新能力
指向计算思维的学业水平考试具有多样性和不确定性,仅仅依靠典型习题对学生的发散思维进行训练是远远不够的,还需要从日常的学科实践入手,让学生经历真实的问题解决过程,在学科实践活动中培养学生的创新能力。例如,在科技节活动中开展编程挑战,如编写小游戏、制作简单的网页或APP等,帮助学生掌握编程语言和技能,同时激发他们的创新思维和解决问题的能力等。
结束语
高中信息技术学业水平考试是基于学科素养展开的评价,计算思维是信息技术学科最重要的核心素养,对计算思维水平的考查是其中重要的一部分。除了实施项目教学、设置情境问题、引入跨学科案例、经典习题训练、开展学科实践活动,教师还需要进一步加强日常课堂评价,根据考试答题表现以及课堂学习活动表现对学生展开学习指导,关注学生思维真实发展的全过程,真正提升学生的信息素养。
参考文献:
[1][2][3]中华人民共和国教育部.普通高中信息技术课程标准(2017版年2020年修订)[S].北京:人民教育出版社,2020.
[4]ISTE&CSTA.Computational thinking teaching in K-12 Education: teacher resources, secondedition(2011)[DB/OL].http://csta.acm.org/Curriculum/sub/CurrFiles/472.11CTTeacherResources_2ed-SP-vF.pdf.
基金项目:厦门市高中“提质增效”专项专家型教师课题“基于计算思维培养的高中信息技术课堂教学评价研究”(项目编号:XMZJ2023024)。