程序设计基础课程教学探讨
2015-03-16石利平
石利平
摘要:程序设计基础课是计算机专业的一门很重要的专业基础课,该课程学的好坏对后继一些专业课的学习有较大的影响,如何上好这门课,是很多老师一直探讨的问题。该文主要从“教学做”一体化教学模式、教学观念、多种教学方法相结合、编程能力的培养和课程考核方式等几个方面探讨程序设计基础的教学。
关键词: 程序设计基础;教学观念;教学方法
中图分类号:G64 文献标识码:A 文章编号:1009-3044(2015)04-0113-02
Abstract: Programming fundamentals course is an important and professional foundation lesson of computer specialty. The course has a great influence on the quality of subsequent some professional course study, How to teach this course, How to teach this course, which is a lot of teacher issue. This paper mainly discusses teaching of Programming fundamentals course from several aspects such as the integration of teaching, learning and practicing, teaching model, teaching concept , the combination of different teaching methods, programming ability training and course assessment methods.
Key words: Programming fundamentals; Teaching concept; The teaching method
1 课程介绍
程序设计基础是计算机专业的一门重要的专业基础课,此课程的主要教学目标是让学生掌握程序设计基础知识、基本掌握一门程序设计语言、培养学生逻辑思维能力和程序设计基本能力。程序设计基础是学生学习程序设计的入门课程,是高级程序设计、数据结构、网站设计等专业课程的前导课程和基础课程,该课程的教学效果会对学生对后续的专业课程的学习有较大的影响。
程序设计基础开设在大学的第一个学期,对于大多数大一新生而言,都是首次接触计算机编程课程,对学生来讲此课程相对较难。如何教好这门课,让学生喜欢上这门课,一直都是笔者不断在探索和努力的目标。
2 采用“教学做”一体化的教学模式
程序设计基础课程传统的教学模式是先理论再实践,常是先上两节理论课再加两节实训课。这种授课模式最大的弊端是理论与实践脱节,因理论课与实践课一般会间隔一定的时间。上实践课时,一些理论需重新再回顾,占用可贵的实践时间。现我校程序设计基础课程采用“教学做”一体化教学模式,即课程的授课全部在机房完成,这样上课程序可以很灵活。授课流程可以先理论再实践然后再理论再实践,也可以先实践再理论再实践再理论,而不只是理论或只是实践。传统授课一般只能是先两节理论再实践两节,学生实践时间很有限。程序设计基础是一门实践性很强的课程,学生只听老师讲授是学不会编程的。要通过学生反复上机实践,多上机编写、调试,不断体会和琢磨,才能获得编程的灵感,提供编程能力。教学做一体化模式下,授课时间的分配上可以很灵活,可将更多的时间留给学习实践,更能体现精讲多练,实践为主。此模式下,教师可随时让学生验证理论知识,运行课堂案例,帮助学生理解新知识和新技能,加深学生对算法和语句的理解。经几年的实践,这种教学模式不仅利于调节课堂气氛,也利于提高教学效果。
3 教学观念的转变
3.1编程能力和创新能力培养为教学重点
程序设计基础课程传统的教学重点是编程语言的学习,常常忽略学生编程能力的培养,大量的课程练习题和上机实践主要集中在编程语言语法的考核上,没能很好培养学生编程能力,真是捡了芝麻,丢了西瓜。编程语言只是程序设计依托的工具,学习一些主要的和常用的语句,能借助这些语句编写程序就达到主要目的,不需过分注重对语句的细枝末节。如某些编程时需要这些“细枝末节”,可以让学生再查资料,或教师再补充讲解,即现用现学,也能加强对学生对“细枝末节”理解。学习中多鼓励学生创新,思维开阔了,学生的解决问题能力也就提高了。根据多年的教学经验和现代教学形势,程序设计基础课程重心应放在学生编程能力培养和培养学生的创新能力,这样才能为后续的专业学习奠定更好的基础。
3.2学生为主体,教师为主导
学生是教学的主体,要提高课堂教学效果,需要教师更新教学观念,坚持以学生为教学中心,教学要时时考虑到学生的认知规律、学习特点等实际情况。学生学会了,学好了,愿意学,主动学,才能说明这门课上好了。现在教学中,不少老师授课还常是“填鸭式”教学为主,整节课都在讲,没有与学生互动,没有让学生参与教学,忽略学生的学习主体地位。程序设计基础是实践性很强的课程,程序设计能力的提高很重的途径就是多编程,多上机实践,仅靠听是听不会的。要提高程序设计基础课程的教学效果,教学必须以学生为中心,教学的每一环节都要考虑授课对象的实际情况,授课的内容要根据学生的实际情况设置,教学时时要以学生为主体,教师为主导,授课过程要多设置学生参与教学的机会,要多互动,教师要及时掌握学生学习的动态,这样才能更好开展教学。
4 多种教学方法相结合
据笔者多年教学经验,认为本课程采用多种教学方法相结合,有利提高该课程的教学效果。在该课程学习初期,多采用案例教学法,对学生程序设计的思维培养很合适。随着学习的深入,学生对程序设计逐步有了感觉,这时可引入讨论法和任务驱动法,充分发挥学生的主体地位,激发学生的主动思考,利于程序设计能力的提高。
4.1案例教学法
案例教学法是一种以案例为基础的教学法,将教学的主要知识点融入有针对性有代表性的案例中。通过案例的制作,掌握相应的理论知识和编程技能。案例完成过程中,师生一起分析讨论,大家主动探索解决问题的方法,不仅活跃了课堂气氛,也激发学生学习兴趣,学生由被动接受知识变为主动接受并积极去探索,提高了提高分析问题、解决问题的能力。这种教学方法实践性强,学生参与性强,直观、形象,与工作实际联系紧密,课堂教学效果好。
4.2任务驱动法
任务驱动教学法是实现任务为主线,学生为主体,教师为主导,建立在建构主义教学理论基础上的一种教学方法,打破了传统教学方法中按照教学内容的从易到难、循序渐进的老路子,取而代之的是以一个具体任务来驱动教学,完成教学任务。在任务驱动教学中,能充分发挥学生的教学主体地位,以完成任务作为动力,学生通过自己的分析和操作,把教材上死的理论变成活的应用。教师合理的引导、点拨把知识加以引申,使学生能够触类旁通,识一山而知千峰,点面结合、以点带面、以旧带新。在整个教学过程中,充分体现了学生在学习中的主体地位,教师的引导作用,主动学习与被动教学相结合,慢教与快学相结合,较好地解决教与学的矛盾,也贯彻了传统教学法中的温故而知新、因材施教的优秀教学理念。
任务驱动教学法中任务设置很重要很关键。任务要具备趣味性、可行性、真实性、整合性等特点,这需要老师课前要做大量的准备,对教学对象、需要和教容的进行合理的分析。任务完成后,老师可挑选典型的作品进行展示,要学生简要介绍他们的作品,满足学生的成就感,更能激发学生的学习兴趣。通过几年的实践说明,任务驱动教学法能提高学生的自习能力,提高学生实践能力,增强学生的创新能力,有利于促进学生个性化发展,提高学生学习效率。
4.3讨论法
讨论教学法是在教师的预先的设计与组织下,学生为主体,教师为引导,在学生独立思考的基础上,学生围绕某一问题,各抒己见,发表自己的对问题的见解,通过师生间、学生间的交流和探讨,辨明是非真伪以获取知识和全面提高学生素质的教学模式。该教学方法优点在于能更好的发挥学生的主动性、积极性,有利于拓展学生的思维,锻炼学生口头表达能力,促进学生灵活地运用知识,提高学生分析问题的能力。在程序设计中,理清程序设计思路、构思程序步骤是程序设计中关键的一步。但在程序设计中,学生常常卡在这一步骤上,常因一点点“想不明白”导致不能写出正确的程序。为此,这个步骤中,笔者采用讨论法让学生各抒己见,鼓励学生对别人的想法多提几个为什么,也会在学生接近正确的思路时给予适当的点拨。实践证明,讨论法能开拓学生的思路,有助于理清思路,会使学生的算法思路逐渐清晰,有助于程度设计能力的提高。有不少同学在写课程学习总结时说,她们喜欢课程中讨论,通过讨论,原来没有思路的会在讨论中渐渐有了初步的想法;原来想法不成熟,通过讨论,想法会逐渐成熟、完善。通过讨论,也增进了学生间的友情。
5 加强编程能力的培养
5.1注重学生读程序能力的培养
俗话说得好“熟读唐诗三百首,不会写来也会偷”,这句话用在程序编写能力的培养上也很适用。让学生多读一些优秀的程序,慢慢琢磨、体会编程的技巧、算法等,然后进一步模仿,从量变到质变,最后发展到可以独立编程。编写能力的提高需要一定的“量”,也就是通过大量的编写程序练习,学生设计程序慢慢就会越来越有感觉,越来越顺手。
5.2注重良好的编程习惯的培养
良好的编程习惯对学生编程能力的提高是非常重要的。要让学生意识到编写的程序不仅仅是给自己,尤其是在实际工作中。具有良好风格的程序易于编程者间交流和勾通,对程序的学习能起到事半功倍的作用。良好的编程习惯主要包括程序格式要采用缩排格式,同一级代码左对齐,下一级左缩进四个列,程序结构清晰;标识符应含有含义鲜明的文字,能正确地提示程序对象所代表的实体;使用一致的前缀来命名对象,使对象的类型容易识别;程序代码要加注释等等。编程时要有良好的风格,源代码的逻辑简明清晰,易读易懂是好程序的重要标准。
6 课程考核的方式
课程考核是检验和评价学生学习成效必不可少的环节,也是教学中的一个重要环节。我们该课程的考核是以实践能力的考核,以理论知识的考核为辅。课程考试成绩主要由平时上机实践成绩(40%)、平时课堂学习成绩(10%)和期末考试成绩(50%)。期末考试由原来的笔试改革为主要由笔试和上机实践两部分组成,笔试部分40%,上机实践60%,着重测试学生的实践能力。如何进行该课程的考核,如何更能充分反应出学生的实际编程能力,如何能激发学生学习的积极性、主动性和创造性,如何兼顾本校学生自身特点等等,是课程组老师一直积极探索的问题。
参考文献:
[1] 吴文虎.我怎么讲好“程序设计基础”这门课[J]. 中国大学教学,2011(12).
[2] 杨锋英.程序设计基础课程教学探索[J].计算机教育,2013(2).
[3] 王金鹏.程序设计基础教学方法的改革与实践[J].长春教育学院学报,2014(4).
[4] 余爱华.高职程序设计基础教学过程分析[J].科技信息,2014(3).