APP下载

让计算思维之花在VB教学中绽放

2017-05-02宋建年

读与写·下旬刊 2017年2期
关键词:素数程序设计教材

宋建年

摘要:2014新版《初中信息技术》首次将VB程序设计引入教材,程序设计课是培养学生计算思维一个非常重要的途径。那么在《初中信息技术》教学中如何以程序设计为线索,渗透和培养学生的计算思维能力?作为一种教学尝试,也是一种教学改革,现将其中的一些教学实践与大家共同探讨和分享。

关键词:计算思维;VB程序设计

中图分类号:G633.67 文献标识码:B 文章编号:1672-1578(2017)02-0165-02

随着时代的发展,苏科版《初中信息技术》教材也不断更新改版,2014年苏科版教材首次加入了VB程序设计教学内容。思考改版后的教材为何加入VB程序设计教学内容?我想这是与目前信息技术发展和教学现状是分不开的。随着家用电脑的普及,传统应用软件难度降低,许多知识学生能够很快掌握,况且许多工具软件的操作具有相同点,学生也有知识迁移能力,一个熟练使用office的学生,能很快操作wps软件,教材上的知识点相对比较简单,不易提起学生的学习兴趣;初中信息技术的教学现状是课堂上 教师过多了强调知识与技能的操作,忽略了对学生思维的开发与培养,长此已往造成学生缺乏独立思考的能力,思维得不到锻炼,不利于的学生的终身发展。

基于这样背景下,将VB程序设计引入到新版教材中势在必行。VB程序设计是培养学生计算思维的重要载体,可以通过程序设计来训练学生思维,获得终身有用的知识与能力。将计算思维渗透到程序设计教学中,亦可大大提高学生思维方式和解决实际问题的能力。

那么如何在信息课教学中依托程序设计来渗透和培养学生的计算思维?这给我们教师提出了新的要求,我在教学工作中也做出一点尝试。

1.一题多解,培养学生的发散思维

发散思维是指根据已有信息,从不同角度、不同方向思考问题,从多方面寻求多样性答案的一种思维形式,它的特点是想象丰富,不循成规,不落俗套,它是计算思维的核心。

程序设计具有灵活多变的特点,为了克服思维定势,教师在程序设计教学中应重视发散思维,提倡学生用不同的思路和方法解决同类型的问题,培养学生的发散思维。教师引导学生一题多解是培养他们发散性思维的一种好方法。教师在教学中的适当拓展,可以让学生有眼前一亮的感觉,增加他们学习程序设计的兴趣。

【案例】例如:在讲解两个变量交换时,交换的经典算法表达方式为:t=a,a=b,b=t。在学生理解使用中间变量这一算法后,我又提出,如何在不增加变量的情况下完成两个数的交换?方法二:a = a + b,b = a - b,a = a - b,当然这一表达式的建构需要一定的数学思维。教师再拓展让学生思考这两种算法在程序执行上有什么区别?(第一种增加变量占用内存,第二种有数据运算消耗时间。)

【分析】变量交换是程序设计中经常用的到知识点,许多学生一开始会错误的认为a=b;b=a;就可以完成数据的交换。为了便于让学生理解两个对象交换是通过中间值来完成的,教学中可以用一杯水,一杯酒精、一个空杯来做变换实验,来启发学生的思维。在学生理解这一算法后,教师再做思维拓展,使用数学方法来完成两个数的交换,培养和训练学生的发散思维。

2.一题多问,培养学生的创新思维

创新要靠科学素养,靠科学的思想与方法。学生掌握了科学的思想与方法,就能在今后的学习和生活中多层次、多视角、全方位地观察和理解客观世界的变化,运用已经掌握的知识和科学方法去理解事物、发现问题、提出问题、解决问题。创新思维是计算思维的一个重要体现。

好的程序一定有好的算法,一个好的算法本身也是程序优化的过程。在有许多算法都能够完成时,我们要优先选择执行效率高的代码。教学中教师要倡导优化算法,培养学生创新思维。

【案例】在教学"判断数p是否是素数"的问题时, 依据素数的判定条件:p不能被 2 、3 、……p - 1 之间的数整除。学生们想到的全是传统算法:For i=2 to p-1;If p Mod i=0 Then Exit For ;Next i。接下来,我引导学生对算法进行优化:若p不是素数,则p必定能表示成两数之积,据此判断素数的条件可进行怎样的优化呢?"只要判断p能否被2、3……sqr(p)之间的数整除就行了"。于是可以将循环的for语句的终值改变为sqr(p)。考虑到除2外的偶数一定不是素数,我们只需对奇数进行判断,而奇数一定不能被偶数整除。因此,判断条件可进一步简化为"判断p是否能被2及3……sqr(p)之间的奇数整除"。

【分析】教学过程中教师不断询问引导学生找到判断素数的最优算法。教师先要求学生根据定义写出最容易想到的基本算法,然后在此基础上引导学生根据数学知识,减小循环的终值,最后再次改变循环的步长,减少循环次数,进一步优化程序,增加程序执行效率。通过几次算法的优化,培养了学生的创新思维,学生在教师不断的提问过程中,学生积极思考潜能得到开发。

3.一法多用,培养学生的化归思维

化归思维就是在研究和解决有关问题时采用某种手段将问题通过变换使之转化,化归方向是将复杂问题通过变换转化为简单问题;将难解的问题通过变换转化为容易求解的问题;将未解决的问题通过变换转化为已解决的问题;而问题的实际不变,以便从不同的角度、不同的方向说明问题的本质,使本质的东西更全面更突出的显露出来。

程序设计教学中许多算法是相同的,我们应该多注意"通法"的教学,是同一个方法就可能完成的,这就要求学生在理解基本程序的基礎上举一反三,触类旁通,正所谓"教是为了不教",从而培养学生的化归思维。

【案例】一百元买一百只鸡:假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。如付钱问题:取1元,2元,5元的硬币共10枚,问学生付25元钱,有多少方法?

【分析】这两题虽然题目不一样,但解题思路是一样的。他们的算法也是一样的,采用穷举法就可以完成。程序设计中有许多题目可以化归为穷举法、递归法、回溯法等经典算法去完成,这就要求学生能够透过题目的表象,利用化归的思想去设计程序。

计算思维做为21世纪一种重要的思维能力,不仅仅在程序设计章节中有所体现,而在非程序设计教学模块中也应得到充分的体现;计算思维的培养也应该渗透到学生日常的所有科目中,从小学到大学,所有学科都应当培养学生的计算思维能力,而不仅仅只寄希望与信息技术课堂教学中。

参考文献:

[1] 周学东《程序设计教学中学生思维能力的培养》——《中国信息技术教育》2011.6

[2] 王移之 金一 周围《基于"计算思维"能力培养的教学改革探索与实践》——《中国大学教学》2014.3

[3] 陈宁波《VB教学研究》——网上资料

[4] 王荣良《计算思维:一种新的学科思维方式》——《中国信息技术教育》2012.6

[5] 李冬梅《关于中小学信息技术学科价值的几点思考》——《中小学信息技术教育》2013.2

猜你喜欢

素数程序设计教材
孪生素数
两个素数平方、四个素数立方和2的整数幂
教材精读
教材精读
教材精读
教材精读
基于Visual Studio Code的C语言程序设计实践教学探索
关于两个素数和一个素数κ次幂的丢番图不等式
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索