计算思维在高中信息科技课堂中的教学实践

2017-10-31 08:41李伟
中国信息技术教育 2017年19期
关键词:走法通项兔子

李伟

与传统的教学模式相比较,基于计算思维的教学模式在培养学生自我建构知识以及创新思维能力方面有较大的优势,不仅可以提高学生的学习效率,还可以培养他们的计算思维能力。在高中信息技术学科核心素养中,计算思维作为重要的组成部分,其定义是:个体在运用计算机科学领域的思想方法形成问题解决方案的过程中产生的一系列思维活动。然而在实际教学中,教师会发现,信息科技学科的属性越来越缺失,信息科技课程中“唯工具”思想越来越明显,信息科技承载的“学信息技术、用信息技术和技术一起学”三个层次功能的体现越来越弱化。下面,笔者以《算法与程序设计——递推算法》一课例为例,阐述计算思维在高中信息科技课堂中的应用。

引入部分

笔者讲述斐波那契和兔子的故事,然后抛出问题:假设一对初生兔子要一个月才到成熟期,而一对成熟兔子每月会生一对兔子。那么,由一对初生兔子开始,12个月后会有多少对兔子呢?

要求学生在草稿纸上列出前6个月的兔子数。学生根据题意,很快能得出每个月的兔子数,结果以列表形式给出(如下表)。

归纳通项公式

学生在观察前6个月的兔子数后,能总结出通项公式fn=f(n-2)+f(n-1) n>=3,从而快速计算出12个月后兔子的总数为144。解决这个问题的关键是得出通项公式,也就是形式化表达的过程。学生在课堂上通过小组讨论,观察、分析数字之间的内在关系,得到通项公式,用前兩个月的兔子数相加得出当前月的兔子数。因前两个月的兔子数都为1,所以f3=f2+f1,就能得出f3=2,同理,f4的值也能这样得出,这就是经典的数列中的递推公式。

换一种思考角度看问题

在推导出递推公式后,教师从生活实例中又引入了一个新的走地板的问题:机房内一共有15块地板,规定每步可以走一块或两块地板,如果要走到最后一块地板,一共有多少种不同的走法?

提出此问题的目的是让学生进行逆向思维,让他们换个角度看问题,学生的思维有些障碍,教师要适时搭脚手架,分析第5块地板的情况(如图1)。

分析过程:如果差一步走到第5块地板,这一步有几种走法?①假设已走到了第4块地板,一步走1块地板到达第5块地板。②假设已走到了第3块地板,一步走2块地板到达第5块地板。

得出结论:f5=f4+f3(f5、f4、f3分别为走到第5、4、3块地板的走法数目),由此过渡到f15=f14+f13(f15、f14、f13分别为走到第15、14、13块地板的走法数目),最后得出通项公式fn=f(n-2)+f(n-1) (n≥3)。

计算思维的体现

学生在这里会发现走地板的问题和课堂前半段推导的斐波那契数兔子公式一样,进而引发思考。前面是根据数列的规律归纳出来的,而走地板问题是由后往前推导,当前地板的走法是由前两块地板走法相加得到的,这样一次次往前推,直到出现确切的f2=2,f1=1。除了f2的值不同外,表面上推导出的公式fn=f(n-2)+f(n-1) (n≥3)是相同的。但后面这种方法考虑的问题就是计算思维的具体体现,把复杂的问题抽象分解成相对简单的形式,这种形式是相对固定的,这就是抽象和形式化表达,这是递归算法的典型应用。用公式可以表示为:

从递归所体现的核心思想来看:其一,将一个复杂的问题简单化处理,这反映了计算思维简洁的特性;其二,每次简单化后的问题表达方式与原方式是一致的,这也反映了计算思维简洁的特性;其三,是有终止的,问题简化到一定程度,一定是可以解决的,这反映了计算思维的构造特性;其四,递归是一种漂亮的形式化表达,可以用有限的步骤描述、实现近于无限功能的方法。到此,就用计算机科学的基础概念对问题进行了求解,接下去就是用编程工具在计算机上实现的过程。

程序实现

借助流程图(如图2),分析得出循环体的内容,学生在VB程序中调试,得出结果。

循环体中的内容就是fn=f(n-2)+f(n-1),最后生成的VB语句,如图3所示。

在课堂的拓展部分,笔者提出用函数的表示形式,更好地实现递归思想。VB代码如图4所示。

课例反思

本节课例是高中信息科技“算法与程序设计”模块的典型应用是计算思维中形式化表达的过程,体现了计算思维抽象和自动化的特征。在代码实现阶段,先用do while语句实现从前往后的正向递推,再用函数的形式表达递归的思想,这里学生的思维更进一步,通过代码编写、体会递归调用自身的过程,重点体会把复杂问题逐步简单化,每次调用自身就缩小规模,一直到最简单的规模直接给出值。纵观这三个环节,学生的思维是有梯度、层层递进的。教师通过这样的教学实践,促使学生用计算思维的方式思考问题,对提升其思维非常有帮助。

在高中信息科技课程中,与算法相关的方法教学已实施多年。计算思维的提出,对相关方法教学提出了新的要求。同时,依据高中学生的年龄心智特征,梳理计算思维的方法教育内容,是一项有意义、有挑战性的工作。计算思维的开发有助于提高信息科技课程的教学效率,促进学生信息素养的培养。但学生计算思维的培养不是一蹴而就的,需要一线教师在高中信息科技课堂教学中精心设计教学内容与过程,将计算思维的培养融入到实际的课堂教学中,只有不断地在课堂教学中培养学生的计算思维能力,才能更好地激发他们的内在潜能,为其终身学习打下基础。endprint

猜你喜欢
走法通项兔子
数列通项与求和
数对与象棋
关于数列通项公式的浅谈
例谈高中数列通项求解的几种常见方法
兔子
精选精练20题 高考数列得满分
马踏连营
守株待兔
想飞的兔子
可爱的兔子