时间:2024-05-04
钟 勇 郭伟刚 谢建勤
文章编号:1672-5913(2009)10-0079-02
摘要:本文分析了地方高校学生的特点,提出在开设程序设计课程时应该按专业需求选择不同的编程语言,并对课程内容进行合理的设计。在教学方法上应采用案例教学并加强课堂的师生互动,并在课外采用网络答疑交流等方式提高学生的学习兴趣。同时,对课程的综合性实验、课程评价方式等做了探讨。
关键词:程序设计;课程体系;教学方法
中图分类号:G642
文献标识码:B
1引言
程序设计是大学计算机基础教学系列中的核心课程。由于学生的专业差异及其计算机基础的不同,学生对于程序设计课程的兴趣及期望值存在很大差异,导致他们在课程的学习过程中会存在投入时间、精力不足,学习困难,甚至放弃该课程学习等问题。特别是像我校这样的地方本科院校,学生来源及以后的就业基本都是在本地,虽然他们具有一定的计算机基础,对于直观的、应用性强的内容比较感兴趣,但是对于基础性和理论性强的内容具有明显的抗拒性,缺乏较好的钻研精神。所以,对于地方高校而言,一是应该针对不同的专业开设不同的程序设计课程,并对课程内容进行合理的设计;二是应该在教学过程中加强教学方法、教学模式的研究和改革,使得学生对程序设计课程充满兴趣,能够掌握计算机程序设计的思想和方法,初步具有在各领域应用计算机的能力,并为后续课程的学习创造条件。
2课程体系建设
2.1按专业需要开设课程
目前很多高校为了便于管理和方便教学,只开设一门统一的程序设计课程,这种模式在学科门类齐全的综合性高校是不合适的。虽然从原则上讲,程序设计语言只需要学习一门即可,其他语言可以通过自学来掌握。但是由于地方院校学生的自主学习能力差异,并且各类非计算机专业对于程序设计课程的需求不同,应该根据专业需要来开设程序设计课程,允许不同专业选用不同的教学语言,以方便学生能够将所学知识快速运用,而不需要从头学习一门新的程序设计语言。
我校虽然是一所地方本科院校,由于经过了多次合并重组,目前具有经济学、法学、教育学、文学、理学、工学、农学、医学、管理学等九大学科门类。在选择何种程序设计语言的问题上,我们认为,程序设计课程一方面是培养一种使用计算机解决问题的基本思想和素质,另外也必须考虑后续专业学习、毕业设计以及今后的工作中的具体应用,所以语言的选择,一般都是由相关专业的教学指导委员会负责,计算机基础教学部门只是提供咨询。
目前程序设计课程的开设基本上满足各专业的需求,具体情况如下:
“Visual FoxPro数据库程序设计”:经济学、管理学、农学、医学类各专业。
“C语言程序设计”:工学类专业,包括机械制造、电子信息、电气自动化、土木工程、光信息、环境工程、地理信息系统等。
“Visual Basic程序设计”:理学类专业,包括数学、物理、化学等。
“C++程序设计”、“算法设计与分析”:公共选修课程,主要面向对程序设计有爱好的理工类学生,并从中挑选、组织学生参加ACM程序设计竞赛等。
文学、法学、教育学类的专业注重网络应用和多媒体作品创作,目前没有开设程序设计课程,但是如果学时允许,也将开设程序设计类课程。对于这些专业的程序设计课程,主要是要培养其程序设计的基本思想,有助于进一步学习作品创作类软件。例如对于艺术类专业,程序设计思想对其动画设计、创作将有较大帮助。
2.2课程内容设计
传统的程序设计课程存在着很多问题,主要表现在:
(1) 语句、语法讲的太多、太细;
(2) 忽视基本问题的求解过程;
(3) 课程中算法意识淡薄;
(4) 不能激发学生的学习兴趣;
(5) 教学目标存在问题,学了但不会用,忘记得很快。
所以,在课程内容的设计上,不宜过分注重语法知识,而应该重点强调程序设计技术的基本方法。通过研究课程的教学内容,对程序设计语言本身采取“有所取、有所不取”的策略。对于那些常用的语言成分,穿插在程序设计过程中详细地介绍;对于那些与程序设计方法联系不太紧密、不太重要的,放在程序举例时简单介绍;而对于那些与讲述程序设计方法关系不太大,也不常用的部分,则根本不涉及。
例如,对于“Visual Basic程序设计”课程内容体系可包括:程序设计基本知识、结构化程序设计、常用算法、面向对象程序设计、可视化界面设计、案例和应用程序六大模块, 将结构化程序设计和面向对象程序设计融合在一起,面向对象的程序代码主要体现在各个事件过程中,而在事件过程中贯穿了传统的程序设计思路和算法的应用。这种内容体系有机地把基础知识、基本概念和应用程序开发结合起来。通过一个个案例,既引出对象、语言的概念,又介绍了应用程序开发的方法,引起学生学习兴趣、提高了动手能力和解决问题的能力,可达到事半功倍的效果。
3教学方法改革
3.1让课堂充满活力
课堂教学是整个教学过程中的关键环节。传统的程序设计语言教学按照“给出语法、解释语法规则、举例说明”的三步曲进行,课堂显得枯燥乏味。案例教学从学习者的认知规律出发,精选与实际生活关系密切的问题作为案例,通过对一个个案例的运行效果,可以有效地激发学生的好奇心和求知欲。
通过分析案例的设计思路和实现方法,引出案例中用到的知识点,展现分析问题、解决问题的全过程;在程序的编写上,则展现出程序从无到有,从简单到复杂的过程。
由于在多媒体教室上课,课堂的信息量一般都比较大,连续高强度听课会导致学生注意力下降。所以,在课堂上应该鼓励学生参与到教学过程中。我们采用的模式一般是老师讲解了一个案例后,删去编写完成的程序中的某一部分,要求学生上讲台重新编写出来。另外也可以是老师先给出一种算法,要求学生用另外一种算法来完成同样的任务。
在学生上讲台参与教学过程中,也要求其他学生在座位中一起完成相应的要求。当台上的学生无法独自完成时,他还可以邀请同宿舍的同学上台一起讨论,从而解决问题。
这种学生参与课堂教学的模式,其实在中小学使用得很普遍,只是大学由于课时问题,较少采用。这种模式至少有以下优点:
(1) 学生的主动性增加了,因为要提问,而且还不能仅仅说“不会”就可以逃避(我们的规则是,你不会,可以请你的同学一起帮忙,而且人数不限,但是你一定要先上去讲台),所以课堂上必须认真听课,准备被提问。
(2) 给予学生思考的时间。多媒体教学的满堂灌,使得学生几乎不能停下来思考一下。所以这个参与环节,实际上也是学生思考问题的时间。
(3) 有助于了相互协作、讨论的氛围。教学过程中一直希望同学之间要多讨论编程问题,只有多讨论,才能开阔自己的思路。同宿舍同学之间的相互“帮忙”,有助于这种讨论氛围的形成。
(4) 有助于活跃课堂气氛。大学理工科课程的教室一般是比较沉闷的,学生参与环节可使得课堂具有生机。
3.2充分运用网络进行教学
程序设计课程内容丰富,学生在学习过程中遇到的问题多种多样,基本上无法单独以书面或者课堂讲解的方法解决,建设一个内容丰富、学生参与的课程网站是必须的。
课程网站的内容应包含以下内容模块:
(1) 基本教学资源。包括课程信息发布、老师讲稿、教学案例、重点难点算法的动画演示等。
(2) 网络试题库。按知识点收集、整理各种类型的试题,组成试题库,供学生平时练习。对于选择、判断、程序填空这些客观型的试题,可设计成自动评分形式;对于编程题,可给出解题思路、主要算法,开发能力较高的学校也可尝试对编程题的自动评分,但是不宜过分依赖自动评分,特别是在正式考试时要慎用。因为对于地方高校学生而言,程序设计初学者的水平有限,自动评分的结果通常是非对即错,无法体现中间状态,可能会打击学生的学习积极性。
(3) 答疑交流平台。这是师生之间、学生之间的交流平台,特别是要鼓励学生将自己遇到的问题发表出来,与老师和同学进行交流,寻求解决问题的思路、方法,最后由学生进行总结。由于学生的问题往往具有普遍性,其他的学生也就可以从别人的提问及老师的回答中找到解决自己问题的方法,实际上交流平台运行时间长了以后就积累了大量的、贴近学生实际的网络教学资源。另外,答疑系统对于那些基础较好,对于编程有浓厚兴趣的同学,也提供了一个展示他们才能的平台,他们很乐意帮助老师去回答问题,和同学交流。这样,就在学生中渐渐培养了良好的讨论氛围,有助于提高学生学习本课程的兴趣。
3.3借鉴专业课程中的课程设计方法
一般非计算机专业的程序设计由于学时的限制,很少做课程设计,学生学完后对于课程的内容缺乏整体的感受,只学到了一些零碎的知识,所谓“只见树木、不见森林”。所以有必要要求学生以小组协作的方式完成一个简单的、类似计算机专业程序设计课程的课程设计作品,可以称之为“综合性实验”。
综合性实验一般以完成一个简单的信息管理系统作为要求,可包括以下内容:
(1) 数据结构设计(或数据库设计);
(2) 数据的输入及保存;
(3) 数据增、删、改;
(4) 数据的排序、查询、统计;
(5) 数据的输出;
(6) 界面设计。
综合性实验的内容可以在课程的开始就布置,课程的教学可围绕该综合性实验展开。学生在学完相应的知识点后,即可进行了相应模块的设计,最终完成系统的开发,形成了一个可运行的小系统。综合性实验可以较好地提高学生的学习兴趣,培养学生解决问题的能力。
3.4课程评价方式改革
程序设计课程的学习需要学生从一开始就投入时间和精力,并且该课程实践性强,需要学生编写完成大量的程序。所以课程的考核应该注重过程,平时成绩(每个知识点的程序编写、综合性实验等)可以占学期总评成绩的40%~50%,而期末考试可以自动评分形式的客观题为主,只需少量编程题即可。这种考核方式一方面督促学生一步一个脚印地跟上课程的学习进度,另外一方面也体现出课程实践性强的特点。
另外对于学生参加省级和全国计算机等级考试的问题,我们的做法是:鉴于目前的计算机等级考试过分注重语法,并且有很多偏题,所以不应该以等级考试为目标进行教学,但是可以鼓励对程序设计有兴趣的学生参加等级考试,并给予必要的指导,使得他们对于很多语法现象可以有更加详细、清楚的认识。我校对于通过省级以上计算机等级考试的学生的奖励办法是另外给予1学分,很多学有余力的学生在学完程序设计课程后通常会自愿报考全国计算机等级考试。
4结束语
地方院校的特点决定了程序设计课程既不能像重点大学那样对学生提出过高的要求,也不能像高职院校那样主要培养实践能力,如何在理论性和实践性之间取得一个合理的平衡,并且根据具体的专业特点进行个性化的教学,是需要继续进行思考和探索的问题。
参考文献:
[1] 吴文虎. 精心铸精品 理念须先行[J]. 计算机教育,2008(13):46-49.
[2] 教育部高等学校计算机科学与技术教学指导委员会.关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求(试行)[M].北京:高等教育出版社,2006.
[3] 龚沛曾,杨志强,陆慰民,等.“Visual Basic 程序设计”国家精品课程建设[J]. 中国大学教学,2004(9):10-12.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!