您现在正在浏览:首页 > 职教文章 > 职教论文 > 我在进行VB程序设计教学过程中的几点尝试

我在进行VB程序设计教学过程中的几点尝试

日期: 2008-8-29 7:04:08 浏览: 115 来源: 学海网收集整理 作者: 朱 波

摘 要
在程序设计教学过程中,如何解决程序设计本身枯燥、难懂这个问题,找到一条比较新奇的教学方式,一直是广大计算机教师颇感爱好的课题。本文结合实例展示了体悟教学法、问题教学法和条件迁移教学法在程序设计教学过程中的一些具体运用,并对在程序设计过程中如何培养学生们的逻辑思维能力和抽象思维能力给予了适当的关注。       
关键词:程序设计 对象 教学法 能力
  
国家新的《基础教育课程改革纲要(试行)》指出:“改变课程过于注重知识的传授的倾向,强调形成积极主动的学习态度,使获得基础知识和基本技能的过程同时成为学会学习和形成正确价值观的过程。”。我们从整体上来理解这段话,它强调课程的功能要从单纯注重知识的传授转变为体现引导学生学会学习、学会做人、学会生存;对学生的关注要从更多的关注学习结果转变为也要关注学生学习的过程和方法。
根据这个原则我在对本届高职成人大专班组织有关VB程序设计方面的课堂教学时,做了以下几点尝试:
一、打破课本原有以知识的逻辑结构体系为顺序组织课堂教学的方式,以学生的已有知识为基础,按照学生的认知规律,遵循先易后难、先具体后抽象的原则,通过观看、模拟、理解、总结、提高五个阶段进行教学。《信息技术课》课本中有关VB程序设计方面的教学内容,象大多数教授程序设计的课本一样,一开始介绍诸如算法、流程图的画法、对象、对象的属性、方法和事件等等一系列的在程序设计中比较抽象难懂的概念,然后介绍程序的建立和运行,最后介绍VB语言基础、分支结构、循环结构和数组。从知识的逻辑结构体系考察,这样安排无可非议,但从学生的认知规律考量,我认为把一些难懂的、晦湿的抽象的东西放在开始来学习有两点弊端。
(1)学生在毫无知识背景的前提下,要完全理解这些概念比较困难;(2)轻易伤害学生们学习编程的积极性。受到一些语言知识书籍从介绍一个小实例开始来引入的启发,我决定对学生开始不讲基本概念,而是和我一起做,在做中由学生们自己在直观上先去体悟这些概念,然后在时机成熟时再和学生们一起归纳总结。所以在组织本章课堂教学时,我采用了自然过渡、类比等方法,和学生们首先一起探讨了VB软件的打开、程序的建立和保存、软件界面等方面的知识,由学生们自己探索着找出VB操作和以前所学软件的异同点。由于学生们已经学过Word应用软件,对这些相似的操作已非常熟悉,所以操作起来得心应手。然后,我给出一个求任意两个整数的加法实例,让学生们和我一起做:(1)在当前窗体内添加了三个标签、三个文本框和两个命令按钮;(2)按照如下表格设计各对象的属性:缺省的对象名 、设置的象名、 属性名 、设置值、Form1、frmadd、Caption 求和、Label1 、lbla 、 Caption 输入被加数、Label2 、lblb、Caption 输入加数、Label3 、lblc、 Caption 和为:、 Text1 txta Text (空白)、 Text2 txtb Text (空白)、 Text3 txtc Text (空白)、 Command1 cmdadd Caption 计算、 Command2 cmdend Caption 结束、(3)在命令按钮“cmdadd”上双击鼠标左键,输入如下程序:   txtc.text=val(txta.text) val(txtb.txt)关闭程序编辑窗口,回到界面设计界面,在命令按钮“cmdend”上双击鼠标左键,输入如下语句: end关闭程序编辑窗口,按F5键运行程序。 在操作的过程当中,教师不用讲解每件事的含义,同学通过完成任务很自然的就会体会出什么是对象,什么是对象的属性和方法,如何在界面内添加对象、设置事件等等。在此基础上,教师适当的引导同学归纳总结一下,一切都迎刃而解。 按照学生的认知规律组织教学和重视学生们的知识结构体系的建立并不是相互对立的,相反,最终学生们能否在头脑中建立完整的学科体系对于其本身能否对所学的内容有比较深刻的理解起着极为要害的作用,问题的要害在于这种学科结构体系的建立是通过外部手段强加给他们的,还是在同学学习的过程中自然形成的。         
二、注重通过一系列问题的引动,来激发学生的学习主动性和加深对一些概念的理解。有一些概念之间的差别和程序的设计步骤假如只通过教师讲述,学生们在字面上可以接受,但在理解深度上往往难以达到令人满足的效果,假如能设计出一系列问题,让学生们在实践和解决问题的过程中自己去体验,情况将完全是另一个样子。比如,为了让同学切身感受整型变量、单精度变量、双精度变量所能保存数据范围的不同,我为学生们设计了一个如下的实验过程,首先让学生们模拟求1到50之间所有自然数的方法,在窗体的Click事件中编写一段程序,求5!,通过实验,学生们很快编写好如下程序:   dim I as integer   dim x as integer   x=1   for I=1 to 5    x=x*I   next I   print “x=”;x       按F5键运行,得出5!的正确结果。然后我让学生们把程序少许做一下修改,求10!,这时很多同学认为这还不是小菜一碟,迅速将程序修改为如下形式:   dim I as integer   dim x as integer   x=1   for I=1 to 10   x=x*I   next I   print “x=”;x       按F5键运行,结果学生们发现屏幕上并没有如预期想象的那样给出正确结果,而是显示出一个错误对话框,含义为“数据溢出”,学生们百思不得其解。这时教师提示学生们将程序做一点修改,把变量X定义为单精度,试试看运行情况如何:   dim I as integer   dim x as single   x=1   for I=1 to 10   x=x*I   next I   print “x=”;x       再按F5键运行,计算机给出正确结果,不过结果的表达方式发生了变化。教师要求学生们再对程序做少许修改,求100!:   dim I as integer   dim x as single   x=1   for I=1 to 100   x=x*I   next I   print “x=”;x       按F5键运行,学生们发现计算机又显示“数据溢出”。这时大家都猜测到问题可能又是出在变量所定义的数据类型上,纷纷要求老师给出办法。教师要求学生们对程序再做一点修改,把X定义为双精度变量:   dim I as integer   dim x as double   x=1   for I=1 to 100   x=x*I   next I   print “x=”;x       再按F5键运行,计算机给出正确结果,问题解决。到此为止,教师的教学目标已基本达到。但为了进一步使学生们熟悉到计算机所能处理数据的范围和理论上我们所能处理数据范围的区别,可以要求学生们试着用计算机求10000!,此时大家发现PC计算机已无计可施。在本例中,程序整体变化不大,占用时间也不多,但通过如此一个操作过程,学生们对整型数据、单精度实型数据和双精度实型数据之间的区别一目了然。另外,由于一切都要求学生们自己动手动脑设计,他们在操作过程中探究和解决问题的积极性、学习的主观能动性得到了调动。  
三、在教学过程中,注重通过在书本原有程序的基础上逐渐改变和增加条件的方法来提高同学的综合编程能力。例如,学生们在学习FOR……NEXT循环时,书本内给出了一段求前100项自然数和的程序。这段程序在学生们弄懂FOR……NEXT循环之后,理解起来是并不困难的,为了提高学生们的编程能力,我要求学生们对原程序做如下几种变化:
(1)求1到100之间所有偶数的和,要求跳数为2。   
(2)求1到100之间所有偶数的和,要求跳数为1。   
(3)在程序运行过程中任意输入一个自然数n,求1到n之间所有偶数的和。  
这里第一小题和书本原程序相比难度不大,只要将循环的跳数改为2即可,在模拟的前提下学生们就可以完成。第二小题增加了难度,在编程过程中,需要做两点变化,一要将循环变量的变化范围变为从1到50,二要修改循环语句中的通项,将循环语句变为S=S 2*I。要做到这些变化,需要学生们对for……next有比较深刻的理解。第三小题在第二小题的基础上又增加了一点要求,即循环变量的终止值需用变量n来表示,二需要在程序的前面增加一条定义变量n的语句,三需要使用InputBox语句在程序运行的过程中将终止值输入给变量n,这三点要求学生们能够把以前所学的知识综合起来运用,对刚刚学习编程的高一同学来说这还是有一定难度的,但通过练习学生们的综合编程能力可以得到练习提高。       
四、引导学生们在学习编程的过程中养成运用动态思维判定程序是否正确的习惯,这种习惯的养成,对培养学生的逻辑思维能力和抽象思维能力有非常重要的作用。为了达到这个目的,在程序设计教学中可以有意识的在以下几个方面给予比较多的关注:(1)对于一些比较简单的程序要求学生们直接写出结果;(2)对于有循环或判定结构的程序,要求学生们根据条件一步步向前走,把循环过程写下来;(3)故意给出一些错误的程序,给学生们设计一些陷阱,让学生们自己去发现;(4)让学生们把书本中程序编写错了的地方改正过来。  
总之,教学有法,教无定法,只要教学得法。程序设计教学的主要目标是为了使学生了解现代程序设计理论中的面向对象编程和结构化程序设计等基本思想,培养现代程序设计过程中所需要的一些基本能力。围绕着这个目标,在保护学生学习积极性的前提下,按照学生们的认知规律组织教学,一切可行的教学方法都可以在我们的教学过程中加以运用。       
  
参考文献:  
1、董南萍 《关于学生程序设计能力的培养》 《辽宁教育学院学报》 1999年9月版   
2、李春香 《高级语言程序设计课教法浅探》 《河北广播电视大学学报》 2000年版  
3、罗小平 《高级语言程序设计中若干重要细节的设施》2000年11月 版

返回顶部