中职VB教学中培养学生编程能力的探讨

2012-04-29 06:58薛传谷
科教导刊 2012年3期
关键词:程序设计教学

薛传谷

摘 要 程序设计语言是中职学校计算机专业的重要课程,也是学生反映非常枯燥、抽象、难学的一门课程。如何做好VB教学一直是广大计算机教师不断探索和追求的问题。本文结合教学实践探讨了如何做好VB教学,培养学生的编程能力。

关键词 程序设计 教学 编程能力

中图分类号:G71文献标识码:A

Exploration on Developing Vocational Students'

Programming capability in VB Teaching

XUE Chuangu

Fujian Pingnan Vocational School, Ningde, Fujian 352300)

Abstract Programming language is the key course of vocational school computer science, students also reflect it's very boring, abstract and difficult to learn. How to teach VB well has been the problems majority of computer teachers continue to explore and pursue. This paper explores how to teach VB and develop students' programming skills.

Key words programming design; teaching; programming capability

对中职学生来说,VB程序设计的概念抽象、规则繁多,枯燥难学。然而中职学校教学目标却要求:通过学习,学生不仅要掌握高级程序设计语言的知识,更重要的是在实践中逐步掌握程序设计的思想和方法,培养问题求解和程序语言的应用能力。这就要求教师在教学上下功夫,想方设法促进学生编程能力的发展。

1 开展趣味教学,培养学生学习编程的主动性和积极性

爱因斯坦说:“兴趣是最好的老师。”在教学中,教师设计与日常生活紧密结合的问题,或者从学生感兴趣的事例引入问题,激发学习热情,使学生主动学习、乐于学习。这样的教学,必将收到意想不到的良好效果。教师在教学中安排的趣味教学问题要恰当,既要保证生动有趣,又要难易适中,使学生只要“跳一跳就能够得着”。

教师可以安排实际应用类问题,促使学生产生想试一试的强烈愿望。比如,在火车站把托运行李重量编程转换为价格;设计加减法练习题并自动计分;用VB程序设计简单的动画“蝴蝶飞舞”等。

2 抓住教材资源,以变促学,促进学生编程能力的发展

教材是编者辛勤劳动的成果,是知识与经验的结晶,它为师生提供了知识的源泉。由于学生的学习习惯、思维习惯、知识水平的具体情况有很大的差异性,如果不加思考地完全直接采纳教材,对学生的发展是不利的。作为教师,要杜绝“一味的拿来主义”,应该钻研教材,积极做好“变化”教学。比如讲授数据类型,可以将它们比作厨房中的油盐酱醋罐,存放内容的类型各不相同。把局部变量、模块变量、全局变量的作用域比作学生、班主任、年段长的权限;在同一个过程中如果有同名的全局变量与局部变量的作用域,比作“县官(全局变量被屏蔽)不如现管(局部变量有效)”等等。更重要的是,着重挖掘教材的例题习题,开展“求异思变”教学活动,促进学生发展。何谓求异思变?即变方法,变题目,拓展应用。

(1)变方法。在VB教学中,教师可经常尝试一题多解,拓展学生的编程思路,培养编程能力。比如在学完各个循环结构之后,教材上有道例题“编写程序,判断一个正整数(> =3)是否为素数”。首先让学生理解“判断素数”的算法,掌握课本上编写的代码。接着要求学生用其它像FOR-NEXT、DO-LOOP等6种循环结构来改写该题代码,实现同样的功能。这样安排,既让学生进一步理解判断素数的算法,又让他们对这几种循环结构进一步熟悉,还区别了各个循环结构的异同。再如“学生成绩划分等级”问题,可以用if结构、select结构、数组等多种方法;像这样,积极开展一题多解教学,拓展学生的编程思路。既促进了知识的灵活运用,又培养了编程能力。

(2)变题目。教材提供的编程题不是很多,这时就要靠教师来研究教材资源,或增加或减少程序问题的一些元素,使派生出来的编程题的难度呈交叉梯状发展。既有问题上的相互独立,又有知识上的内在联系,还有难易程度的区分。这样既能激励优生,促进中等生,又照顾到后进生,使得人人有所学,人人有进步。

下面就是改变课本例题“求N!”的一些元素派生出来的几道编程题。

A.计算并输出9 ! 的值 ;

B.计算 5*7*9*11*……*101;

C.计算N !

D.计算1! + 2! +3! + …+11!;

E.计算 1! + (1!+2!) + … +(1!+2!+ … +N!)

这样设计的问题,既有简单的又有较难的,各种层次的学生都得到了训练,学生得到均衡发展。

(3)拓展应用。在日常教学与练习训练中,教师要善于敏锐地抓住一些问题,对知识巧妙地加以联想、迁移、拓展,生成新问题。通过对这些新问题的分析、解决,训练了学生的思维,培养了创新精神,促进了学生编程能力的提高。如程序问题“运行后,文本框中只允许输入英文字母。”分析得知要编写文本框的键盘事件KeyPress,利用参数KeyAscii来控制英文字母的输入。在此基础上拓展问题:程序运行后,文本框中只允许输入数字、小数点、正负号,并且要求如果有正负号,必须以正负号开头。这个问题增大了难度——“必须以正负号开头”,提高了复杂度——“控制字符输入的多种类型”。

3 开展“错误”教学,以“错”治错,培养学生的纠错能力

有位教育专家说过:纠正错误的过程也是一种学习过程。在教学过程中,遇到学生出现的错误,老师的一般做法是指出错误的地方以及如何纠正,学生只是被动地接受,同样的错误很容易再次出现,可见效果不佳。实践证明,如果调动起学生的主观能动性,纠错的效果大大提高。有效做法是:教师在平时注意收集学生在课堂、作业、试卷中的错误,做好记录,然后分析、分类、统计、总结,最后精心设计以“错”治错的方案。

方案一:可以开辟黑板报一角“悬赏纠错”。“悬赏纠错”的问题以“程序算法错误”为主并且要有典型性和代表性。问题可以是学生错误的原型,也可以是学生错误原型的变型,还可以是老师设计的错误。既然是“悬赏”一定要有奖励,以此激励学生主动解决问题。

方案二:开办“纠错”课堂。这种课以调动学生主动参与为主、教师的引导帮助为辅。可以在课堂上把错误再次原样呈现,故意让出错学生来找出错误及错误原因,或者由其他学生纠正错误;也可以设计成改错题,让学生现场分析解决;还可以在纠错的基础上,挖掘“错误”的价值,设计出新问题让学生来分析解决。

通过以“错”治错教学,既达到纠错的目的,又培养了学生分析问题与解决问题的能力。

4 严抓实践教学环节,增强学生的编程能力

“实践是检验真理的唯一标准”,任何源程序未经上机检验均不能完全保证其正确性。通过上机实践,才能发现问题,纠正部分学生的“想当然”心理,培养实事求是的精神,增强编程能力。

4.1 精心设计实践操作学案,指导学生独立研究并完成实践任务

古语曰:无疑则无进。计算机编程操作性强,这给我们置疑与释疑提供了很大的便利,使得相当多的疑问可以通过实践操作得以解决。因此,教师要充分挖掘实践操作课的效能。

学生是初学者,他们对重难点把握不准。教师有必要设计好《实践操作学案》来指导学生开展实践活动。学案一要目标明确,二要体现本章节重点知识并且设置由易到难的梯度,三要设置疑问,四要有综合实践题以便各章节融会贯通,五要由学生独立完成并写出完整程序代码。在实践课中以学生的实践为主,老师的指导为辅。哪怕是学生遇到了困难,老师也只能是做些指导与提示,不可越趄代疱。在巡视过程中,老师着重发现并记录编程的好方法、新方法、错误方法,作为或者表扬或者鼓励或者剖析的材料。

4.2 择机开设“特殊型”实践操作课,提高学生的编程水平

通过日常教学,学生的编程能力达到一定的水平。但是如何让学生的编程能力得到更高的提升?这时就要发挥教师的主导作用了——在电脑机房开设“特殊型” 实践课,用事实来说话。这种课有如下几类:

(1)“寻医问药”型。学生在编程实践中总会存在这样或那样的疑难与困惑,这类课就是集中解惑的过程。老师把收集到的所有问题(包括程序代码)找出典型, 分类提出。当然问题也可以是学生提出来的。课堂采用讨论与提问的方式,主要由学生帮助解决,不能解决的再由老师解答。

(2)“经验交流”型。在编程过程中,每个人的思维方式不同、角度各异,各有高招。“三人行必有我师焉”,这类课就是通过交流,让每个学生不断吸收别人的长处,丰富编程实践。这种交流不是泛泛而谈,而是摆出具体案例,主要由学生编写者讲讲具体的分析过程,算法实现的过程,还可以谈谈优化程序代码的过程。教师也可以谈谈自己的经验,坚决避免老师一言堂。要保证“分析、讨论、比较”贯穿在整个交流过程中。

(3)“故意找茬”型。这种课堂要拿那些貌似“完善与优秀的学生作业或作品”来开刀。方法一,不看程序,请5~8位同学分别运行这个程序,想尽办法让程序运行出错,找出错误原因,最后修改完善程序。方法二,不准运行程序,邀请学生只看程序代码,找出错误或纠正错误。这种方式既能完善程序功能,减少程序漏洞,又让其他学生学到编程技巧,更能很好地培养学生的查错纠错能力。

4.3 开展第二课堂活动,培养学生自我学习、研究问题的能力

第二课堂以任务驱动法为主,教师不定期地布置编程任务,要求每个学生独立完成。任务可以是“小小计算器”、“中英文打字软件”、“电子画板”、“音乐播放器”、“化学模拟反应实验室”、“拍蚊子游戏”等等。教师要经常关注学生编程进展,有时要给予适当指导,或提供参考书籍,或提供关于VB编程的参考网址……通过第二课堂活动,拓宽了学生的知识面,开阔了学生的视野。培养了学生独立学习、研究问题的能力。

此外,组织学生参加各级各类编程竞赛,争取获得荣誉,以此不断激发学生的学习热情,增强竞争意识。一旦形成生生竞争、师师竞争、师生竞争的浓厚氛围,学生的能力必定得到长足发展。

总之,作为教师,要尽最大可能地研究教学教法,调动起学生的主观能动性,严抓编程实践,促进学生编程能力的发展,提高学生的编程能力。

参考文献

[1] 教育部考试中心编著.二级教程——Visual Basic语言程序设计.北京:高等教育出版社,2010:1-435.

[2] 飞思科技研发中心编著.Visual Basic灵感编程.北京:电子工业出版社,2002:65-90.

[3] 吴目诚,吴秉柔编著.精彩Visual Basic 6.0程序设计.北京:科学出版社,2002:141-172.

猜你喜欢
程序设计教学
微课让高中数学教学更高效
基于Visual Studio Code的C语言程序设计实践教学探索
如何让高中生物教学变得生动有趣
从细节入手,谈PLC程序设计技巧
“自我诊断表”在高中数学教学中的应用
对外汉语教学中“想”和“要”的比较
高职高专院校C语言程序设计教学改革探索
OBE理念下基于Greenfoot的Java程序设计课程教学改革
PLC梯形图程序设计技巧及应用
三级甲等公立医院绩效考核程序设计