首页 > 范文大全 > 正文

本科独立学院《VB程序设计》教学改进浅析

开篇:润墨网以专业的文秘视角,为您筛选了一篇本科独立学院《VB程序设计》教学改进浅析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:对于大学本科独立学院的计算机专业学生,《Visual Basic程序设计》课程(以下简称vb课程)的教学应从传统的以纯理论教学为主的方式转变为强调激发学生兴趣,以项目教学为主要手段,依照实际软件行业中的产品开发模式而设计的过程,提高学生独立完成和创新的能力,更好地满足实际工作需要。针对VB课程的特点,对以项目为主导的教学过程进行了较为详细的介绍。

关键词:软件产品;项目教学;分层教学

中图分类号:G642文献标识码:A文章编号:1009-3044(2010)10-2424-03

Research and Analysis of the Improvement of Teaching Method of Visual Basic Programming in Independent Colleges

XUE Ya-fei

(Nanjing Normal University Zhongbei College, Nanjing 210049, China)

Abstract: For the undergraduate computer science students in independent colleges, the teaching mode of Visual Basic Programming is facing a transition from the traditional pure theoretical teaching-based pattern into a process that emphasizes on stimulating interests of students, designed in accordance with the software product development pattern in the actual software industry, using project-based teaching as the major means, so as to improve the ability of students to independently complete all tasks and to innovate,and to better meet the requirement of practical work. In this article, the author describes in detail the project-based teaching process according to the characteristics of Visual Basic course.

Key words: Software, Project-based teaching, Hierarchical teaching

1 概述

随着计算机行业的迅猛发展,从90年代开始,各大院校广泛地招收计算机专业的学生,各类短期计算机培训班也不断涌现。计算机行业的学生由以前用人单位的宠儿变为现在的人员过剩。这一点可以明显地从毕业生在应聘时的待遇以及招聘单位提供的薪资上看出。本科独立学院的学生位于一个较为尴尬的处境,即上有博士、研究生、下有大专院校、高职生以及培训班毕业生的夹缝中。那么我们计算机专业毕业生就业的出路在那里呢?

我国现在缺少大量的软件蓝领,也就是编写模块代码的人员。据了解,现在诸如IBM这样的大型企业,其程序员大多为印度人,现在,印度已成为仅次于美国的第二大软件出口大国,软件出口额占全球市场份额的20%。其实中国在人才储备上也并不逊于印度,这一工种完全可以由我国本土的计算机专业毕业生担任;而因为研究生更倾向于划分模块等系统分析工作,而仅经过短期培训的学生又很少能够熟练地编写代码,对于软件企业来说,在程序员岗位的用人选择上无需选择学历过高的研究性人员,但同时又希望招聘熟练工,以最快的速度适应软件生产并创造效益。因此,软件蓝领岗位成为我们独立学院计算机专业毕业生与其他学生竞争的一条出路。

2 VB课程教学现状与实际软件行业岗位要求之间存在的差距

对于大学本科的程序设计教学来说,通常会使用C语言、C++、VB等作为教学的主体,近几年来,学生有将VB作为二级考试首选的趋势,这主要是因为相较于C语言,VB较容易上手,同时目前还属于主流的编程语言之一。而且由于其面向对象以及可视化的特性,学生能够直观地看到自己编程的结果,帮助其确认其程序的正确性。一般的教材通常都重视对编程语言的理论说明,包括其语法及数据结构的解释和示例,教师所选用的示例也通常是诸如简单求和等的小程序,这样的讲解的确能够让学生快速了解控件或语法的应用方法,但是也存在一定的误区,即在学生毕业后,他们会发现所学知识与其在软件公司中需要参与的项目间有很大的差距,学的用不上,用上的又没学,从而无法达到在软件行业承担项目工作的要求。就笔者以当年在计算机专业学习并进入软件公司的经验来看,很多学生有可能由于没有打好扎实的基础而导致在工作后需要花费几倍的时间来恶补并且研究项目程序,以完成项目经理分配的任务。作为教师,当然希望学生能够在学习阶段就做好一切准备,从而能够顺利地进入软件行业。因此认为可以在程序设计的教学环节进行一些改进

在传统的本科VB教学中,教师比较重视对编程语言根本性的传授,期望学生能够从VB的核心理论开始学习,而恰恰忽视了实践性活动的开展。这就造成了学生在学完了一门编程语言课程后却并不具备利用这种语言来解决实际问题的能力。教学和实际的工作实践是脱节的,从而会让学生感觉编程语言的学习枯燥无味,无法激发其学习兴趣,直接影响最终的教学效果。

作为应用软件,VB对于解决实际问题有用吗?调查反馈如下:

选项 人数(共120人) 所占比例

A 有用,能很好应用 8人 6.6%

B 有用,会一些应用 25人 20.8%

C 有用,但不会应用 35人 29.1%

D 不知道,从没试验过 34人 28.3%

E 没有用处 18人 15%

选择答案B、C、D的人数占了近80%。这说明大部分的学生完全不会或无法熟练运用VB解决实际问题,或者根本没有尝试过。笔者曾在招聘会现场看到某学生在应聘软件公司的职位时与招聘人员的对话,招聘人员问该学生单独编写应用程序的经验,该学生信心满满地回答“我曾经用XX语言编写程序,大概有上百行代码”,该招聘人员轻蔑地笑笑,“上百行代码在我们看来根本谈不上程序,只能算是小练习而已。”该学生十分尴尬,其信心无疑在某种程度上受到了打击。这种现状的造成与平时缺少实例教学,教学与生产实际脱节有直接的关联。其实不仅学生,某些教师本身也从未参与过软件行业的真正工作,他们所获得的知识也仅仅来自于课堂,顶多是自己在读研过程中所进行的项目编程体验,从而他们在教学中采用的也还是属于以理论为主的方式,这样培养出来的学生还会延续以前高分低能的路线,对就业极为不利。

3 解决对策

教学法1: 实例教学法

该法从娱乐性入手,抓住学生的眼球,培养学生自主钻研编程的兴趣,提高学习效果。

歌德曾说“哪里没有兴趣,哪里就没有记忆”,这句话对于形容我们的程序设计教学来说恰如其分。很多学生对于程序设计课程的理解仅仅是“学编程”,至于究竟是学什么,如何学以及有什么作用完全不了解,从而在学习过程中提不起兴趣,也没有自主钻研的动力,这对于这门需要花费大量时间研究和深入的学科来说是背道而驰的。独立学院中的部分学生计算机基础较差,学生使用电脑多数都仅限于玩游戏和上网,因此在首次接触程序设计时会无法理解,进而会有人反映看编程书籍宛如天书,越到后面(尤其是数组等章节)越听不懂,上机操作也无法完成任务,从而产生畏惧心理,形成恶性循环,最终想要放弃编程,这一情况带有一定的普遍性。

因此,作为教师,首先要让学生意识到他们选择的这一专业的特点是什么。这一专业与其他行业的区别之处最主要在于需要高智力投入,不可避免地需要从业人员花费大量的时间(包括在正常工作8小时以外的时间)钻研。但如果没有兴趣和动力,则不可能自发地在课外或下班后学习,因而培养兴趣是重中之重。如何有效地做到这一点呢?大家都有这样的体会,在讲授理论知识时,学生听课时间一长就会散漫,最后就会无法坚持而分心,而此时教师如果说一些小笑话则会引起学生的注意,结果造成某些学生在课程结束后,对于知识点都没有记住,但对于老师所说的笑话却历历在目。这是因为在他们看来这些笑话有意思,他就会有意愿去听并且在谈论时进一步记忆和深入。那么我们就可以在程序设计的教学中采用一些能够让学生觉得有意思的方式,比如用幽默的情节来引出编程语法的知识点,还可以找一些小游戏,比如俄罗斯方块、扫雷等,甚至是一些较大型的枪战题材比如Reity的《精英战警2》或RPG类型的3D游戏(如图1)等给学生试玩,并告知学生这些游戏都是采用VB编写的,并可以介绍VB的面向对象的思想在游戏开发中的运用,从而让学生了解到学习这门课决不是为了应付考试,而是真的可以做一些有意思的事情,而且还可以用来赚取利润。了解了编程语言的实用性,学生就会逐渐产生自主学习的欲望,而这是传统教学无法给予的。

教学法2:实用教学法

该法基于学生现状,从生活简单实例入手,树立学生学习VB课程的信心。

由于很多学生基础较差,不可能要求他们编写出上万行的代码或者复杂的算法,学生普遍对编程产生恐惧就是由于缺乏成功的体验,没有自信心。实际上,人们的兴趣源于成就感或。即来自于上述的娱乐性,而成就感则来自于某些超过常人的举动,比如学生爱玩网络游戏的原因之一就在于能够在虚拟世界中获得较高的地位,打出别人没有的宝物,这就是其追求成就感的体现。

那么我们就可以在其学习过程中,通过分派一些小型的项目,比如记事本程序、商品销售系统、股票软件的公式编写等在生活中有实用性的项目,让学生发现“原来我也可以做到”,从而逐步树立起自信心。这样的小型编程任务应步骤简单、算法明显、应用知识点有一定使用价值,但必须要设计一些算法且需要一定的工作量才可实现,并且能够解决实际问题,这样当学生完成后能够获得成就感。同时,还可以给出一些较为复杂的问题,而让学生一时无法解决,然后教师再给予指导完成项目,让学生了解到钻研的重要性及其知识的不足,从而愿意通过利用书籍或网络来获得更多的知识。

教学法3:项目教学法

该法按照软件行业的生产模式,逐步深入,完成最终产品,与软件工作密切相关。

计算机专业的学生在毕业后所面临的是进入软件公司参与实际项目的开发,所以在VB教学过程中,以一个项目为主线进行逐步深入教学是较好的方法。当然这需要教师自身具备一定的软件行业从业经验,可以选择其曾经参与过的或者较为流行的某种项目,在适当简化之后将该命题交给学生,让学生从无到有建立起软件的框架,并逐步进行完善。例如:很多学生都喜欢聊天,因此可以选用设计一个“简易的QQ登录框“作为实例,让学生模拟腾讯的QQ聊天软件编写登录界面,这样做可以让学生快速了解所需完成项目的基本功能和对界面需求的直观印象。

在提出命题后,即对该项目进行需求分析和可行性研究,让学生了解到在真正的软件开发中,需要大量的前期工作以提高效率并避免在后期编程中产生不必要的错误。让学生对该项目如何才能够满足用户的需求,可补充哪些功能或应做何种更正提出各自的观点,促进学生的创造性和主观能动性。

接着进行总体设计和详细设计,在教师的指导下,令学生将整个项目细分为若干子窗体,明确各个窗体的作用并安排布局;而在详细设计中,则根据每个子窗体所需的知识点选择典型的简单实例进行教学,从各知识点的单一使用到最终综合应用逐步深入,比如某个窗体的界面设计、控件及属性设置、各控件功能及事件处理机制,并完成代码的编写。

比如:对于窗体,如何在登录界面的标题栏左端放置一个小小的QQ图标?如何能够按照用户选择改变窗体背景颜色?如何加载图片?如何禁用窗体右上角的“最大化”按钮?通过这些问题使学生加深对Icon、Backcolor、Picture、Maxbutton等属性的理解。而对于QQ密码框,我们在登录QQ的过程中需要输入密码验证,而通常不会显示所输入的密码字符,如何实现这一效果?以此问题强调在编写软件(尤其是网络应用)时对安全性的考虑,让学生理解Passwordchar属性的实际用途。

在代码编写过程中:1)一开始可以给出部分代码,让学生理解每条语句的含义;2)让学生进行改写并观察效果;3)鼓励学生提出自己的意见并尝试。对于普遍存在的共性问题,教师可以统一示范和解决,并鼓励学生通过各种渠道去收集资料和解决问题。

比如:QQ的号码框中能否输入文字?为何设计为仅能输入数字?如何实现这一要求?在讲解时,可以引入软件编写过程中对于用户在输入错误时的处理方式,同时可以强调“测试”对于软件开发的重要性。可运行软件并输入错误,让学生查看所出现的错误提示,并加以讨论。可给出参考代码:

Private Sub TextUserName_Lostfocus()

If Not IsNumeric(TextUserName) Then

MsgBox "帐号中有非数字字符",vbExclamation, "输入QQ帐号"

TextUserName.Text=" "

TextUserName.SetFocus

End If

End Sub

在项目开展过程中,应让学生了解在实际软件行业中所使用的规范和模式,介绍一些作为软件从业人员应该掌握的经验之谈。比如如何命名控件,以及变量和函数的命名方法等,很多学生喜欢使用中文甚至汉语拼音来命名,还有很多较差的习惯。就此情况,应在教学初期就提醒学生尽可能使用规范的英文命名方式,为代码添加适当的注释,增加可维护性;并适当使用空格和缩进,使代码布局更加清晰便于阅读。

在各窗体完成后令各小组分别进行模块测试和联调,让学生意识到VB程序错误的类型(编译错误、运行错误和逻辑错误)、原因以及所带来的影响,比如产生“变量未定义”的原因是控件的属性名称与代码中引用的名称不相符,可修改属性中的Name属性,也可修改程序中的代码;以及应该如何调试,比如如何设置断点、使用逐句调试、以及如何在中断状态下查看变量值等,调试过程实际上也是一个对所编写的软件相关知识进一步巩固的过程。

在经过调试后,让学生提交一份他们自认为可以作为产品的软件,上机运行并答辩,将答辩成绩作为期末成绩的一部分。在答辩过程中着重于学生详细说明开发和调试过程中所遇到的问题和解决方法,强化其使用VB程序解决实际问题的能力,改变毕业生高分低能的状况。

教学法4:分层次教学法

学生的水平各有不同,教学中应根据学生的个体差异,做到有的放矢。比如有些同学喜欢编程,而有些则对此非常头疼甚至厌烦,因此顺应不同学生的学习需要,发挥其实践能力和创新精神在教学过程中需要兼顾。

笔者采用的方法是在实践教学中,给学生分派的上机编程任务中既包含所有人均必须完成的基础题目,同时又包含一些附加题,这些附加题基本以历年计算机二级VB的考题为主,并辅以一些需要额外知识的小项目,比如图形化的游戏的编写,这样一方面可以兼顾到普通学生,帮助学生顺利通过二级考试,同时也可以充分发挥优秀学生的潜力,使他们得到提高和锻炼。

4 教学效果调查

如表1所示,在试行了一段时间后,笔者对学生又再次进行了一次有关教学效果的调查。

根据反馈能够看出,学生明显对于改进后的教学方法更加适应,至少他们对自己所学专业的就业方向有了明确的目标,从而会为这个目标而自觉地学习,并在与他人的讨论过程中更快地进步,而且由于了解了软件行业的运作模式,从而在毕业后能够比其他人更快地适应岗位的要求,改进过的教学方法获得了较积极的结果。

5 总结

在VB的教学过程中,教师需要结合实际情况和教学要求,以学生为主体选择适当的教学方法,并且不断加以改进以取得更佳的教学效果,抓住学生感兴趣的主题,合理组织项目实践教学,以当前软件行业模式为依据,介绍最新的软件开发技术并指出与所学知识点之间的关联,从而使学生消除对程序设计的恐惧感,并能够自主学习和探索,从而对其就业提供了一个良好的前景。

参考文献:

[1] 王琦. VB教学中的问题与对策[J]. 电脑学习, 2008,6(3):56.

[2] 孙力红. 互动教学,激发学生潜能[J]. 计算机教育,2006(12).

[3] 谭浩强. C程序设计[M]. 3版. 清华大学出版社,2005.7.