【关键词】界面设计 代码设计 算法
1 引言
程序设计不仅是一门科学而且是一门艺术,它有较强的创造性和灵活性,也是学生较难掌握的技能。一方面程序设计本身枯燥、严谨,难以理解,另一方面更主要的是教师在组织程序设计教学中缺乏针对性,没充分考虑学生的知识水平、认知规律、学习特点和接受能力。
Visual Basic,是一种面向对象的程序设计语言,编写应用程序快捷高效,是职中计算机专业的必修科目。在这门课的教学实践中,我紧紧抓住界面设计和程序代码设计两大环节,打破教材原有以知识的逻辑结构体系为顺序组织课堂教学的方式,以教授程序设计的基本方法为主线,从具体问题入手,由浅入深,由简及繁,循序渐进,介绍解决问题的方法,最后引出概念和结论,取得良好教学效果。
2 界面设计
在面向对象程序设计语言教学中,界面设计是一项很重要的工作,程序是否简便易用,与界面的质量有很大关系,而界面中的对象属性会影响对象的外观及功能,因此,对象的属性设置在界面设计教学中要重点加以训练。我设计了如下的界面,让学生和我一起完成。
题目要求任意输入两数,求这两数的和(或差、或积、或商),实际是完成一个简单的计算器。
2.1 建立应用程序界面
(1)启动 VB。
(2)加入两个文本框。
(3)加入四个运算按钮。
(4)加入两个标签框。
在界面设计教学中,学生通过自己的实际操作,很容易就掌握了如何在界面内添加对象,如何改变对象位置,以及如何设置对象的属性。通过几次针对性的练习,学生对属性的设置不会有太大问题。
2.2 设置各控件的属性
如表1。
2.3 编写代码
当程序运行后整个系统处于相对“静止”,等待输入,当输入数据后,单击四个按钮中的任一个时,则引发Label2的Caption属性变化,由原来的内容改为两文本框中内容的和(或差、或积、或商),因此,必须在四个按钮中的Click(单击)事件中加入适当的代码,使Label2的Caption发生变化。
编写“+”代码的操作方法:
(1)双击“+”按钮。
(2)在Command1_Click()过程中加入以下一行代码。
Private Sub Command1_Click()
Label2.Caption = Val(Text1.Text) + Val(Text2.Text)
End Sub
通过此例,很容易便可掌握属性值在代码中的设置。其它按钮控件仿照以上方法,让学生自行完成。
3 程序代码设计
程序设计主要学习的是编程本身的思想,学习的效果不能马上看到,但是可以学到扎实的基本功,如强化逻辑分析和建立数学模型的能力;数据结构和算法知识;丰富的实践经验。针对客观实际,我在VB教学中采取了以下几个措施。
3.1 密切联系实际,激发学生学习兴趣
职中学生相当一部分文化基础差,对概念理解力差,发现问题与解决问题的能力较低,对学习兴趣不高,课堂注意力容易分散,知识掌握不牢固。因此在程序设计教学中我放低教学起点,降低教学难度,培养他们的学习兴趣,让他们学得轻松,学有所获,感受成功。
3.2 编程教学中淡化语句教学,注重算法教学,贯彻结构化程序设计思想
程序的长短、变量的多少不是判断一个程序好环的标准,算法的清晰易懂才是最主要的。同时要强调VB面向对象的结构化程序设计思想,如下例,“给100个整数,打印输出其中的素数”结合算法将一个大任务分解成若干“功能模块”。
3.3 从不同角度看同一问题,把握问题实质
程序设计可以通过不同的算法、语句设计出不同的程序而解决同一个问题。一个程序的好坏关键在于这个程序是否简洁明确、结构清晰和高效率。可把解决同一问题的A程序、B程序或C程序的不同地方加以分析和归类,向学生展示讲解,从而加深学生印象。如在讲授循环结构时,同一例题就可用DO、While…Wend、Do…While、Do…Until、For…Next五种语句来实现。可以适当的加以提示,鼓励学生用不同的语句来设计程序解决问题。最后给予总结和提炼,明确哪种方法简洁、易读,哪种方法运行速度快,哪种方法灵活。
总之,教学有法,教无定法,只要教学得法。如何培养学生学习兴趣,改进教学方法,使学生得到发展是我们长期而艰巨的任务,围绕着这个任务,在保护学生学习积极性的前提下,按照学生的认知规律组织教学,一切可行的教学方法都可在我们的教学过程中加以运用。
参考文献
[1]朱海红.程序设计的教学要讲究方法[J].新课程导学,2011.
[2]申然.我在进行VB程序设计教学过程中的几点尝试[J].文教资料,2006.
作者简介
谢翠芬(1976-),女,广东省佛山市人。现为佛山市华材职业技术学校计算机中学一级教师,主要从事计算机科学教育改革研究。
作者单位
关键词:Visual Basic;Excel;数据表;打印
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)09-11669-04
The VB Program Design: Universal Procedure to Print Report
ZHENG Xiao-hong
(From the Computer Science Department of Beijing Dongcheng Audlt College, Beijing 100020, China)
Abstract: This article will introduce, using the Visual Basic operation Microsost Excel in a application writen Visual Basic, how to print the dissimilar structure and diferen title reports with a procedure that takes a recordset parameter and a string type parameter. The procedure overcame the limit of function of the Visual Basic report design; solved the problem to print the different structure recordsets which were produce in a routine; unified and simplified the methos to design and print reports to each kind of different structure in a application writen Visual Basic.
Key words: Visual Basic; Excel; Print Report
1 Visual Basic系统中报表功能的局现限
尽管Visual Basic系统中提供了设计打印报表功能,但是,需要对各种结构不同的数据表分别去设计,这是一项繁琐的工作,并且要在程序设计阶段确定数据表的结构。然而,在信息管理系统中,常常需要程序运行中,根据用户输入条件而生成各种结构不同的记录集,对于这种程序运行中生成的记录集,在程序设计时往往不能确定表的结构,要打印输出这种动态表,Visual Basic中的报表设计功能是无能为力的。
2 Visual Basic数据表通用打印程序
本人在信息管理系统开发应用中,利用VB操作Excel,设计一个带参数的过程,实现对各种结构不同的数据表的打印输出,使得对各类不同结构数据表的设计及打印统一并简化为对通用打印过程的一次调用,大大提高了VB程序设计中报表设计和打印的效率。
2.1 通用报表打印过程的参数
在标准模块中声明Public报表打印过程,过程的头如下面语句所示:
Public Sub TablePrint(rs As ADODB.Recordset, Title As String)
其中TablePrint为过程名,参数rs是ADO记录集对象,参数Title是字符串变量,这两个参数分别将要打印报表对应的记录集和报表标题带入到打印过程,在打印过程中从这两个参变量中获取并输出要打印报表的标题、结构及数据。
2.2 在Visual Basic中引用和创建外部Excel对象
在VB中操作Excel,首先要添加引用“Microsof Excel Object Library”。在设置引用Excel对象之后,在过程中声明Excel应用程序对象、工作簿对象并创建相关对象实例。下面语句依次声明了Excel应用程序对象xlapp、工作簿对象xlbook。
Dim xlapp As Excel.Application
Dim xlbook As Excel.Workbook
下面语句依次创建Excel应用程序对象实例、新工作簿文件实例及选择工作表sheet1。
Set xlapp = CreateObject("excel.application")
Set xlbook = xlapp.Workbooks.Add
xlapp.Sheets(1).Select
2.3 由记录集的字段名建立表的列标题
将记录集输出为数据表,首先要建立数据表的列标题,本程序通过一个循环语句将记录集的字段名即表的列标题依次写入当前选定的工作表Sheet1的第1行。
For i = 0 Tors.FieldsCount-1
xlapp.Cells(1, i+1) = rs.Fields(i).Name
Next i
2.4 将记录集中的数据写入工作表
下面语句通过一个嵌套的循环将记录集中的记录数据依次写入工作表。
rs.MoveFirst
For j = 1 To rs.RecordCount
For i = 0 To rs.Fields.Count-1
xlapp.Cells(j+1, i+1) = rs.Fields(i).Value
Next i
rs.MoveNext
Next j
2.5 记录工作表的数据区域
为了使程序能自动将数据表完整打印,程序必须记录Excel工作表中的数据区域,下面语句分别获取表格数据区域的最右列列号及右下角单元格地址,存入变量ec及ec1中。
ec = Chr(65 + rs.Fields.Count -1)
ecl = ec & rs.RecordCount + 1
2.6 设置数据表的列宽及文字格式
在打印数据表之前,需要设置工作表的格式。
Excel工作表中的“Columns”对象的“AutoFit”方法,可实现工作表自动调整列宽为最适合的列宽。
xlapp.Worksheets(1).Columns("A:" & ec).AutoFit
在选定工作表的数据区后,利用Excel工作表的相关属性设置选定区域的字体、字号及文字对齐方式。
xlapp.Range("a1", ecl).Select
With xlapp.Selection
.Font.Name = "宋体"
.Font.Size = 10
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
2.7 设置数据表的打印格式及打印输出
在打印数据表之前,打印格式的设置是必不可少的。用With xlapp.ActiveSheet.PageSetup……End With括起来的下面一组语句实现了对数据表的打印设置。
设置打印区域、页眉中打印数据表标题和打印日期、页脚中打印页码和页数
.PrintArea = "a1:" & ecl
.CenterHeader = Title & " (打印日期:&""Times New Roman,常规""&D&""宋体,常规"")"
.CenterFooter = "第 &P 页,共 &N 页"
设置打印数据表的上、下、左、右、页边距及页头、页脚边距
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.2)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
设置打印表格线、设置每页都要打印的列标题、设置表的打印缩放比例。
.PrintGridlines = True
.PrintTitleRows = "$1:$1"
.Zoom = 95
下面语句实现将工作表打印,并且首先弹出打印预览页面,由用护选择时否打印。
xlapp.ActiveWindow.SelectedSheets.PrintOut Preview:=True
2.8 完整的打印过程源代码
Public Sub TablePrint(rs As ADODB.Recordset, Title As String)
'定义Excel应用程序对象xlapp、工作簿对象xlbook
Dim xlapp As Excel.Application
Dim xlbook As Excel.Workbook
Set xlapp = CreateObject("excel.application") '创建Excel应用程序对象实例
Set xlbook = xlapp.Workbooks.Add '创建新工作簿文件
xlapp.Sheets(1).Select '选择工作表sheet1
xlapp.Visible = false '设置电子表格的可见性为假(调试时可设置为真,以便于观察)
'将记录集的字段(表的列标题)写入Sheet1表的第1行
For i = 0 To rs.Fields.Count - 1
xlapp.Cells(1, i + 1) = rs.Fields(i).Name
Next i
'将记录集中的记录写入Sheet1中
rs.MoveFirst
For j = 1 To rs.RecordCount
For i = 0 To rs.Fields.Count - 1
xlapp.Cells(j + 1, i + 1) = rs.Fields(i).Value
Next i
rs.MoveNext
Next j
'获取表格有效区域――即有数据的区域
ec = Chr(65 + rs.Fields.Count - 1)'最右边列号
ecl = ec & rs.RecordCount + 1 '最右下角单元格地址
'自动调整表格列宽
xlapp.Worksheets(1).Columns("A:" & ec).AutoFit
'设置表格字体,字号,单元格文字对齐
xlapp.Range("a1", ecl).Select
With xlapp.Selection
.Font.Name = "宋体"
.Font.Size = 10
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
'打印设置
With xlapp.ActiveSheet.PageSetup
'设置页眉:显进标题和打印日期
.CenterHeader = Title & "(打印日期:&""Times New Roman,常规""&D&""宋体,常规"")"
'设置页脚
.CenterFooter = "第 &P 页,共 &N 页"
'设置上、下、左、右、页边距及页头、页脚边距
.LeftMargin = Application.InchesToPoints(0.5)
.RightMargin = Application.InchesToPoints(0.2)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False '设置打印表的行列号
.PrintArea = "a1:" & ecl'设置打印区域
.PrintGridlines = True '设置打印表格线
.PrintTitleRows = "$1:$1" '设置行标题
.PrintTitleColumns = "$A:$B" '设置页标题
.CenterHorizontally = True '设置表格打印水平距中
.Zoom = 95'设置表格打印的缩放比例(也可做为参数代入)
End With
'打印预览并打印
xlapp.ActiveWindow.SelectedSheets.PrintOut Preview:=True
End Sub
3 结束语
在Visual Basic应用程序中,调用该过程,就可实现Visual Basic操作Excel程序在后台设计及打印数据表,用户看不到具体过程,只看到漂亮的报表轻易地被打印出来。
这种方法可以充分发挥MS Excel的报表设计打印功能,简化了Visual Basic应用程序中的报表设计工作,摆脱了Visual Basic中设计打印数据报表的烦脑。
参考文献:
[1] 刘文涛. Visual Basic+Access数据库开发与实例[M]. 清华大学出版社,2006-07.
[2] 刘韬. Visual Basic 实效编程百例[M]. 人民邮电出版社,2004-08.
关键词:解题;优化;能力;提高;过程
新课程像清新的春风吹遍了大江南北。新课程那崭新的教学评价理念,逐渐渗透进教师的教学活动中。目前,学校对VB程序设计教育主要都放在课堂教学上,而对VB程序设计课的延伸(如:VB程序设计兴趣小组、VB程序设计各种制作比赛、参观访问、社会实践等)做得还不够,甚至根本没有去做。一周一堂的VB程序设计课在教学内容巩固与延伸上存在着严重的脱节情况。上一周VB程序设计课的教学内容,学生往往在下一周的VB程序设计课到来之前就已经忘得差不多了,这给教师重复教学埋下严重隐患。所以,我们不仅要在课堂内让学生学到真功夫,而且还应延伸课外活动,通过一些生活任务、社会实践让学生学以致用,体现自我价值。美国著名VB程序设计教育家波利亚说过,掌握VB程序设计就意味着要善于解题。而当我们解题时遇到一个新问题,总想用熟悉的题型去“套”,这只是满足于解出来,只有对VB程序设计思想、VB程序设计方法理解透彻及融会贯通后,才能提出新看法、巧解法。高考试题十分重视对于VB程序设计思想方法的考查,特别是突出考查能力的试题,其解答过程都蕴含着重要的VB程序设计思想方法。
VB程序设计解题过程大致包括正确审题和变通、解题计划的制订、解题结构的优化和解题后的反思这四个环节。VB程序设计解题能力的培养也就可以根据这些环节进行。下面就这些环节谈谈自己的一些见解和看法。
一、正确审题和变通
波利亚说过,理解了题意,相当于解决了问题的一半。理解了题意,往往能直接找到问题的解法。拿到题目,不要匆忙去做,先认真阅读,正确审题,理解题意,全面掌握已知条件和设问要求,是问题解决的奠基性工作。审题能力如何,直接影响到解题的成败。审题的基本要求主要是弄清题目的两个组成部分:条件和结论。对一些简单的基本题,只要认真审题,弄清题意,一般说来是并不困难的。然而对于某些要求综合或灵活运用知识来解答的题目,审题的要求就比较高了。这类题目的特点是条件比较复杂,甚至隐蔽而不明显。在审题时,对已知条件既不能遗漏,也不能随意外加。对于结论,经过审题要转换表达成其他各种等价形式。可见,提高学生的审题能力主要是培养分析隐蔽条件的能力,化简、转化已知和未知的能力。
二、解题计划的制订
VB程序设计的基本概念、基础知识和基本技能是解题思路的源泉,离开了它们,解题就成了无本之木,无源之水。还可以进行大胆地猜想,由一般想到特殊,由特殊想到一般。经过这样一番深入思索之后,解题途径将会逐步明朗,解题计划便随之形成。
三、解题结构的优化
解题结构的优化,取决于对已知条件的整体、综合运用的程度,取决于对题意的整体把握程度,当然也取决于对求解(证)结论的理解和分析的程度。不少学生对题意的理解,对条件的利用往往是片面的、孤立的和局部的,从而使解题的过程冗繁多错,因此,在解题教学中,要积极培养学生的整体意识,从而探索更优的解法,获得更好的解题效果。
四、解题后的反思
波利亚曾说过,没有任何一道题是可以解决得十全十美的,总剩下些工作要做,经过充分探讨,总会有点滴发现,总能改进这个解答,而且在任何情况下,我们总能提高自己对这个解答的见解水平。波利亚在这里所说剩下些工作,说的就是解题后的反思。
反思什么呢?反思解题时运用了什么思维方法?在解题过程中运用了什么基础知识和基本技能?解决问题的关键何在?如何进行突破?是否还有其他不同解法?试比较各种解法哪种解法最优、最合理?
VB程序设计解题中的许多问题是通过转化而使问题得到解决的,因此培养学生的解题能力,有利于提高学生的解题技巧和应变能力。在解题教学中,教师要引导学生在实践中演练,感知、体会解题的思想方法,逐步形成一系列行之有效的解题策略,如:化繁为简、化整为零、化曲为直、以形论数、以数论形等等。在遇到新的问题情境时,能以有效的思维策略,去探索转化的途径,去优化解题过程。
关键词:VB;教学改革;任务驱动;案例教学
中图分类号:TP3 文献标识码:A 文章编号:1009-5039(2013)01-0113-03
Visual Basic(简称VB)程序设计语言是目前最流行的程序设计语言之一,它简单易学且功能强大,是一门实践性很强的课程。开设本课程的目的是为了培养学生程序设计思想和计算机实际应用的能力,越来越多的高校将VB作为编程语言的首选课程。然而,在实际的教学中,学生却认为VB枯燥难学,教学效果并不理想。改革教学方法,激发学生兴趣是提高教学质量的根本办法。
VB具有可视化、面向对象、采用事件驱动编程机制等特点,概念多,内容丰富。在程序设计方面,要介绍基本语法、函数、结构化程序设计方法和常用算法;在面向对象的程序设计方面,要介绍对象和类,对象的事件、属性和方法,以及封装、继承、多态等概念。在数据库模块,要介绍数据库的建立和访问技术[1]。知识点多,理论性强,使得同学们掌握起来非常困难,给教学工作带来很大的难度。
1 VB教学中存在的问题
1.1 学习目标不明确,学习兴趣不浓厚
目前,VB理论课的教学多是在多媒体教室进行,往往是2、3个班在一起的合堂课,教学内容是按照教学大纲设计的,课堂上主要以老师讲授为主。这种以教师为主的教学方式,不能很好地调动学习的积极性,分析、解决问题的能力得不到培养,学生学习的目的性不强。很多非计算机专业的学生不了解VB对所学专业的作用,因此不重视该课程的学习,学习兴趣不浓。
再者,学生初学编程,基本功相对较差,对VB中的概念以及程序设计的基本知识并未完全掌握,使得遇到问题无从下手,即便写出了程序,也经常是错误百出,无法运行,这严重挫伤了同学们的自信心。
另外,学生学习方法单一,自学能力较弱,未能充分利用网络资源进行自主学习,因而遇到问题就只能放弃。
1.2 教学内容繁杂,教学方式单一[2]
VB课程的教学内容主要有程序设计基础、面向对象编程、数据库访问三部分组成,传统教学也是按照这个顺序进行的。在学习完变量、表达式、语句等基本知识后,才进入编程阶段,这时候学生对VB的学习兴趣早已消失殆尽,接下来是机械地完成作业,跟本谈不上什么学习热情了。
多班合堂上课,也决定了教学方式还是以老师一个人讲授为主,与同学的互动很少,更谈不上让学生思考、讨论了。这种被动的学习方式学生很快就会失去兴趣,跟本无法培养他们的编程思维方式。
1.3 实践教学组织不利,实验课收效甚微
实践教学是课程的一个重要环节。在理论课中讲解的原理、概念、案例等,只有通过上机实践才能真正被学生掌握。每节课的实验内容、实验要求、实验步骤以及要达到的实验目的,都需要精心组织。而在实际的教学中,有些老师不重视实践课,或者组织、引导不够,任由学生自由上机。学生实验目的不明确,遇到问题不能及时解决,上机只能是敷衍了事。这样的实验课对培养学生的独立思考和创新能力没有任何效果。
2 教学改革
2.1 明确学习目标,激发学习兴趣
《Visual Basic程序设计》是高校本科学生的必修课,通过本课程的学习,使学生掌握面向对象的编程思想,掌握高级语言程序设计的基本方法,培养学生逻辑思维和计算机实际应用的能力。在教学过程中,老师要运用各种教育技术将学生引入到教学中来。增加师生之间的交流,将学生不理解的知识在课堂上细讲。将程序设计语言与学生所学专业紧密结合起来,举一些与学生所学专业有关的例题,调动学生的兴趣,使学生充分地参与到教学过程中来。
2.2 重组教学内容,灵活运用多种教学方法
本门课的教学出发点是培养学生的程序设计开发能力。从面向应用、提高能力这个基本点出发,可以把教学内容划分为以下几个模块:程序设计基础模块、面向对象编程模块、可视化程序设计模块、数据库访问模块[1]。教材中,某一模块所涉及的知识可能分布在不同的章节,在教学中,可以把这些内容放在一起讲解,这样就保证了知识的完整性和教学内容的连贯性,也有助于学生的理解和掌握。
针对不同的教学内容,要灵活运用不同的教学方法。在实际的教学中,我们运用的最多的是“任务驱动+案例教学”的模式。所谓任务驱动就是将教学内容作为一个任务,组织学生对任务进行分析、讨论,把一个大的任务细化为若干个小的任务。以任务作为出发点,启发、引导学生运用知识,由浅入深一步步完成所有的任务,从而达到掌握所学知识的目的。任务驱动是以“学生为主体,教师为主导”的教学模式,学生参与到整个的教学过程中来,大大激发了学习热情。任务驱动法不仅提高了学生独立地分析、解决问题的能力,也培养了团队协作的精神[3]。
案例教学是以案例来划分教学内容,把知识点融入到一个个典型的案例中去,引导学生分析、解决问题,提高学习兴趣,培养解决实际问题的能力。
案例教学法的基本思路是:提出问题、分析问题、解决问题、归纳总结[4]。案例要精心准备,选取典型的、有代表性的例子,不要举过于复杂、知识点不突出的例子。在教学过程中,教师带领学生共同分析、解决案例,最后将知识点总结归纳出来。例如,应用案例介绍动态变量与静态变量的使用可以经过如下的步骤:
提出问题:动态变量与静态变量在使用中有何区别。
分析问题:引领学生通过教材的描述来寻找答案,动态变量在程序运行进入其所在的过程时,才为该变量分配内存单元,退出过程时,该变量占用的内存单元自动释放,其值不被保留。静态变量在应用程序中只被初始化一次。程序运行进入过程后,静态变量参与过程内部的各种操作,退出过程后,其中静态变量的值仍被保留,当再次进入该过程时,变量原来的值可以继续使用。这样的讲解,学生只能有一个概念性的了解,要想真正掌握必须通过案例来说明。
解决问题:通过下面的例子来说明静态变量与动态变量的区别。
归纳总结:程序运行结果如图1所示。使用Dim关键词在过程中声明的局部变量属于动态变量,a是一个动态变量,每次进入过程都被重新初始化,其值始终等于1。使用Static关键词在过程中声明的局部变量属于静态变量。b是一个静态变量,每次调用过程时保持上一次的值。
通过具体的案例,引导学生思考问题、解决问题,这样学到的知识更扎实,同时也提高了同学们的学习兴趣。
2.3 改革实践教学,增加实训项目
在实践教学过程中,“任务驱动+案例”的教学方法应该得到更好的应用,在教师的指导下,充分调动学生的积极性,在完成任务的过程中发现问题、解决问题,这样既能更好的掌握学习内容,又可以培养自身程序开发的能力。从而增强学生的学习信心,提高学习兴趣。
在实践教学中除了要学生掌握正确的解题方法,还要注重培养程序设计的风格,规范的设计风格可以使程序结构清晰,一旦有错容易发现,便于维护。
程序中的错误主要有三类:语法错误、运行时错误和逻辑错误。语法错误是违反了语法规则而产生的;运行时错误是在运行代码时发生的,往往是由于执行了非法操作产生的;逻辑错误是指运行程序后,得不到所期望的结果[5]。要让学生掌握利用VB提供的调试工具,自己去发现和改正错误的方法,对程序执行过程进行跟踪监视,使编程能力得到真正的提高。
学期末要组织学生进行实训项目的练习。在理论教学中,有关数据库开发模块的内容往往介绍比较少,而这部分内容在实际工作中又非常实用。针对这种情况,可以让学生开发一个有关学生管理的实训项目。在老师的指导下,将学生分为若干小组进行开发。这样既弥补了理论教学的不足,也使学生的编程能力得到真正锻炼,同时也培养了同学们相互合作的精神。
2.4 改革考核办法
程序设计语言的考试要客观地反映学生实际的开发能力,所以要在计算机上进行考试。考试的内容要以编程题为主,同时兼顾基础知识。期末总成绩由平时成绩、实践成绩、机试成绩三部分组成,其中平时成绩占20%,主要考核平时上课情况、作业完成情况等;实践成绩占20%,主要考核的是上机实践和实训项目完成的情况;机试成绩占60%。成绩基本上能反映学生对本课程的掌握情况。通过考核也能发现平时教学过程中存在的不足,以便在今后的工作中加以改进。
3 结束语
计算机在各个领域的广泛应用,使得社会对学生的计算机水平提出了更高的要求。这就要求我们在实施教学的过程中,必须不断地创新、改进教学方法和手段。从激发学生学习程序设计的兴趣、实施“任务驱动+案例”教学法、加强实践教学等环节入手,探讨教学改革的方法。有效地提高学生使用程序设计语言解决实际问题的能力,培养学生的计算思维,全面提升程序设计语言课程的教学质量。
参考文献:
[1] 刘洪波,石磊.Visual Basic程序设计课程教学改革的探索与实践[J].广州番禺职业技术学院学报,2010(3):32-35.
[2] 卞爱莲.浅谈中职VB程序设计课程教学改革的探索[J].科技信息,2010(23):300-322.
[3] 王晓刚.任务驱动法在“Visual Basic程序设计”教学中的应用浅析[J].科教文汇,2010(3):167-168.
[4] 周永新.在VB程序设计课中实施案例教学法的探索与实践[J].福建电脑,2010(6):200.
关键词:VB程序设计;现代教育;实践与改革
Visual Basic程序设计作为一门程序设计语言,在教学过程中,应用和研发的特征比较明显,而初学者总是感觉程序设计比较枯燥无味、难于理解、入门困难,甚至对其产生畏难厌学情绪。教学中笔者利用现代教育技术手段,对传统的教学方法进行改革,实践探索出了一套行之有效的教学策略,取得了良好的教学效果。
一、着力培养学生学习兴趣,上好VB入门课
1.课前强调程序设计的重要性,充分调动学生的求知欲
在讲授该课程之前,结合学生实际所学专业,事先准备几个VB开发的应用程序或是信息管理系统,第一节课上课时通过多媒体演示,让学生明白程序设计的重要性和实用性,树立明确的学习目标:学习VB不只是达到计算机应用能力的考核要求,更是今后工作、生活中不可或缺的一项基本技能。学生了解了学习目标之后,就会迫切地想自己去尝试程序设计,这样学生学习程序设计的积极性就被调动起来了。
2.揭开程序设计的神秘面纱,开始学习之旅
初学者在学完计算机应用基础后,对计算机的运行原理还是似懂非懂,在这样的前提下,开设VB程序设计课,学生想到要自己编写程序代码来控制计算机完成一项任务更是一头雾水。通过长期的教学实践笔者得出的结论是,要解决这一问题,主要是要在学习者脑海中树立“万丈高楼平地起”的思想:即无论多复杂的程序都是由基本语句积累起来的,而基本语句是很容易掌握的。例如,借助Windows画图程序讲解一个简易调色板程序,改变文本框背景颜色只需要一行语句:Text1.backcolor=VBred即可实现。教师在给出VB颜色描述的关键字后,进一步要求学生实现其他颜色的编程。同时,在教学之初,教师还可以通过一些简单有趣的实例讲解来帮助学生正确认识VB程序设计的基本步骤和方法。
3.鼓励学生克服程序设计的畏难情绪,激发其学习兴趣
学生通过两周的学习,对VB程序设计会有初步的了解,如VB基础开发环境、对象、方法、事件等概念,但教学之初所形成的学习欲望会逐渐冷却,再加之VB的每一个对象都有许多个属性,而且全是英文,晦涩而抽象的概念和英文描述很容易使学生产生畏难情绪,甚至厌学。此时特别需要教师对学生进行鼓励、指导,引导学生明白虽然每个对象具有自己的属性,但各对象之间有大部分属性是相同的,并且这些属性中常用的只有一小部分,很容易就能掌握;另外程序代码的书写虽然看似神秘,但掌握了语法格式后很容易编写。
二、改革教学方法和教学手段,提高教学质量
1.从生活实际入手,将抽象的理论形象化
人类社会的理论知识都是日常生活中发现总结出来的,而VB程序设计作为一门课程也是前人在不断的实践中完善和发展起来的,必然和日常生活有着密切的联系。如果能将VB程序设计的教学过程同生活实际联系起来,原本枯燥抽象的理论就会变得形象生动、通俗易懂,易于学生接受。例如在讲解VB变量的命名时可以联系实际生活中起名的习惯来类比展开,“变量命名必须以字母打头”这一原则如同我们的名字必须以姓氏打头;变量起名时不能用关键字如if,for等,如同我们起名时不会用灯管、茶几等名词;变量在其有效范围内必须唯一,如同我们一个家庭的弟兄俩不应重名。只要将理论与生活有机地结合,找出理论在生活中的原型,教师讲课也感到轻松,学生听起来也容易理解,实践证明这可以取得事半功倍的效果。
2.利用现代教育手段,提高课堂教学质量
VB程序设计学习的特点是实践性强,所有的理论最终都要以写好的程序为结果。而传统的黑板+粉笔的教学手段使教师将程序代码写在黑板上讲解无异于画饼充饥,无法向学生展示程序运行的结果,特别是容易出错的地方不能验证,因此充分利用多媒体投影等现代教育技术手段是非常实用且必要的。一是利用多媒体授课,恰当的课件不仅可以提高学生的学习兴趣,还能把程序结果实时地展示给学生,增大了课堂教学的信息量,使讲授内容形象、直观,这样的教学过程学生听得清、看得切、记得牢、印象深,原本在课堂上听起来非常枯燥乏味的内容就会变得充满乐趣。二是采用实践型授课,在计算机实验室利用电子教室进行教学,即采用边讲边练的授课形式,学生对学习的程序进行现场操作,将理论讲授和上机实践融为一体,使讲解更直观、更清晰、更具吸引力,同时教师还可以随时发现学生实际操作中的问题,给予及时的指导,从而有效提高教学质量。
三、创新评价方式,巩固教学成果
课程的教学质量是平时教与学质量的总体体现,课程考核是对学习者知识、技能和能力的综合评价。VB程序设计由于其特有的实践性强而有别于其他课程,采用单纯笔试的评价方法不能全面、准确地衡量教学质量。通过实践发现,VB课程考核方法的改革思路是在现有的考核基础上,注重对学生过程性评价和实践操作能力的评价,即采用“理论(40%)+上机(40%)+过程性考核(20%)”的综合性考核模式。
四、结束语
总之,教学工作是一项艰巨的任务,还需要在长期的教学实践中不断改革旧的教学模式,并结合学生实际情况,去探索研究,寻找新的、行之有效的教学方法和手段,综合评价学生,努力培养学生自主学习的兴趣,只有这样才能提高学生实际应用的能力,VB课程的教学质量才能得到不断的提高。
参考文献:
陈翠松.Visual Basic 程序设计实用教程与实训[M].北京大学出版社,2006(8).
关键词:VB程序设计;案例教学法;教学模式
1.VB程序设计的教学现状
VB程序设计作为高校对非计算机专业学生学习程序设计的入门课程,受到了大家的广泛重视。然而,由于该课程主要面向的是此前并未接触过程序设计思维方式的其他专业学生,所以课堂进程较为缓慢,学生对知识的理解需要经过较长的时间。而传统的教学模式在这一过程当中便产生了一系列问题:首先,传统教学模式本身存在弊端。VB课程的课堂教学大多只是按照知识点进行讲解,其中有举例说明分析并总结知识体系。这种一味地灌输知识内容的教学方式,即便能够相对较好地保持知识的系统结构,但是学生的主体地位无法保证;又因学生难以理解枯燥的知识点,使得学生始终处于被动记忆的学习状态,导致学生没有积极性。其次,生源基础十分薄弱。非计算机专业学生初步接触VB程序设计,学习知识时记忆大于理解,考试测评也得不到理想的成绩。再次,学生缺乏明确的学习目标。对于非计算机专业的学生而言,这一阶段的计算机学习对这些学生自身未来的发展没有明显意义,使得学生学习目标不明确,难以调动积极主动性。
2.案例教学方法的特点
(1)具有一定的针对性。教师可以结合所学习的知识来设计案例内容,以选取最能够对知识起到解释说明作用的案例,通过这种有意识的控制,能够使教学效果达到最大化,不同的教学案例则针对不同的教学内容。(2)具有启发性特点。相比较于传统的“填鸭式”教学,让学生被动地听取教师讲授知识,案例教学法更有利于学生的独立自主思考,也就是通过案例来设计问题,让学生拥有思考的时间和空间,有利于提升学生的表达能力和逻辑思维的养成。(3)具有参与性。案例的讲解本身就有一定的吸引力,如同一个实践教学活动的媒介,让学生置身于灵动的知识环境里,因而其主动性和积极性都能够得到极大发挥。其作用一方面有利于课堂有效性的提高,另一方面也能够培养学生实际运用相关知识解决问题的能力。3.VB程序设计案例教学的组织与实施案例选择的关键就在于符合所学的知识重点,选取恰当的教学案例是案例教学实践成功的一半。所谓好的案例,就是指能够对复杂知识点起点说明作用的案例。如果即便是采用案例教学的方法,但案例选用不当,同样不能帮助学生对知识的理解,甚至会扰乱学生的思路,对其产生误导。提出问题是将知识点和所选案例相互融合的过程,通过提出问题,能够激发学生思考的动力。教学过程中所提出的问题是教师事先设计好的,目的在于引导和启发学生积极思考。提出问题的过程就是激发学生开启记忆,在头脑中思考知识内容的过程;学生会主动查阅教材,联系学过的知识和实践经验,主动与教师开展互动问答,充分调动思维,从而提高课堂参与效率。分析与讨论是将提出的问题作深层次的分析与研究。可以在课后给学生布置问题,让学生进行操作,让学生在代码的正确输入和逻辑思维的培养上产生积极影响。最后,教师需要对所选择的案例进行总结,通过这一系列案例的运用来完成案例教学的基本流程。在此过程当中,离不开教师全程性的引导和指挥,教师会促使案例教学在VB程序设计的课堂上充分发挥作用。综上所述,纵观我国大学计算机VB程序设计教学现状,不难发现传统教学模式的弊端——无法满足当代大学生对计算机知识的学习。而案例教学法能够基于实际问题,着重强调知识的实用性和应用性。通过创新教学实践,达到既发挥传统教学的完整性,又发挥案例教学的实践性的效果,从而将VB计算机程序设计教学有效性进一步放大。灵活运用案例教学,将其与传统教学方法相互结合,突出二者的教学优势,这才是真正的教学上的发展。
参考文献:
[1]熊春荣.“C语言程序设计”课程案例驱动教学模式的研究与实践[J].玉林师范学院学报,2010,(5):119-121.
[2]牛月秀.VB程序设计课中案例教学模式的应用[J].山西财政税务专科学校学报,2011,(4):78-80.
关键词:VB程序设计 教学过程 能力
VB程序设计是大多高校必开的计算机基础课程,在我校,VB也针对绝大多数院系开课。但由于课程比较枯燥难学,学生对程序设计畏惧、对程序设计思想不理解等诸多原因,导致VB课程教学效果达不到预期效果。通过几年的VB基础教学,我总结了一些教学经验,在此与大家分享。
一、好的开始是成功的一半,基础必须打好
VB是一门面向对象、事件驱动机制的程序设计课程,为了以后能更好、更深入地学习,必须在开始时就让学生理解和掌握面向对象和事件驱动两大特点,这样在后续学习中,学生才能合理地使用合适的对象和事件。
在具体教学过程中,我通过一个浅显易懂的例子进行详细讲解。比如“一行内容在窗体左、右移动;移动两种方法:手动和自动,当自动时,文字闪烁显示”,程序运行界面如图1所示:
讲解过程中,首先让学生看清楚题意,看清题目的目的和要求,提示学生找出这个题目中要进行操作的对象是什么,该对象该如何在窗口中体现,对对象的操作是什么。得出的结论是要操作的对象是“一行内容”,可以用一个能够显示文本的控件实现,操作是“左、右移动”。然后运行程序,通过演示程序运行,让学生们找出驱动结果显示的事件是什么。结论是单击“手动”和“自动”按钮,才能得到相应的结果。通过多个简单例题的引导,通过对学生提问,激发学生思考,让学生真正掌握对象的含义和事件驱动的含义,并能在给出的题目中说出需要添加什么对象,用什么事件来驱动。掌握好了这些,就为以后的学习奠定了坚实的基础。
二、实例教学和任务驱动机制贯穿始终
VB语言内容繁多,层次性较差,采用“案例引入,上机实践,质疑解惑”的方式,学生即学即练,上手快,兴趣浓,有成就感。以VB的基础内容控件、控件属性、事件和方法为例。单个讲解的话很容易枯燥乏味,学生也难以真正体会其用途。教师应设计一个综合实例,实例应注重知识的系统性、完整性和连贯性。我以学生最经常接触的“登录界面”为例进行了讲解。程序运行界面如图1-4所示:
本实例包含两个窗体,主要涉及窗体、标签、文本框、命令按钮、图片等控件,通过本例可以详细讲解每个控件适合用在什么情况,以及相应属性、事件和方法的使用。由于此例学生经常遇到,所以可以很好地理解,便于掌握。控件外观属性如图1-4设置。
窗体一的代码如下:
Private Sub Command1_Click()‘按钮单击事件
Form1.Hide‘窗体一隐藏,hide方法的使用
Form2.Show ‘窗体二显示,shoe方法的使用
End Sub
窗体二的代码如下:
Private Sub Form_Load()
Command1.Enabled = False ‘按钮可编辑属性设置,
窗体刚
Command2.Enabled = False 加载时是不可编辑的
Picture1.Picture = LoadPicture(″e:\素材\002.bmp″)
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer) ‘文本框 接收输入事件
Command1.Enabled = True ‘此时按钮变为可编辑
End Sub
Private Sub Command1_Click()
Picture1.Print ″用户″; Spc(2); Text1.Text; Spc(2); ″登录成功″
Command1.Enabled = False
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
Picture1.Cls
Text1.Text = ″″
Text2.Text = ″″
Text1.SetFocus ‘文本框获得焦点
End Sub
三、问题求解能力的培养
Gagné说过:“教育的中心目标就是教会人们思考,运用他们的理性,成为更好的问题解决者。”VB的学习重点是程序设计,是用它来编程实现生活中的问题,所以单纯地靠讲解一些实例是远远不够的,关键是要培养学生发现问题、分析问题和解决问题的能力。我采取的方法是给出初始创意,让学生给出扩展功能及相关功能的解决思路,最终能够转换为程序。仍以上例为例,让学生尽可能补充添加功能,并描述该用何方法,什么结构等等来实现,并以作业的形式交上来,然后课堂上给予总结,上机让学生实现,并给予指导。上例可以添加的功能很多,如输入不能为空,如果为空给出错误提示(分支语句和Msgbox的应用);密码校验功能(分支语句实现);设置输入次数不能超过3次(循环语句实现)等等。这样的方式使得学生能够积极地思考,并能够把理论知识同现实结合起来,从而促进了学生更多问题的处理解决能力,形成了程序设计思维。
对一个题目要求用几种方法来实现,以此提高学生对程序的分析理解和举一反三的综合能力。例如,求1到100之间所有奇数的和。比较容易想到的是用For……Next循环语句实现。要求学生用Do While……Loop和Do……Loop While……来分别实现,学生就必须考虑这三者之间的联系和区别,以及各自的语句执行特点、循环次数的控制和退出循环的方法等。这样既使学生从多个角度考虑了问题,也对这三种循环结构有了更深的理解。更进一步,要求学生求1到N之间所有奇数的和。循环变量的终止值需用变量N来表示,因此需要在程序的前面增加一条定义变量N的语句,还需要使用InputBox语句在程序运行的过程中将终止值输入给变量N,这就要求学生能够把前面所学的知识综合起来运用,学生的创新思维和综合编程能力可以得到训练和明显提高。
四、抓好上机实践环节
上机是提高学生实践和动手能力的关键,所以要严格要求。做法是严格上机制度,上机表现直接跟成绩挂钩。学生自主意识较差,如果不明确布置任务,他们就会浑水摸鱼,上机无事可做,所以每次必须要详细分配任务,并且任务要具备趣味性、应用性和综合性,由易到难、由简到繁,充分调动他们的上机主动性和自我发挥能力。并且要鼓励学生积极提问、互相帮助,耐心给学生指导,充分利用好每一次上机课。
五、结语
关键词: VB程序设计步骤编程习惯教学体会
一、前言
Visual Basic(下面简称VB)是当前用途广泛、实用性很强的可视化快速开发工具,无论是初学者还是专业人员都可以方便地使用它进行程序设计。VB提供的是真正的面向对象的可视化编程方法,开发人员只需少量的代码就可以编制出具有标准Windows风格的程序,而且代码维护非常方便,所以很适合作为高等学校各专业学生的一门可选的基础课程,也是全国计算机等级考试的可选语言之一。因此学生如何学好,以及教师如何教好这门课便成为广大高校师生面临和必须探讨的共同话题。
二、VB的程序设计步骤
启动VB并进入设计状态―利用控件设计窗体界面―编写过程代码―调试程序―保存文件―编写帮助文件―生成可执行文件。
严格按照程序设计步骤来设计某一项题目,是确保题目能够顺利完成的一个基本保障。
三、培养学生养成良好的编程习惯
在VB程序设计过程中,养成良好的编程习惯可以避免一些不必要的错误。笔者在授课时,对这一点一再强调,并且在讲解实例的过程中对学生进行适当的引导,让学生明白怎样的书写才是一个良好的编程习惯。笔者常把不良的编程方式穿插在语句中,运行后出现错误,从而引起学生的注意,使他们知道为什么要养成一个良好的编程习惯。
这些习惯可以总结如下:
1.书写格式应该结构层次分明。
2.应在程序里面添加必要的注释。
3.在声明变量时,一定要注意该变量的结果值是否超出了有效范围。
4.使用变量时,要显示声明,避免使用隐式声明;尽量不要使用variant类型的变量。
5.给变量命名时,尽量使用有意义的名字。
6.避免使用缺省属性,明确指出是在引用对象还是在引用对象属性。
7.在编程的过程中随时运行调试。
四、教学体会
1.带动学生的学习兴趣。
兴趣是学习的动力,学生的兴趣可以直接或间接影响到学习的效果。我们要从培养学生的兴趣入手,讲解一些有趣的、有实际意义的实例,让学生在生动的实例中体会到编程的乐趣,使程序设计不再枯燥乏味,真正做到学中有乐,并且有一定的目的性,这样学生获取的知识才能记忆深刻。
2.课程内容的合理布局。
大部分的教材总是先讲VB语言的基本语法,然后讲VB中对象的使用,或直接讲VB对象的使用,最后才涉及语法的讲解。根据笔者的教学经验,这两种课程内容的布局都不合理,因为在实际运用时两者是密切结合在一起的。VB中的对象主要用于构建窗体界面,而程序则要通过编写代码来实现。为了避免学生在初次学习VB语言的时候对所讲语法和所举例题感到茫然,在讲课时,教师可以把这两部分内容穿插讲解。在教学过程中,笔者始终根据学生的实际接受能力和他们所学知识的程度来安排课堂教学结构。比如在讲解基本概念时,从中穿插讲解简单的实例;在演示实例时,对学生已学的或未学的语法进行及时的复习或讲解,让学生在轻松愉快的气氛中接受新的知识。
3.重视实践教学,培养学生的实际操作能力。
VB采用的是面向对象的程序设计方法,事件驱动的编程机制贯穿于整个教学过程中。语法是基本概念,我们要想掌握住某种语言,必须牢牢地掌握住这门语言的语法结构,因此语法的学习和实际应用是分不开的,笔者在讲完一个语法后,往往再结合一个实例,从而使学生加深对这个语法的理解和记忆。笔者在讲解实例时,采用现场演示的方法,根据题意,从设置界面,以及各控件的属性,到代码的编写,和学生一起分析,引发了学生的学习欲望,让学生感觉到自己参与了某个题目的设计和编程,学会要想解决这个问题应该从何入手。在实际操作中,学生的思路比较清晰,大大提高了操作能力。
4.讲授中通过刻意出现的问题,加强学生对知识的理解。
在授课过程中,教师如果是很顺畅地把一节课或一个知识点讲解下来,学生可能当时记住了,可是过后很快就会忘记。所以,笔者在实例讲解中常在容易出现错误的地方故意设置错误点,在运行出现错误后,让学生自己找原因,最后给他们指正。这样学生对这个知识点的印象加深了,避免了以后再出现类似的错误。
5.和学生及时沟通。
教师无论讲授的是什么课程,都是以学生的学习需求为最终目的。所以,在授课的同时教师一定要和学生相互交流,看学生对所学知识是否做到学以会用、学以致用。教师应和学生沟通交流,及时总结归纳,找出适合学生的学习方法,激发学生的学习热情,提高学生的学习效率。
五、结语
总之,一门课的教学方法是在不断的实践中累积而来的。因此在教学实践中,教师应该合理运用及尝试各种教学方法,灵活地掌握教学过程,激发学生的学习兴趣,培养学生对程序的创造和开发能力。
参考文献:
[1]吴长海,陈达.Visual basic程序设计教程[J].湖北科学技术出版社,2007-1,(1).