普通初级中学VB 有效教学策略探析*
2015-05-27黄华林
◆黄华林
作者:黄华林,广州市蓝天中学,信息技术中学高级教师,主要从事中学信息技术教学与电脑机器人竞赛研究(510260)。
1 VB 程序设计特点及教材简介
Visual Basic(VB)是一种由微软公司开发的、包含协助开发环境的、面向对象与事件驱动的结构化程序设计编程语言,其功能强大,简单易学,比较适合非计算机专业人士与编程初学者学习。
程序设计在广州地区高中为选修课(算法与程序设计),初中为必修课(VB 程序设计),两个学段对程序设计难易程度有不同要求。笔者所用教材为广州市教育局教学研究室新编2013 版《信息技术》(第二册),供初中八年级教学使用。其中,第二章以VB 6.0 为蓝本,在编排上较好地体现了VB 可视化、面向对象编程软件特征。教材前两节针对VB 一些常见控件与对象及属性作一些介绍;第三节介绍VB 语言的基本特点,包括数据类型、常量变量、运算符、表达式与赋值语句等基本语法知识;第四、五、六节介绍程序设计的顺序、分支、循环三种基本控制结构。
2 学生情况分析
学习程序设计需要具备一定的数学基础(比如各类函数的概念与运用),因为程序设计具有严密的逻辑性,通过学习程序设计,既可以理解计算机的工作原理,又可以锻炼学生的逻辑思维能力(比如循环结构就需要分析、判断程序如何循环与退出),而初二学生既没有函数的概念,也比较缺乏逻辑思维能力,因此VB 程序设计相对他们来讲普遍较难。
笔者任教学校是一所广州市城乡结合部普通初级中学,在校学生基本上是附近农村、外来工和少数城镇居民子弟,很多学生的小学数学基础较差,连一些基本数学计算都不太懂,如8 除以5 等于多少,很多学生都不能用口算得出正确答案,解方程更加一窍不通。这导致很多学生对VB 程序设计不感兴趣。另一方面,信息技术不是中考科目,学生对信息技术课不很重视,对学科认同度不高,甚至错误认为信息技术课就是打游戏课,学习与不学习知识并不重要,掌握与不掌握操作技巧也不在乎,因而出现学生不学、不会学和教师难教、教不好的课堂教学效果差的局面。
3 有效教学策略的指导理论
建构主义认为,学习不单是知识由外到内的转移和传递,而是学习者主动地建构自己知识经验的过程,即通过新经验与原有知识经验反复的、双向的相互作用,来充实、丰富和改造自己的知识经验[1]。
维果斯基的“最近发展区理论”认为教学应着眼于学生的最近发展区,为学生提供带有难度的内容,调动学生积极性,发挥其潜能,超越其最近发展区而达到其较难发展到的水平,然后在此基础上进行下一个发展区的发展[1]
基于上述理论,笔者在VB 教学中从激发学生兴趣开始,以生活中的数学知识为纽带,在教学中逐渐渗透VB 知识,这样学生可以在原有简单数学基础上慢慢地建构新的VB 知识与编程技巧,在认知层面上进一步拓展空间范围。采用循序渐进的方式从知识的学习理解逐步过渡到思维方式培养,最终由学生自己构建VB 程序设计相关知识体系。
4 教学策略的实施
快乐体验教学策略对于有学习挫折感、厌学的学生,最佳方法就是唤醒他学习的兴趣。教育家苏霍姆林斯基曾说过:“学习兴趣是学习活动的重要动力。”但兴趣从何而来?最好方式就是让学生在学习过程中亲身体验、感受自己的成果,有成果就会有进一步的驱动力,进而才会有兴趣,有兴趣就会感受学习的快乐,学习挫折感才有可能慢慢减少,厌学情绪才会消失。
1)案例。在上VB 第一堂课前,教师要求每位学生带一张自己喜欢的照片,而且事先做了一个简单的“秀广州.VBP”程序。上课时只要鼠标轻轻一点显示按钮,一张广州塔的图片立刻显示出来,然后教师在编程界面中把“guangzhouta.jpg”文件替换成“huacheng.jpg”,再点击显示按钮,花城广场的图片立刻替换原来图片显示出来。学生一看只需要改改文件名那么简单,马上有兴趣了,也学着把自己课前准备的图片文件进行替换,立刻也可以看到自己的靓相片了,显得非常兴奋,一节“秀自己”的VB教学就这样开始了。程序截图如图1所示。
表1 由数学公式引入VB 函数表
2)分析。在这个全民都喜欢QQ 秀、微信秀的年代,每个人内心都喜欢把自己好的一面秀出来。如果教师在教育教学中对学生进行适当的引导,把秀自己当作一种教学过程,有可能起到一箭双雕的作用。虽然教材编写需要较强的系统性和逻辑性,但不一定符合学生的认知规律,所以在组织讲授内容的时候,要尊重人的认知规律,由易到难地组织教学。如果一开始就把一些抽象难懂的概念(如控件、对象、事件、方法)搬出来进行讲授,学生不仅不容易理解,还会产生畏难情绪,这样也容易导致对本门课程学习失去信心。为此可以将讲授次序稍作调整,先引入较简单的实例,通过修改一些简单的程序来开始VB 学习体验之旅,在做练习中不知不觉构建新VB 程序设计知识,这样学生从开始就会乐意接受。
学科关联教学策略信息技术学科在学生心目中一直都没什么地位,因为它不是中考科目,因而学生大多不重视,学习也不用功。如何解决学生对学科不重视的问题?其实这就是一个引导问题,教师可以把学生从中考学科向非中考学科进行关联与引导,让学生觉得中考科目学好了,非中考学科就更加容易学好,而且非中考科目也会进一步促进中考学科,两者是相互扶助关联的,这样学生就会相对乐意学习。如笔者在VB 教学开始就跟学生强调,信息技术最开始就是计算的需要,是从数学学科中分化发展而来的,特别是VB 程序设计与数学有着千丝万缕的关系,即使只有小学数学知识也能学好VB 程序设计。学生一听都能表现出很大的兴趣。对于初中生来讲,如果说小学数学知识都不会是很丢面子的事情,其实笔者只是利用激将法从心理上暗示学生:学VB 程序设计很容易,人人都能学好。这样就从心理层面消除学生那种抗拒心理,为进一步激励学习欲望打下良好的基础。
1)案例。在讲授VB 有关函数时,由于初二学生没有学过函数,也就没有函数的概念,因此在引入VB函数前,先让学生温习一下数学公式,由简单的数学公式再转入讲述VB 函数用法,强调两者之间只是在写法上、称呼上不同,最终所求结果是一样的,数学公式与VB 函数具有相同的功能,如表1所示。
2)分析。每个学生从小就开始接触数学,数学方面知识相对VB 程序设计要丰富得多,因此,教师在教学过程中可以适当与数学有机结合起来,先由学生熟悉的数学知识慢慢过渡到VB 专业术语中去,这样有利于学生在已有知识层面进行新的拓展与构建。虽然初二学生还没有函数概念,但通过相通知识点的对比,让学生从简单的数学公式慢慢过渡到VB 常用函数,如Abs(x)、Sqr(x);在熟悉这两个VB 函数后,再把其他VB 函数Int(x)、Rnd(x)进行讲解,学生就会比较容易接受。
密切联系学习生活教学策略在教学上如果能将学生的学习生活与书本知识很好地结合在一起,那么学生在接受程度上会大大提高,从而避免将生硬的知识灌输给学生。
1)案例。在讲授分支结构时,首先针对学生中考分数决定日后读书去向进行提问,中考分数决定了一个人要么去读高中,要么去读职中,两个前程只能二选一;然后把这些问题与答案用中文列表进行分解;最后根据文字含义套用在VB 分支语法上,学生就很自然明白什么是分支结构以及其含义,如表2所示。
表2 由中文描述的分析点套入VB 分支结构语句表
2)分析。读高中上大学是很多学生的梦想,特别是笔者任教的普通中学学生,如果能将VB 程序设计教学过程同学生个人理想、生活实际联系起来,一方面可以激励学生积极向上的学习动力,另一方面也可以将原本枯燥抽象的理论变得形象生动、通俗易懂,有利于学生对学科知识的理解与应用。
搭手架辅助学习教学策略对于初二学生来说,程序设计的思维方式和概念都是全新的,是一个从感性思维到逻辑思维的过渡,接受起来有一定的困难。对于一些相对困难的知识点,教师可以增加一些辅助措施帮助学生对知识的理解,就像平面几何经常用到的添加辅助线。
1)案例。由于初二学生的数学逻辑思维还不够严谨,因此对VB 赋值语句中变量取值变化经常会弄不清,加上学生习惯从数学思维方式去理解VB 赋值语句的原因,对于VB 赋值号(“=”)与数学的等号(“=”)总认为是一样的,其实它们是两个完全不同的概念。在VB 中A=A+1 是成立的,在数学中是不可能成立的。VB 中的赋值号“=”是先计算“=”右边数值,然后再赋予“=”左边的变量;而数学中的“=”就是左边变量的值等于右边的数值。
如何解决这个问题?可以在书写顺序上或者在程序右边多划一条注释语句的策略,每执行一行命令就标注一下变量的值的变化,这样就容易弄懂变量的值是如何改变的。这等于帮学生搭一个脚手架,让学生慢慢去理解赋值语句的特点与用法,如表3所示。
表3 使用箭头符号与注释行做辅助功能表
2)分析。通过书写赋值语句的顺序方式,既可以很清晰告诉学生其真实含义,也等于跟数学等号做了比较,学生就能够容易理解两者的区别,然后在其他小程序中对每行程序变量取值都做一个注释行,及时标明每个变量的取值变化,这样就加深了学生对赋值语句与变量取值的理解与应用。
思维训练教学策略学生某些思维定势会习惯从过程推导出结果,较少由结果反向推导出过程,即逆向思维方式。其实,对于某些问题,尤其对于一些比较难懂的知识点,从结论往回推,倒过来思考,从求解回到已知条件或许会使问题简单化。如果有意识地去训练学生的发散思维或者正反双向思维,教会学生从过程推理结果,从结果反向推演过程,学生对某些知识的理解可能会更加透彻[2]。
1)案例。在讲授VB 循环结构知识点时,如果一开始就对循环过程与次数进行分析讲解,由于初二学生的逻辑思维欠缺,很难理解循环结构到底如何执行与退出。教师可以直接由一些简单的例子概括出循环结果,再由结果一步一步倒推、分析过程,如此反复,学生对循环结构就比较容易了,如表4所示。
表4
【生活例子】将校运会中男子跑1000 米,每圈200 米、跑5 圈的例子进行分解:①从第1 圈开始跑(初值),一直到跑完5 圈结束(终值);②一共跑了5 圈,重复的动作跑圈(循环体);③每跑完一圈,裁判计数自动加一圈的数值(步长值);④跑完一圈既是一圈的终点,也是下一圈的起点(返回起点Next)。
VB 程序:
先由跑圈结论进行四点分解,反向推理出程序过程;由循环变量辅助表(表4)反向推导出每次循环的步骤及结果。
2)分析。从校运会跑圈的例子入手,分析跑圈的初值与终值,每个跑圈的动作就是循环体,每次终点就是下一圈的起点,每圈终点时裁判会自动计圈数。用这些分析点直接套入VB 循环程序语句格式,先有了循环语句的结果,然后再反向分析每个循环的过程,这其实就是一种解决问题的思维训练。又如表5 中RND(1)相关计算所示,教师在程序设计教学中应重视思维训练,培养学生思维的严谨性,提倡学生用不同思路和方法解决同类型的问题。
以点带面的教学策略虽然VB 程序设计对一般初二学生有些困难,但对于一些优秀学生来讲难度可能会降低。因此,可以让一些优秀学生在初一时适当学习类似的程序设计,等到初二学习VB 程序设计时,这些学生就可以成为小老师、好榜样,而榜样的力量是无穷的,他们可以影响周围一大群人。例如,可以在开展初一电脑机器人兴趣小组时,让学生先学习VEX 机器人程序编程,VEX 程序编程与VB 程序设计很类似,都是可视化的编程软件,学生在玩机器人的同时也提前学习了程序设计的各种知识技巧;等到初二学习VB 程序设计时,就可以带动一大片学生进行探究学习,充当小老师的角色,减轻教师的负担,取得理想的教学效果。
表5 Rnd(1)取值范围相关的计算思维分析表
4 结束语
无论实施哪种教学策略,都要先认真分析学生具体情况才能进行,没有哪种策略是最好的,只要适合学生就行。从激发学生兴趣入手,在内化学科知识同时培养学习思维方式与能力,各种策略交叉使用,让学生自己有效、清晰地构建新知识体系与新发展区。当然,有些教学策略是显性的,如实施快乐体验教学策略,从激发学生兴趣方面就有很明显的效果;有些策略可能是隐性的,如训练学生思维教学策略,很难有个明显的指标去评价,也需要一段时间才可能有效果。信息技术课是一门新兴的学科,内容日新月异,很多教学方法、策略还有待于教师去摸索。作为一名信息技术教师,要勇于探索,大胆创新,不断总结,在提高课堂教学方面做出自己的贡献。
[1]高慎英,刘良华.有效教学论[M].广州:广东教育出版社,2004:26-58.
[2]卢建筠.高中新课程教学策略[M].广州:广东教育出版社,2004:158.