高萍 袁寿根
为培养学生适应终身發展和社会发展需要的必备品格和关键能力,针对过分强调学科本位、科目过多和缺乏整合的现状,本轮课程改革提倡加强不同学科之间的相互关联、相互渗透,从而改变现行课程过分强调学科本位的现象,“跨学科”教学内容设计成为本轮课程改革的重要内容。利用校本课程灵活多样性的特点,不拘泥系统知识的束缚,根据学生特点和育人目标,选择综合性项目进行跨学科课程内容设计,有利于学生充分体验跨学科方式解决问题的过程。而计算思维为各类问题的解决提供了新的策略和方法,为跨学科设计找到了信息技术学科与其他学科相互交融的纽带。
“计算思维”需要数学建模
计算思维培养需要学生经历“分析问题”“算法设计”“程序编写”及“调试运行”四个环节,其中算法设计是问题得以解决的关键。有些问题,学生通过简单的抽象就可以直接进行算法设计,但有些复杂情境中的问题,在算法设计前,还需要通过数学建模或逻辑求解才能把问题转化成可计算的问题。
案例一:模拟转盘“随机转”效果。
问题描述:指针初始位置指向0度位置,单击“go”按钮后,转盘开始转动,每次转动不同圈数,停下后,落针位置指向奖品区中央。
数学建模:如图1所示圆盘被分成8个奖品区,转盘向右每转动一格,需要转动(360/8=45)度,要保证每个奖品区都能被随机抽到,转盘转动的格子数至少是1到8之间的随机数。可视化编程实现关键部分如图2所示。
案例二:模拟转盘“减速转”效果。
在案例一转盘匀速转动的基础上,生活中转盘因为空气的阻力,转动时会出现“逐渐减慢”的效果,如何逼真模拟现实效果。
问题描述:模拟“减速”直至“停止”的转盘,动态分配每次“转动角度”,使每次转动的角度越来越小。
数学建模:把每次转动的角度构建成等比数列。假设,每次转动角度按照10%递减,推算出每次相对最后一次转动角度增长倍数。基数的角度(最后一次转的角度)等于总角度/总增长倍数,倒数第二次转动的角度等于基数角度*1.1,倒数第三次转动的角度等于基数角度*1.1*1.1,倒数第四次转动角度依次类推……可视化编程实现关键部分如图3所示。
从上面两个案例可以看出,问题之所以得以解决,关键是算法设计前的数学建模。选取与学生认知水平相当的数学知识作为建模基础,有利于学生学有所用,有利于增强学生综合应用跨学科知识的意识和能力。
“计算思维”处理物理实验数据
物理学是一门实验科学,处理物理实验数据是研究事物内在规律的重要环节。学生在验证牛顿第二定律实验中,通过实验测量获得如图4所示的数据,为了探究在质量一定的情况下,拉力和加速度存在何种数量关系,可以选择人工描点法或Excel数据拟合功能。人工描点法工作量大且不精确,Excel数据拟合功能有限。
Python作为编程语言带有丰富的第三方库:numpy是一个开源的、高性能的数值计算库,提供快速高效的数组矩阵运算。将牛顿第二定律实验数据全部通过该库转化为数组格式。Python中scipy模块的子模块optimize中提供了一个专门用于曲线拟合的函数curve_fit()。matplotlib是Python经典的二维画图库,可以简单地画出折线图、柱状图、散点图等各类二维图像,应用该库实现数据的可视化。代码实现过程如图5所示。
程序运行结果如图6所示,通过拟合出的曲线可以看出,拉力F和加速度a之间成线性关系,同样的方法可以计算出拉力F一定的情况下,质量m和加速度a之间的数量关系,从而验证牛顿第二定律。
“计算思维”助力文本分析
计算思维是信息时代解决问题独特的方法,它不仅能处理结构化数据,还能处理非结构化数据——文本。文本分析是指对文本的表示及其特征项的选取,是文本挖掘、信息检索的一个基本问题。词频统计是计算思维在文本分析中的重要体现,是进行文本分析的重要技术。词频统计通过“计算”文件中词语的重复程度为文本分析提供依据,常用于语言学、心理学、新闻与传媒、互联网技术等领域的研究。
中学生经常需要阅读并研究名著,利用词频统计技术为学生研究文本内容提供新的方法和视野,有利于学生加深对文本内容的理解。例如,以《西游记》第九十三回《给孤园问古谈因 天竺国朝王遇偶》为例,研究文本人物出场频率。
在Python中利用文件的函数read()先读取文本内容,调用第三方库jieba中lcut()函数进行中文分词(如图7)。
遍历列表words,计算出列表中出现词语的次数,把词语和对应的次数作为键值对存入到字典counts中(如图8)。
为统计有效词语,设定停用词并在列表中删除(如图9)。
对字典中记录的词语次数从高到低排序,最后输出频率最高的五个词语(如图10)。
计算思维注重培养学生从“计算”的视角解决问题,让学生在问题解决的过程中形成经验模式,并把经验模式迁移到类似问题的求解中。当学生掌握词频分析技术后,可以迁移到《红楼梦》的相关文本研究中,如通过比较《红楼梦》120章回中主要人物名称出现的频率、虚词的词频、词与词之间的相关性等方面分析作者的异同情况。
创设跨学科课程旨在为学生提供现实世界的复杂情境,让他们有机会整合和运用不同学科(领域)的观念、方法和工具,生成可迁移的知识和技能。“计算”是信息时代解决问题独特的方法。笔者在校本课程中,以计算思维培养为目的,选取符合高中生认知水平的学科知识,或用数学知识建模,或解决物理实验数据处理问题,或解决文本分析问题,让学生利用信息技术学科中独特的思维方式进行跨学科学习。这样不仅打通了各学科之间的边界,而且让学生不受制于具体工具的功能或产权,体验使用编程这一通用方式解决问题,为学生终身发展和形成适应社会发展的必备品格和能力奠定基础。