APP下载

在VB教学中培养学习兴趣并提升学生的编程能力

2018-05-18高娟李向群王娟王新

现代计算机 2018年11期
关键词:引例程序设计代码

高娟,李向群,王娟,王新

(中国矿业大学计算机科学与技术学院,徐州 221116)

0 引言

随着计算机的不断普及,社会信息化进程的不断推进,各行各业的运作都离不开计算机。很多行业对人才在信息技术素质方面的要求,不再满足于对计算机的基本操作、基本应用上,而是更多地关注于他们是否具备使用计算机解决工作中实际问题的能力,以及是否具备一定的程序设计能力,将实际问题的解决方法编写成计算机程序,利用计算机高速、自动运行的特点,更快、更精准地解决问题。

《VB程序设计》是高校针对非计算机专业学生开设的计算机基础课程系列中的重要课程之一。课程主要介绍使用VB进行程序设计的基本思想和方法,目的是让学生掌握可视化程序设计的通用方法和步骤,初步具备使用编程技术来解决本专业实际问题的能力,并在学习过程中不断提升自身的编程能力和逻辑思维能力。

1 目前VB教学中存在的问题

通过多年的教学实践,发现目前在《VB程序设计》的教学中主要存在以下几个问题:

(1)未能充分认识课程的重要性。不少学生不能充分认识编程技术对其以后解决专业领域实际问题的重要性,认为程序设计语言是计算机的专业课程,作为一个非计算机专业的学生没有必要深入学习。

(2)在学习过程中存在畏难情绪。很多学生第一次接触编程,面对全新的概念和全新的思维方式,难免产生畏难情绪,刚开始自己编程时往往不知从何处下手,不能较快地进入编程状态。

(3)课程内容相对比较枯燥,有一定难度。程序设计课程的特点是概念较多、知识点细、算法抽象、逻辑性强。在学习过程中,学生会感到学习内容枯燥难懂,缺乏兴趣,不能达到理想的教学效果。

(4)学生独立分析问题、解决问题的能力有待提高。在自己编程时,很多学生只能局限于对现有例题的模仿和改进,但对于一个全新的问题,很难独立设计出合适的算法并编写出能正确运行的程序。

2 培养学习兴趣

兴趣是最好的老师。程序设计课程的知识点略显繁琐和枯燥,初学者刚接触时,难免会产生畏难甚至厌学情绪。但通过精心设计好的案例,可以逐渐培养学生的学习兴趣,让学生慢慢喜欢上编程。特别是重点章节引例的设计,可以对新章节的学习起到很好的引导作用。

(1)精心设计引例,引导学生兴趣。

引例的作用在于启发学生从已有的知识去思考,进而引出新的教学内容。VB程序设计课程的重点教学内容是程序的基本控制结构、数组和过程,对这几部分内容都设计了相应的引例,如表1所示。

表1 重点章节的引例

在介绍VB程序的基本控制结构之前,学生已经学习了VB语言的基础知识,包括数据类型、常量与变量、运算符与表达式、内部函数等,但这些知识还不足以编写出一个功能相对复杂的程序,因此第4章使用的是两个算法的引例,从学生熟悉的求最大公约数和判断素数的方法出发,引出程序设计中算法的概念、算法的表示,以及算法和程序代码之间的关系,强调算法的重要性。第5章数组以计算一个班30个学生的数学平均分为例,使用一个有30个元素的数组来实现,进而引出数组的概念,并说明数组的作用和使用方法。第6章过程使用求组合数的引例,编写一个实现求任意数阶乘的通过过程,可以减少代码输入,由此引出通用过程的概念和作用,并介绍通用过程的定义和调用方法。

(2)及时安排课后实验,巩固所学知识。

一部分课程内容讲完后,应该及时给学生安排课后实验,以巩固所学知识。相对于其他内容,学生对刚学完的内容具有更深刻的印象,但如果不及时复习巩固,很快就会遗忘。因此应该让学生在学完课程内容的1~2天之内,运用所学知识自己动手编程,以达到巩固知识的目的。

对于布置的课后实验题目,要让学生先预习,并写出算法或者具体的程序代码,再在实验课上输入代码验证,否则可能一节课也完成不了一个实验。对于学生在实验过程中遇到的问题,要尽量让学生自己分析,可以通过程序运行时的错误提示或错误结果来分析问题所在,要尽量引导学生自己分析问题、解决问题。通过努力取得成功带来的喜悦是兴趣的重要来源之一,当学生通过自己的思考、分析、修改,最终运行得到正确结果时,兴奋的心情是可想而知的,兴趣也就自然而然地产生了。

3 在教学中逐渐提高学生的编程能力

程序设计的教学不应该仅仅是知识的传授,而应该着重于对学生编程能力的培养,学生应学会如何自己动手编程,并善于通过编程解决实际问题。

3.1 重视算法设计

算法是指计算机解决问题的方法和步骤,可以用自然语言、流程图、伪代码等来表示。算法设计是VB程序设计中非常重要的一个环节,应该要求学生在编写代码之前先设计好算法,较复杂的算法可以在纸上写出来,简单的算法不一定写出来,但在输入代码之前必须有一个完整的解题思路。在VB程序设计课程中涉及到的很多案例,如累加累乘,求最大公约数,判断素数,数组元素的排序、查找、插入、删除等,都要以算法讲解为主,算法讲透彻了,程序代码自然就能看懂。

3.2 养成良好的编程习惯

良好的编程习惯对于提高学生的编程能力有着非常重要的作用。学生刚开始学习编程,往往因为没有清晰的解题思路,正确的编程方法而导致编写出来的程序可读性较差,掌握了一定的编程技巧,养成良好的编程习惯,有助于学生更快更精确地进行程序设计。

(1)不要盲目动手编程。在动手编程之前,一定要有清晰的解题思路,可以先在纸上写出算法或主要的代码,千万不要没有进行任何设计就开始编程。

(2)变量较多时,要使用有意义的命名方式。一个程序中如果要用到多个变量,为避免混淆,应使用有意义的命名方式,如 intAge,strName 等,比 a,b,c 等更具有可读性。

(3)采用锯齿形的书写方式。像循环结构、分支结构等结构内部的代码相对于结构本身缩进2~4个字符,能使代码更具有可读性,特别是当使用多层嵌套时,锯齿形的书写方式能使代码的层次结构更加清晰。

(4)善于使用程序调试。VB程序的错误分为编译错误、运行错误和逻辑错误。在编译和运行过程中,VB能够检查出编译错误和运行错误,并给出错误提示,根据错误提示信息就能知道错误原因,不难改正;但逻辑错误系统不能检查出来,程序能正确运行,只是得到的结果是错的,这就需要根据错误结果和已有代码来分析错误原因,可以借助VB的调试工具栏和调试窗口等进行程序调试,分析错误原因并修改。

(5)发现大段代码有问题时,不要急于删除。编写好的程序代码在一定程度上可以看出编程者的思维过程,就算是错误的代码,也可以激发编程者再次思考,从错误分析中得到启发,从而设计出更好的代码。因此可以先对有问题的代码进行注释,等相应模块编程结束,调试无误后再将其删除。

3.3 上好第一次课

良好的开端是成功的一半,能否上好第一次课,对于能否激发学生的学习兴趣,影响学生的学习态度有着至关重要的作用。VB程序设计课程的第一堂课应该做到以下几点。

(1)强调课程的重要性。

不少学生在刚学习本课程时会有这样的想法:我不是计算机专业的学生,为什么要去学习程序设计这样一门计算机专业的课程?非计算机专业的学生学习程序设计有两个重要作用:一是能提高学生使用计算机解决本专业问题的能力,遇到复杂的问题,或者计算量大的问题,可以考虑通过编程告诉计算机如何执行,交给计算机来实现;二是能够培养学生自身的逻辑思维能力,提高分析问题、解决问题的能力,而且程序设计的过程本身就是一个不断分析问题、解决问题的过程。

(2)通过典型例子说明VB程序能做哪些设计。

掌握了VB能够设计出什么样的程序?可以向学生演示一些设计好的简单有意义的实例,如简易计算器、星座计算、调色板、滚动字幕等。并选择其中一个例子简要说明实现该程序需要进行哪些方面的设计和操作。

(3)简单介绍VB的编程环境和程序设计的基本方法与步骤。

VB的编程环境集成了设计、编辑、编译、调试、运行等功能。要向学生演示VB的程序设计界面,并讲清楚程序设计最常用的三个窗口(窗体、工具箱、代码)的使用。在此基础上再说明VB程序设计的三个步骤:界面设计、算法设计和代码设计,以及VB程序代码的执行机制——事件驱动。

(4)通过小例子激发学生思考。

第一次课的最后可以让学生自己设计一个简单的程序,如编程实现减法运算。通过已有知识,学生不难设计出如下的程序界面。

图1

再进行代码设计,需要学生考虑两个问题:一是代码怎么写?这关系到程序功能的实现。二是代码写在哪里?这取决于我们希望代码什么时候执行。在了解了VB编程的基本方法和事件驱动的概念后,学生不难解决这两个问题。例如希望在用户单击“计算”按钮时执行减法运算,就应该把实现减法运算的代码写到“计算”按钮的“单击”事件中。因此应该为“计算”按钮的“单击”事件编程,代码如下:

Private Sub Command1_Click()

Text3=Text1-Text2

End Sub

接下来可以进一步提出,如果把减法运算改成加法运算,该如何修改代码?学生很容易就想到把代码中的减号改成加号,但改完以后却发现运行结果是错误的,原因在于在VB语法规则中“+”不仅仅是算术的加法运算符,还是一个字符串连接运算符,当然还涉及到文本框中内容默认的数据类型。这些错误原因的细节问题无须在第一次课给学生解释得很清楚,但需要跟学生强调一点:程序设计有一套严密的语法规则,在编程时必须严格按照语法规则的要求进行,而不能想当然,否则就不能编写出正确的程序。

4 结语

非计算机专业学生学习程序设计课程的主要目的是提升自身的编程能力和逻辑思维能力,以及分析问题、解决问题的能力。在多年的教学实践中,我们取得了不少经验和成绩。但是教学改革永无止境,在以后的教学中将继续探索和研究,不断提高程序设计课程的教学效果。

参考文献:

[1]张艳等.新编Visual Basic程序设计教程(第二版).北京:清华大学出版社,2013

[2]陈益军.计算机教学中提高学生程序设计能力的方法.计算机教育,2010(13):36~38

[3]王素芳.关于提高学生VB语言编程能力的方法探讨.科技视界,2013(04):80,144

猜你喜欢

引例程序设计代码
医学专业“Python程序设计”课程教学改革总结与思考
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
定积分概念教学案例和思考
一道高考解析几何选择题的解法探究
神秘的代码
高职高专院校C语言程序设计教学改革探索
一周机构净增(减)仓股前20名
一个三角形面积公式s—1/2|x1y2—x2y1|的证明与应用
一行代码玩完19亿元卫星