张黎明 李玉龙
摘要:本文针对公共程序设计课教学中的问题,以应用为目的,从教学内容安排、教学手段、教学方法等方面对公共程序设计课进行探索和实践。这些教学改革效果良好,不仅提高了教学质量,而且有利于培养学生分析问题与解决问题的能力。
关键词:程序设计;教学内容;教学手段;教学方法;教学改革
中图分类号:G642 文献标识码:B
1引言
计算机的应用能力是目前大学生就业的一个很重要的因素,程序设计对于计算机专业以及非计算机专业的学生来说,都是非常重要的一门技能和能力,可以提高他们的思维能力,在应用中提高分析问题和解决问题的能力。在实际教学中,程序设计课程是同学们普遍反映难以学好的课程之一,尤其惧怕编程,导致许多学生的程序设计课程成绩不理想,因此,如何提高程序设计课程的教学质量是许多教学人员所关注的一个问题。
2公共程序设计课教学中存在的主要问题
(1) 首先在教学内容方面,由于是全校性的公共课,课程内容绝大部分采用一刀切的办法,统一学时、统一教学大纲,这样由于专业之间的差异,学生基础的不同,教学内容与学生所学专业不联系、不挂钩,结果使学生认为计算机技术与专业距离太远,很难把课程与应用计算机解决实际问题联系在一起。
(2) 在教学中只注重程序语言本身的一些语言规则,比较死板、枯燥,与实际开发脱节,缺乏容易理解和生动有趣的案例。实验大多只注重语句、语法等,没有把编程解题思路和程序调试等放在首位,对学生分析问题和解决问题的能力训练不够。
(3) 公共课教学任务繁重,几乎每位老师都要上两、三个班级的课程,很难投入大量的精力批改学生作业、进行辅导答疑,如何利用先进的教学工具及网络化的教学平台,在不增加老师劳动强度的情况下提高教学质量,是值得我们深入探索的。
3教学内容的改革
目前课堂的讲授内容主要是以教材为主,讲授大量的语法知识。教师往往按照教材的内容安排,从头到尾一次性把知识点全部讲解一遍,这种做法内容重点不突出,难点没有被化解,教学效果并不好。教师在课堂上采用幻灯片“照片宣科”,学生一下子需要记住大量的语法,上课教师讲得清楚,学生自己也听得明白,遇到实际问题却无从下手,显得很被动,这种现象很普遍。从另一方面来讲,学生感觉学习上很盲目,不能灵活运用所学知识,不知道学到的语法有什么用,该如何用,只是在机械的、孤立的学习语言自身语法,觉得需要记住和掌握的东西太多,但其结果是什么也掌握不了,学习效果不好。长此以往,学生就会失去学习的兴趣。其实,学过的东西如果不用,就会忘记,常用的东西就算不学,也会记住。所以,不要让学生记住知识,让他在应用中掌握知识,一定要在他的心中埋下一些种子。这就要求在课程内容上有所调整,课程采用“增量式”教学,内容首先从最基本、最核心的知识点开始,内容安排要少而且简单,突出实用,让学生能够较为容易掌握,这样才不会产生畏惧心理。其他必须掌握的知识点逐渐溶入大量的例题中,这样“浅入深出”,从易到难安排,学生比较容易接受,对于基础比较差的同学,学习基本能够跟得上。
在课堂上弃用一贯很全很细的幻灯片,采用大纲式的幻灯片,列出主要知识点,其余知识点溶入例题,现场演示,让学生更容易接受。另外,对于教材中的难点,也要灵活化解,达到循序渐进的目的。比如C/C++中的指针,如果放在数据类型中一下子去让学生掌握,这几乎是不可能的,一般化解到数组、函数、文件等章节内容中去。“增量式”教学还体现在,分阶段提高学生的程序设计能力,在初学时,重点掌握基本的语法和规定,从模仿起步,给出老师讲过的类似问题,让学生自己书写程序;到了中后期阶段,重点就要放在编程思路和基本算法,教师可以先分析问题给出思路或算法,学生自己编程调试,逐渐学会独立的分析问题解决问题的基本思路和方法。
4教学手段及教学方法的改革
4.1建立网络化教学平台
充分利用计算机网络进行教学和辅导,使学生能够通过网络进行自主学习和互动学习。常用的方法有:网络视频教学,抽象知识点的动画演示,程序设计和执行过程动画演示;建立在线评判系统,减轻老师批改作业的劳动量,并且对学生作业正确性具有实时判断并进行反馈;利用校园网络建立互动式教学平台,将电子教案、教学大纲、多媒体课件、习题解答等放在网上,供学生自学,同时通过课程论坛、Email、QQ等对学生的提问进行答疑、讨论,以弥补课堂教学的不足。在教学过程中,运用多媒体技术辅助教学,有利于激发学生的学习兴趣,能发展学生的主体能力。在程序设计课程教学过程中,由于计算机语言的数据类型、变量类型、运算符、程序结构等,它们的定义、概念较多,制作成图表,清晰明了;另一方面,有些问题用语言描述可能比较啰嗦,而且容易产生误解,通过简单的实例能够很好的说明,采用现场演示,学生容易理解,课堂教学也不再显得枯燥无味。对于案例分析或程序的编写过程,进行白板讲解、课堂讨论、结合提问,将问题层层剖析、层层深入,达到师生互动的效果,学生的想象力就会得到充分的发挥,对问题的理解也变得更容易。
4.2课堂现场演示法
采用课堂现场演示,把本来抽象的讲解变得直观,不再纸上谈兵,说服力强,学生更容易理解记住,而且大多数学生都喜欢这样的教学方法。哪些内容作为现场演示比较合适,比如:程序的编辑、编译、运行、调试,只有给同学们从头演示一遍,学生才会比较容易的进入程序调试的状态;对于新的知识点、除了讲解内容外,一般都要安排案例,经常采用现场编写、调试,使同学们能够学到老师良好的程序书写风格,学会程序调试的基本方法,特别是采用单步跟踪的方法,让学生能够看到内存变量的值,这样更容易理解程序的执行过程,帮助学生理解算法。
4.3反例教学法
学习过程中,学生能听懂老师授课的内容,但自己编制的程序往往错误百出,对于程序中常犯的错误,可以安排错误程序,让大家先找问题,再实际调试,帮助大家分析问题,这样更容易记住错误所在。比如错误使用“=”运算符判断相等,“1 4.4注重实践环节 以应用为目的,加强实践教学,适当增加课外实践的内容。程序设计课程应以实践能力培养为核心,而公共课程由于学时数的限制,课内实践课时远远不够。在实践教学方面,可以采用“课内实践+课外实践+课程设计”的模式。这种模式既保证了课程教学的完整性,又兼顾了学生的个性和时间。课内实践是为了提高学生对理论教学知识点的理解和掌握;课外实践允许学生根据自己的时间自由上机,把学习的主动权交给了学生,充分调动了学习积极性;课程设计是对学生做出更高要求,旨在培养学生的分析问题解决问题的能力。 4.5提高作业的质量 在以前的教学中,布置的作业往往发现有部分同学没有自己做,而是抄袭别人的作业,采用人工检查费时效率低,现在采用网络化的作业提交系统,为了警示抄袭作业的同学,采用作业雷同判断系统,逼迫学生自己写程序。学生可以查资料,和同学讨论,参考别人的程序,但一定要转化为自己的东西,这样就会学会很多东西。为了减少同学对作业的焦虑心理,作业的数量与难度逐渐递增,在作业中多设一些趣味性强的题目,以提高学生的学习兴趣与热情。
4.6建立学习小组、引入竞赛机制
由于学生都没有编程和调试的经验,所以会遇到很多问题,其中有很多问题是共性问题。同时学生较多,而教师人手有限,学生的问题不能及时地解决。为充分调动学生的积极性,激发他们学习的斗志,在实践环节建立分组学习与实验的竞赛机制,要求学生按照“男女搭配,优差结合”的原则组合成一个小组,学生相互讨论学习,取长补短,细节性的小问题组内消化解决,另一方面学生帮助解决问题也是一种能力的提高。为了完成综合实验作业,让小组团队分工协作,可以培养学生动手查阅文献的能力,设计出不同的算法,培养了团队协作的能力。鼓励学生参加校园内外的程序设计竞赛,以竞赛促学习,将在国际上极具影响的ACM国际大学生程序设计竞赛(ACM/ICPC)引入校园,提高广大同学学习程序设计的兴趣和能力,给广大在计算机程序设计方面有特长的同学提供展示才能的舞台。
5采取多样化的考核办法
程序设计课程的目的是培养学生应用计算机处理问题的思维方式和掌握程序设计的基本方法。以前程序设计课程的考试形式基本上是笔试,这种单一的笔试形式已经无法全面考核出学生对程序设计能力的实际掌握情况和运用语言进行编程的具体操作能力。近年来,我们采用了在线评判系统的上机考试、课程设计相结合的考核方式。采用在线评判系统,让学生在规定时间内完成该课程的上机考试题目,主要是对给定的程序设计题目编出程序,并在计算机上调试通过,重点考查学生的综合应用能力和快速编程能力;课程设计考核,是将学生分成若干小组,教师列举或者学生自选一些有实际应用背景的程序设计题目,由小组成员分工完成。目的是考核学生运用计算机程序分析实际问题的能力、解决问题的思路、创新能力和团队协作的能力。
6结束语
通过从教学内容、教学手段、教学方法等多环节入手,对程序设计课教学进行了探索性的改革,教学质量有了明显的提高。但是随着计算机技术和信息技术的发展不断发展,社会对人才质量需求的不断提高,必将对程序设计课程的教学提出新的要求,因此程序设计课程教学改革是一个不断发展的过程。同时,任何教学方法和改革措施,在实施的过程中都必须以学生为本,不断从各种渠道收集反馈意见,发现问题必须及时对教学方法和改革措施进行调整,这样才会取得良好的教学效果。
参考文献:
[1] 林昌意.《C语言程序设计》课程的教学改革与实践[J].中国电力教育,2006(2):364-365.
[2] 谭浩强.C++程序设计[M].北京:清华大学出版社,2004.
[3] 谢桂芳,高守平.提高《C程序设计》课程教学质量的探讨[J].计算机与信息技,2008(1):101-103.
On Promotion Quality of the Public Programming Course
ZHANGLi-mingLI Yu-long
(School of Mathematics, Physics and Software Engineering, Lanzhou Jiaotong University, Lanzhou, 730070 China)
Abstract: According to the problems of public programming course,based on the application as purpose, we explore and practice the reform of programming course teaching in these aspects: Teaching content, teaching means, teaching method and examination mode. These teaching reform can achieve good results, not only can improve teaching quality but also can beneficial to cultivation students ability of analyzing problems and solving problems.
Key words: programming; teaching content; teaching means; teaching method; teaching reform