戴振华 杨 杰
(湖南科技学院 计算机与通信工程系,湖南 永州 425199 )
文科专业《Visual Basic程序设计基础》课程教学实践与探讨
戴振华 杨 杰
(湖南科技学院 计算机与通信工程系,湖南 永州 425199 )
通过对《Visual Basic 程序设计基础》课程长期的调研,并根据教学组成员教学实践,指出该课程的教学现状,提出几点教学改革的措施及意见,为高校文科专业在开设该门课程时提供一些教学参考,同时也为我校该课程改革提供方向。
面向对象;Visual Basic;教学改革;融合
《Visual Basic 程序设计基础》课程是高校非计算机文科专业开设的公共基础课程,是培养学生程序设计、基于面向对象进行程序开发能力的基础课程。它的主要优点体现易于学习、在编程功能较强、能够进行网络编程、而且具有方便实用的数据库,同时能为学习其他程序设计基础语言打下良好的基础,更重要的是还可培养文科学生的计算思维能力,从而提高其理性分析问题与解决问题的能力,因此,很多高校在文科专业中开设该门课程。
该课程是我校文科专业必修的公共基础课程,开设本课程旨在提高学生应用计算机解决实际问题的能力,尤其是能为专业服务。为了突破传统灌输式的教学方法,更好地培养学生的基于计算机的分析能力、提升实际操作能力,使学生更好地独立思考问题,逐渐提高创新思维的能力,积极进行教学改革是很有必要的。通过该课程多年的教学实践,并凝结本教研室多位老师的智慧,得出以下观点和意见,供各位教学专家探讨。
该门课程是基于对象进行程序设计,提供了可视化用户界面,更多地使用窗体和控件进行系统设计,编程机制是采用事件驱动方式的,实践性强。知识点主要有:面向对象程序设计基础、结构化程序三种基本结构、数组、控件的使用、窗体的建立、文件的使用、数据库的应用和多媒体技术应用等内容。
在我校该课程每年学习人数近2千人,面向学生有多个不同专业。这些专业对程序设计基础的目标要求都不太一样。然而在很长一段时间里,该课程的设置的不合理及教学的单一,已经引发诸多问题。通过几年的教学实践和调研同类型一些院校的教学情况,笔者发现该课程的教学过程中,主要还有以下几点值得改进的地方:
(1)高校文科类专业学生计算机能力相对较弱,特别是开设程序设计课程时,学生感觉难学,教师感觉难教,很多学校采用传统教学模式,理论脱离实际,不能及时更新教学内容,学生在学习时感觉云里雾里,最终抹杀学生的计算机学习积极性;
(2)教学内容单一,在教学过程中没有针对不同专业的特点来实施相应的教学;
(3)缺乏良好的教学组织,没有从学生的知识水平、学习特点、接受能力等去衡量实施教学,导致得不到良好的教学效果;
(4)教师教学过程缺乏必要的范例教学来调动学生学习的积极性;
(5)教师缺乏与学生的互动,没有突出学生在学习过程的主体作用,学生的学习热情难以提升;
(6)教师和学校不够重视实践教学,机房上机随意性布置几个题,上网玩游戏的多,对学生缺乏必要的监管,导致学生失去学习的方向。
分析以上问题可以看出,明确教学目标,激发学生学习兴趣,调动学生学习的积极主动性,建立以问题和应用为核心的教学模式,激发学生的计算意识和计算思维,提高其分析问题和解决问题能力显得非常重要。我们在近几年的教学实践中进行如下改革探索,取得较好的教学效果,学生的能力得到一定的提高。
在日常的教学中我们可以发现,学生对自己感兴趣的知识点,总是会积极主动地去钻研。但是,教师在组织教学过程中,由于缺少完整的学习目标框架,导致学生的学习兴趣不能被完全激发。因此,每个学期一开始,我们就开教研室会议,讨论该如何上好第一节课。一般地来说,我们会安排“程序设计基础趣味导学”作为第一堂课的内容,从简单的游戏程序入手,给学生演示一些趣味性强的程序,并注意这些程序与专业的融合,激发学生的计算机学习兴趣,让学生自己体会学习计算机的必要性。教师可以让他们亲自操作,从中体会程序设计给他们带来的成功喜悦。教师还可以运行往届学生做出的实际作品,让学生形成自己的目标,从而激发学生学习计算机的积极性。
此外,教师在上课的时候,应与该专业学生专业课教师进行及时沟通,通过专业课教师提出专业需求,我们再将这些应用需求用程序设计语言实现,然后在课堂上进行实例演示,让学生理解计算机不仅在计算机专业领域可以应用到,而且还可以在他们所学专业中得到很好的应用,无形之中激发了他们学习的积极性。
由于每个学生都来自不同地方,接触计算机的时间不一样,自身的能力水平也不一样。因此,在实际的教学过程中,我们首先要依据不同专业学生的特点进行相对应的指导,有区别的激发每个学生学习计算机的积极性。提倡在学习过程中,提出自己对相应问题的看法和见解,教师帮助学生一起分析或解决该问题,要注意该过程主要是以培养他们学习能力为目的,为他们今后解决其它问题提供一定的帮助。
由于各学生之间的计算机理解和实际运用的水平不一样,学生处于不同专业,因此,因材施教,针对不同专业制定不同的课程教学大纲,自编能适应不同专业学生的高质量教材。
针对学生对计算机的认识程度进行因材施教具体应做到:依据不同专业学生的实际情况,制定层次清晰、适应性强、达到学生能接受的教学体系。从课程基础部分、高级部分和上机实验操作部分培养学生的计算机基础能力和培养学生实际编写代码的能力。基础部分主要是程序设计语言的基础知识,包含一些常用算法,重点讲解VB的常用控件、菜单的生成及编程、窗体的生成及编程、文件如果操作等。高级部分主要通过将教学内容放置在网络上,主要是VB语言与当前新技术应用的结合,包括一些高级的对象应用、多媒体应用、常用的 API 函数应用以及数据库应用等内容。在上机实验部分,老师提供多个单元的上机操作实验和自我检测实例。通过对学生有针对性的上机操作,目的是让学生掌握程序设计的基础方法与怎样进行程序的调试,不断提高学生实际编程能力,加深对所学知识的理解。
激发学生的学习兴趣是基础性工作,培养学生的分析问题和解决问题的能力才是最重要的。应当采取多种方法把学生的注意力集中到学习计算机编程课程中来,达到计算机能力培养的教学目标。而适当采用范例教学能帮助学生更好理解所学知识点。
范例教学的内容必须是基础的、根本的内容,能充分体现所教知识点的例子。范例教学的教学模式是“提出所涉及问题—深入分析问题—引出入新知识点—解决问题—完成总结”。这种把解题的方法和思路传授给学生,把相关的知识点引入进来的做法能切实提高教学的效果,使学生形成对所学内容深刻的记忆,是启发性思维学习、提高学习效率的一种重要方式。
经过多年的教学实践我们发现,在选择范例时应符合这些原则:(1)目标性原则。应针对教学目标来选择不同的教学范例,从而使学生加深对基础知识和原理的掌握。(2)引导性原则。范例中应能引出一些问题,供学生进行分析思考。(3)经典性原则。一些典型的范例能使学生掌握的知识点和分析问题的方法具有普遍性,从而能有效解决今后所遇到的问题。
另外,教师在选择应用范例时,应重点注意:(1)在课堂教学演示中所使用的范例应注重课程与学生所学专业知识的结合。(2)在课外作业中应尽量使用具有讨论意义的范例,它可以是学生自主探究并分析解决的范例。(3)适当应用团队合作范例。
通过不同形式的范例教学,使学生能体会到学习计算机知识给自己专业学习带来的好处,同时增强了学生自主学习、自主分析和解决问题的能力,有力地培养了学生的计算思维能力。
在传统课堂中,教师经常会提起一些记忆型的问题,很少要求学生对问题进行本质思维。在多年的教学实践中,我们发现,教师应更多跟学生进行互动。比如这样一些提问:
(1)能使学生思维扩散的提问
它是指允许学生做出不同思考,没有唯一性答案的问题,特别是对于“为什么”、“那会出现什么情况”问题,通过这些问题,来诱发学生进行深入思考,引导学生对问题实质的判断和分析推理。
(2)给定一些假设性条件的提问
假定某条件成立或改变的问题是让学生思考对于条件的改变是否会对程序结果产生影响,会产生什么样的影响。这样就要求学生根据掌握的知识进行推断,做出理性的回答。这样反复的训练可以使他们想象力得到增强,无形中分析问题和解决问题的能力得到提高。
(3)对于学习中的难点可以进行提示性提问
在教师教学的实际过程中,尤其对于教学的难点,有时学生可能会对一些程序感到束手无策,有时候担心课堂时间不够或者学生不能很好解决,于是就快速地讲解这些问题。但是,这样会给学生带来依赖思想,时间长了学生就会失去对该门课程的兴趣。为了避免这些情况,我们通常不直接讲解程序,而是通过给出问题的一些提示性知识点来引导学生思考。
举个例子来说吧,上机编程实现输出所有水仙花数及个数,什么是水仙花数,学生一开始可能不是很清楚,这时候教师可给予适当提示:(1)水仙花数是一个3位十进制数;(2)它的个位数的立方再加起来刚好等于这个数本身。更进一步,可以提示他们,既然是3位十进制数,那么这些数应该在什么区间?我们实现这个程序的方法有哪些?是否可以用最原始的方法:穷举法呢?如果用这个穷举法,那么使用哪种程序结构来实现呢?顺序、选择还是循环结构?程序结构清楚之后,下一步显得非常关键,这个3位十进制数个位、十位、百位如何分离出来?分析完成后,就可以让学生将算法实现。这样不断进行提示性提问可以使学生的思维一直处于兴奋状态,这样一来,教学效果就得到增强。
实践操作是检验知识熟练掌握程度的重要方式,是培养学生通过已有知识来解决实际问题能力和培养计算思维的必要环节。该门课程是一门实际应用性很强的课程,仅仅通过课堂上的有限时间的学习,对所学知识点得不到很好的巩固,在实际的教学安排中,我们通过一半以上时间的上机实践,使学生真正理解所学内容。
不过,我们在调研中发现,一些学校只重视理论课的监管,忽视了实践操作课的重要性。总结下来,实践操作环节主要存在的问题有:(1)学生在上机操作前没有充分的预习相关内容,学生完成与否都无关紧要,这样导致上机操作效率低,有些学生根本就没有提前编写调试的程序,这样就出现复制别人的代码上机完成任务的情况,其实这样学生根本没有领悟所学知识点。(2)由于现在计算机公共课程都是大班上课,一个老师要负责100多个学生,而程序设计课程问题往往比较复杂,对于学生调试中出现的各种问题,教师根本没有时间一一辅导解答完,导致学生不能找到课程学习的成就感,教学效果越来越差。
对于这些问题,经过实践我们探索出这样一种解决方法:先将实践操作作业发给学生,学生在作业本上写好编程代码交上来,教师在看完学生的作业后,将学生程序中的所遇到的典型错误都记录下来,学生对问题的不同解决方法也记录下来。到机房上机操作时教师把作业发给学生,提前告知学生对程序运行调试的问题进行记录,学生对于问题的各种想法和实际解决方法思路都要写在本子上,教师在课堂规定时间内给予学生适当的辅导。但是,由于在实践操作过程中,学生的人数过多,不可能与每个学生交流编程中遇到问题和自己的看法,这时候,学习委员下课时再将作业本收上来交给老师,作业中留下学生调试程序的记录,教师再一次认真阅读作业本,并进行分析,到下次理论课时,教师将学生遇到的问题和自己的想法通过多媒体展示给大家,由学生进行分析讨论修改,针对同一个题目的多种思路,引导学生讲解自己的算法思路供全体学生讨论,互动讨论之后教师做总结,这样教学效果明显。
多年的教学实践已经证明,根据不同专业学生的实际情况,注重理论和实践知识的综合应用,使学生不但对所学基础知识有所掌握,而且能运用所学知识解决实际问题显得非常关键。而在这个过程中,教师不断改进教学方式方法,了解不同专业和不同性格学生的特点,不断激发学生自主学习的热情,学校加强对教学的监管,促进教师和学生都能投入到教学中来。这样,学生能力才得到很好的锻炼,也符合教育部门因材施教的规定,整个人才的素质也得到提高。
[1]朱国华. Visual Basic 程序设计基础[M].北京:中国铁道出版社,2009:4-5.
[2]杨扬,武澎,丁爽. Visual Basic程序设计基础课程教学改革探究[J].电脑知识与技术,2010,(11):2811-2812 .
[3]刘芝怡,陈舜青. VB程序设计基础课程教学改革与实践[J].中国现代教育装备,2010,(15):80-82.
[4]倪红梅,吴雅娟,衣治安.基于 CDIO理念下的范例教学在VB教学中的应用[J].安徽理工大学学报(社会科学版),2010,(1):106-108.
G642
A
1673-2219(2014)05-0119-03
2014-02-12
2013年湖南科技学院教学改革研究项目(项目编号XKYJ2013001)。
戴振华(1981-),男,湖南衡阳人,硕士,讲师,研究方向为嵌入式系统开发及网络应用。
(责任编校:刘志壮)