进行VB程序设计教学的几点尝试
2017-03-21温海芳
【摘 要】VB程序设计作为一门可视化高级编程语言,已经成为非计算机专业必修的计算机课程之一,任课教师在教学中,应重点考虑如何培养和激发学生的学习兴趣,提高学生认识问题,分析问题和解决问题以及独立编程的能力。本文作者以学生原有知识为基础,按照学生认知规律,从培养学生的学习兴趣、精心组织教学内容、加强互动教学,强化实验环节等方面对VB程序设计教学方法进行了探讨。
【关键词】Visual Basic;程序设计;教学方法;教学设计
国家新的《基础教育课程改革纲要(试行)》指出:“改变课程过于注重知识的传授的倾向,强调形成积极主动的学习态度,使获得基础知识和基本技能的过程同时成为学会学习和形成正确价值观的过程。”我们从整体上来理解这段话,它强调课程的功能要从单纯注重知识的传授转变为体现引导学生学会学习、学会做人、学会生存;对学生的关注要从更多的关注学习结果转变为也要关注学生学习的过程和方法。根据这个原则我在组织有关VB程序设计方面的课堂教学时,做了以下几点尝试:
1、打破课本原有以知识的逻辑结构体系为顺序组织课堂教学的方式,以学生的已有知识为基础,按照学生的认知规律,遵循先易后难、先具体后抽象的原则,通过观看、模仿、理解、总结、提高五个阶段进行教学。课本中有关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键运行程序。
在操作的过程当中,教师不用讲解每件事的含义,同学通过完成任务很自然的就会体会出什么是对象,什么是对象的属性和方法,如何在界面内添加对象、设置事件等等。在此基础上,教师适当的引导同学归纳总结一下,一切都迎刃而解。
按照学生的认知规律组织教学和重视同学们的知识结构体系的建立并不是相互对立的,相反,最终同学们能否在头脑中建立完整的学科体系对于其本身能否对所学的内容有比较深刻的理解起着极为关键的作用,问题的关键在于这种学科结构体系的建立是通过外部手段强加给他们的,还是在同学学习的过程中自然形成的。
2、注意通过一系列问题的引动,来激发学生的学习主动性和加深对一些概念的理解。有一些概念之间的差别和程序的设计步骤如果只通过教师讲述,同学们在字面上可以接受,但在理解深度上往往难以达到令人满意的效果,如果能设计出一系列问题,让同学们在实践和解决问题的过程中自己去体验,情况将完全是另一个样子。 在教学过程中,注意通过在书本原有程序的基础上逐渐改变和增加条件的方法来提高同学的综合编程能力。例如,同学们在学习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,这三点要求同学们能够把以前所学的知识综合起来运用,对刚刚学习编程的高一同学来说这还是有一定难度的,但通过练习同学们的综合编程能力可以得到训练提高。
3、引导同学们在学习编程的过程中养成运用动态思维判断程序是否正确的习惯,这种习惯的养成,对培养学生的逻辑思维能力和抽象思维能力有非常重要的作用。为了达到这个目的,在程序设计教学中可以有意识的在以下几个方面给予比较多的关注:(1)对于一些比较简单的程序要求同学们直接写出结果;(2)对于有循环或判断结构的程序,要求同学们根据条件一步步向前走,把循环过程写下来;(3)故意给出一些错误的程序,给同学们设计一些陷阱,让同学们自己去发现;(4)让同学们把书本中程序编写错了的地方改正过来。
总之,教学有法,教无定法,只要教学得法。高中程序设计教学的主要目标是为了使同学们了解现代程序设计理论中的面向对象编程和结构化程序设计等基本思想,培养现代程序设计过程中所需要的一些基本能力。围绕着这个目标,在保护同学学习积极性的前提下,按照同学们的认知规律组织教学,一切可行的教学方法都可以在我们的教学过程中加以运用。
作者简介:温海芳(1976-),女,籍贯:山东东营,工作单位:胜利油田高培党校油田党校信息中心,职称:中级经济师。