“VB程序设计”教学与实践
摘要:本文针对目前存在的问题,从教学和实验两方面总结经验,提出的围绕上机实践,抓到课率和课后作业这样一套行之有效的方法。
关键词:Visual Basic;程序设计;教学与实践
掌握计算机应用基本技能成为新世纪人才不可缺少的基本素质之一。由于高级语言程序设计课程不仅使学生更深入地理解计算机的工作过程,而且在培养学生严密地逻辑思维、培养非计算机专业学生利用计算机解决本专业问题的能力方面有着非常重要的作用,因此各个高校普遍开设了程序设计课程。而Visual Basic作为面向对象的程序设计语言,其易学易用,图形用户界面的特点成为非计算机专业类学生首选的教学语言。几年来,我们以提高学生计算机素质,培养创新意识和创新能力为目标,对全校的计算机公共课系列课程进行了一系列的教学改革,尤其对程序设计语言课程的教学改革更是向纵深发展,朝建设精品课程的目标努力。
1Visual Basic在计算机基础教学中的地位和作用
浙江大学城市学院的计算机基础教学在课程体系上分为两部分,第一部分是计算机文化基础,在第一学期的9~16周开课,主要任务是使学生掌握计算机基本知识与基本操作技能,培养学生的计算机文化意识。第二部分是计算机程序设计,在第二学期开设,理工科学生选择C语言,文科类学生选择Visual Basic作为学习编程的平台。城市学院中文科类学生的比例占了近半数,因此Visual Basic成为了名副其实的大课,每年有1500多人学习,作为计算机基础教育的重点课程,对学生乃至学校都有重要影响。
2存在的问题
尽管这几年城市学院的计算机基础教学成绩取得了很大的进步,但应该看到还存在不少问题,这些问题解决得好坏直接影响计算机基础教学的进一步发展。
首先,学生的学习动机不明确,“VB程序设计”的授课对象是广大非计算机专业的学生,尤其是以文科类学生为主,有不少学生认为学习程序设计对他们来说没有用,仅把它当做一门不得不学的课程,只是单纯的应付考试,还没有意识到在信息时代的今天计算机已经成为了人们所必须掌握的一种基本技能。
其次,文科类学生在数学、物理及电子技术方面的基础比较薄弱,自身的认知结构、学习倾向等多方面的差异,致使他们在学习过程中积极性不高,学习兴趣不浓,学生普遍感到“VB程序设计”枯燥、难学。
第三,我们的教学方法、教学手段往往过分强调教师的“教”在教学活动中的作用,而不是从学生的角度出发,从学生如何学好一门课的角度出发。其实教学
过程不单单是学生在老师指导下的一种特殊的认识过程,它更是学生个性全面发展的过程,是师生之间相互作用的一种双向活动,因而要探求新的教、学并重的教学理念、教学思路。
第四,“VB程序设计”是一门理论与实践并重的课程,传统的程序设计语言教学按照给出语法、解释语法规则、举例说明的三步曲,教学上习惯于满堂讲,填鸭式教学,总感觉内容多,课时不够,结果导致教师讲得累,学生听得累,经常有学生说上课听懂了,但一碰到自己做,感觉无从下手。
3我们的经验
3.1端正学习态度
在教学过程中,要帮助学生端正学习态度,提高计算机语言课程对其全面发展必要性的认识。程序设计语言是大学中一门很重要的公共课程,是衡量大学生计算机素质的重要标志。程序设计课程的教学不仅要让学生学习程序设计的基本概念和方法、掌握编程的技术,更重要的是培养学生逻辑思维和逻辑推理的能力、动手能力、创新意识和创新能力。多注重学生兴趣的培养,通过一些生动形象的实例引导学生主动提出问题、分析问题、解决问题。
3.2教学方法的改进
基于VB语言的特点,在VB的教学中重点处理好以下两方面的内容:① 算法与结构化编程;② 面向对象技术[1]。
算法与结构化编程是程序设计的核心。在教学中重点注意算法的概念、结构化程序的概念与组成、算法的描述。如典型的排序算法,检索算法等,要把这些作为经典熟记。
面向对象技术涉及到相关概念的教学和面向对象技术应用的教学。VB是基于对象的编程语言,类、对象、属性、事件、方法构成了VB的灵魂,对象及其属性、方法和事件是VB程序的主干,因为这三者决定了对象的外观与行为模式。事实上,应用程序整个界面的运作,都是通过控制对象的属性、方法与事件来完成的。将结构化程序设计和面向对象程序设计融合在一起,面向对象的程序代码主要体现在各个事件过程中,而在事件过程中贯穿了传统的程序设计思路和算法的应用。
由于在VB课程中既要介绍传统的程序设计方法,又要介绍面向对象的程序设计概念和可视化界面设计所涉及的控件、应用程序开发等,内容多,学时少,要讲好这门课,需要充分运用各种教学方法。
(1) 直观教学法
在VB语言程序设计中,有些内容比较抽象,不容易被学生接受和理解。作
为教师不仅要把深奥的理论讲得通俗易懂,还要巧用日常生活中的例子,形象的比喻方法最容易为学生所接受。比如循环嵌套是学生不太容易搞清楚的地方,我们可以提出一个很现实的问题,如时针走过两个格子的话,秒针走过多少格子?形象地把秒针、分针和时针的运动打比方,最里层的秒针运动最快,秒针走过一圈,分针前进一格,分针走过一圈,时针前进一格,这就是三重循环嵌套,然后写出程序代码,这样就把抽象的问题形象化,便于学生理解和掌握。
(2) 演示教学法
在教学过程中,为了提高学生的学习兴趣,教师可以利用一些与教学有关的软件和索材,如使用简单的Flash动画来反映循环结构程序执行流程、排序算法等。让学生有兴趣学习,就能取得很好的教学效果。
(3) 案例教学法
案例教学从学习者的认知规律出发,精选与实际生活中关系密切的问题作为案例,通过案例的运行分析设计思路和实现方法,进而引出该案例中用到的知识点,再举一反三,启发学生对案例进一步讨论、归纳,对案例完善和扩展,最后达到知识的快速掌握和能力的快速培养。由于所有案例都是直接面对应用的,具有实际的应用价值,所以很好地培养了学生的应用能力[2]。“案例教学法”贯穿教学的始终。
3.3学以致用
通过以上一系列教学方法及手段的运用,教师把各个知识点像珍珠一样一个个串起来。但是计算机应用知识不可能只靠听课就能掌握,为了进一步把教师讲的内容消化为学生自己的知识,逐步提高个人的编程能力,必须大力加强动手实践环节,包括作业、编程、上机、上网、做项目,引导学生通过实践拓展知识。必须提升实践环节在教学过程中的地位和作用,引导学生通过实践来提高能力,只有多动手实践,才能破除学生对计算机的神秘感,才能激发学生对掌握计算机编程产生兴趣。我们提出围绕上机实践,抓到课率和课后作业,形成了一套行之有效的方法。
(1) 讲练结合
当学生掌握了某个基本编程结构或学习了某个控件后,应及时训练编程,培养编程的思维方法。我们设计了随堂练习让学生当堂练习,练习题目在范例的基础上做一些细微的改动,目的是及时掌握所学内容。人的认知规律也提示人在学习新的知识时模仿是第一步的,在模仿的基础上进行改进,进而实现设计。而我们的随堂练习更是设计成活页,给学生5~10分钟的时间完成,写上姓名、学号后上交,这样不仅省去了课堂点名,又达到了教与学的良性互动。