高校C++程序设计教学探讨

2012-04-29 00:44孙伟峰王艳
科教导刊 2012年15期
关键词:程序设计实例编程

孙伟峰 王艳

摘要文章针对在程序设计语言C/C++课程教学过程中遇到的实际问题,结合自己的思考、体会与实践,就如何设计教学内容、激发并保持学生的学习兴趣、改进教学手段与教学方法、加强实践教学与改革考核方式等方面提出了自己的观点。教学实践表明,在教学过程中采用这些方法能够较好地解决教学中的实际问题,教学效果良好。

关键词C++语言教学方法教学实践

中图分类号:G642.41 文献标识码:A

《程序设计语言C/C++》是我院大学生学习程序设计语言的入门课程,旨在向学生介绍计算机程序设计的基本知识,使学生掌握编程的基本思想,培养学生分析问题、解决问题的基本能力,同时为后续相关课程的学习打下良好的基础。该课程教学内容包括面向过程的程序设计与面向对象的程序设计两部分,涉及到的内容多,概念复杂,语法、规则繁多且实践性强,对于初学程序设计的学生具有一定的难度,学生普遍反映该课程比较抽象、难学。

本文针对在C++程序设计教学过程中遇到的实际问题,结合本门课程面向学生群体的特点,对教学的各个环节进行了思考与总结,提出了一些有利于提高教学质量的措施与方法。

1 优选教学内容,注重培养学生的学习兴趣

1.1 精心备课,围绕关键内容精讲多练

要讲好一门课,首先要精心备好课。备课既要备课程,也要备学生。备课程主要是把握好每堂课的学习目标、学习重点和难点,设计好讲解的思路;而备学生则是要充分考虑学生的实际情况,从学生学习的角度出发来设计教学内容和讲解方法,确保学生愿意学、容易学也能学会。同时,由于该课程内容多、学时少,内容讲解时不可能面面俱到,需要优化教学内容,做到抓住主线,突出重点,把握难点。本课程教学中,面向对象的程序设计由于其概念抽象,学生学习起来较为困难,是本门课程的教学重点与难点。要加大该部分内容的学时分配,并改进教学方法,应用举例、类比等方式,将抽象的概念具体化、实例化,对重点难点内容做精心讲评,反复练习,这样,才可以在有限的学时内取得较好的教学效果。

1.2 激发并保持学生的学习兴趣

兴趣是推动学生积极主动学习的直接动力,想让学生学好这门课程,首先要唤起学生的学习兴趣。程序设计语言类课程的优势是实践性强,学生通过编写程序能够产生成就感,感兴趣也乐意学,在教学过程中要充分发挥好这种优势,注意激发并保持学生的学习兴趣。在上第一堂课时,就要给学生强调学习这门课程的重要性:作为一门主流编程语言,C++是从事工程领域的工作及科学研究的必备工具,学好它,无疑可以为今后的工作及科研提供重要的技术支撑;可以培养缜密的逻辑思维,提高分析问题以及利用计算机解决问题的能力;可以为今后学习其他面向对象的语言奠定良好的基础等。然后,给学生演示几个用C++语言开发的应用软件及工程项目实例,让学生真切地感受到C++语言的神秘与魅力。在随后的教学过程中,要精心组织教学内容,设计教学方法,穿插一些具有趣味性及实用性的实例,让学生体会到编程的快乐,使他们的学习兴趣在整个课程的学习过程中得以保持,从而达到主动学习的目的。

2 优化教学方法与教学方式,提高教学质量

2.1 从问题出发,进行互动式教学与启发式教学

传统的教学方式一般采用以教师为中心的讲授型教学,按照章节内容依次介绍,这种灌输式的教学模式能够较好地保证所授知识的系统性,但教学过程太过枯燥,学生学习的积极性不高。与此相比,采用教师为主导,学生为主体的模式进行互动式教学与启发式教学,可以很好地改善这种状况。C++语言逻辑性强,前后章节内容之间存在很强的内在联系,可以按照“提出问题-解决问题-归纳分析”的思想来设计教学过程。在授课的过程中,根据讲课内容设置一些趣味性的问题,然后以互动的方式引导学生主动地去思考、解决这些问题,学生很自然地就掌握了要讲的内容。这样,一方面可以活跃课堂气氛,激发学生的学习兴趣;另一方面,经过思考、分析来解决问题的过程,也加深了学生对所学知识的理解。

2.2 开展实例教学

C++语言语法、规则繁杂,知识点多,如果孤立地进行各个知识点的讲解会让学生感到枯燥无趣,不能专心听讲;即使听懂了,也不知道应该怎么应用到具体的编程中。采用实例教学的方法,将各个知识点的讲解融入到具体的教学实例中,并有目的地设计一些容易掉入的“陷阱”,这样,容易引起学生的学习兴趣,加深对知识点的理解,并让学生认识到应用这些知识点时应该注意的问题,在实际编程过程中避免出现类似错误。在实例教学中,实例的选取尤为重要,必须切合当前的教学内容、代表性强、启发性好且有趣味性。可以结合实际工程项目的编程实例,将C++语言在实际工程中的应用娓娓道来,让学生感到C++编程是“真功夫”,而不是纸上谈兵,以激发学生的学习热情。

2.3 践行反馈教学

教学过程是教师与学生交互的过程,教师不但要看自己教授了什么,更重要的是看学生学会了什么。反馈教学法就是从学生反馈的问题入手,通过及时讲评,解决学生学习中遇到的各类问题,以达到预期的教学目标。反馈教学可分为课堂反馈,课下答疑反馈、作业反馈、上机实验反馈等多种形式,对学生在学习过程中反映出来的困难和疑惑及时进行解答,并对普遍遇到的典型问题进行归类讲解。采用反馈教学的方法,可以及时地掌握学生的学习动态,有针对性地解决学生在学习过程中遇到的问题和困惑。

2.4 采用多媒体与板书相结合的教学方式

多媒体教学是程序设计语言类课程的主要授课方式。与板书教学相比,多媒体教学具有生动、直观、形象等诸多优势。然而,任何事物都具有两面性,多媒体教学也有其不足之处:大量的文字、图片、动画等的出现,容易分散学生的注意力,影响学生的主动思考;不利于知识点的连贯表达与分析;学生不记笔记,导致对课堂内容理解不够深刻。

板书教学借助其灵活性可以很好地弥补多媒体教学的这些不足。在授课过程中采用多媒体、板书与现场编程相结合的教学方式,问题描述用多媒体展示,分析过程、重点内容、关键代码及易出错的地方用板书讲解、程序实现用编译环境演示。讲解程序时,一边讲解算法,一边书写语句,这样学生就可以紧跟教师的思路,主动地去思考如何用语句实现算法的每一步。

根据不同的授课内容,采用多媒体与板书相结合的教学方式,各取所长,优势互补,才能取得更为理想的教学效果。

3 开展多层次实践教学,重视培养学生的编程能力

实践性强是C++语言的一个显著特点,其知识的掌握与能力的培养很大程度上依赖于上机实践。有些在理论授课时强调多遍的知识点与注意事项,学生在编写程序时仍然会忽视,只有通过亲自上机编程,发现并改正错误,才能真正理解并掌握所学知识。在C++教学过程中,实践教学分为三个层次进行。

第一,理论授课时进行现场编程演示。在进行实例代码的讲解时,可以让学生口述程序,然后与学生一起编程,在容易出错的地方采用试错的方法,让学生体会到错误的发生并改正。这样,既锻炼了学生的编程思维,也能够让学生体会到成就感,有利于学习兴趣的培养。

第二,上机实验教学。实验教学可以帮助学生巩固课堂所学知识,掌握程序调试的基本技能。在实验内容方面,精心设计了基础验证性实验、设计开发性实验、能力拓展性实验三个层次的题目供学生训练。在实验考核方面,采用实验前检查预习报告,实验中随机抽取答问以及实验报告中必须写心得体会的方式,避免学生对实验内容敷衍应付甚至抄袭别人程序的情况发生。在实验过程中,鼓励学生自己调试程序,查找并排除错误,在改正错误的过程中逐步提高编程能力。

第三,程序设计实习。在课程学习结束之后,安排为期两周的程序设计实习,要求学生利用面向对象的程序设计方法独立设计并实现一个小型公司信息管理系统,实现对公司内不同工种的人员进行信息录入、数据统计、数据打印以及数据备份等功能,并鼓励学生对系统的功能进行扩充,最后形成规范的实习报告并撰写实习心得。通过该训练,培养学生综合运用所学知识进行程序设计的能力。

通过三个层次的实践教学,逐步培养并提高学生利用C++语言进行程序设计及软件开发的能力。

4 改革考核方式,实现“以考促学”

本课程的学习不仅仅是为了让学生掌握C++编程的语法知识,更重要的是培养学生利用C++语言编程解决实际问题的能力。为了更客观全面地反映学生的学习情况,更合理地对学生的学习效果进行评价,真正发挥“以考促学”的作用,本课程的考核采用了多元化的方式,课程的最终成绩由平时成绩(包括考勤、上课答问及作业)、实验课成绩、笔试成绩和上机考试成绩共同决定。该方式重视对学生学习过程及实际动手能力的考核,侧重考核学生对知识的融会贯通和灵活运用能力,而不仅仅是对基本理论、基本知识的掌握。

5 结语

本文对在C++程序设计教学过程中遇到的问题进行思考与总结,提出了一系列行之有效的教学方法。实践表明,在教学过程中运用这些方法可以很好地激发学生的学习兴趣,调动学生的学习积极性,改善教学效果。C++程序设计课程的教学涉及诸多方面的因素,需要我们在今后的教学过程中不断进行探索与实践,改进教学思路与教学方法,更好地促进该课程教学质量的提高。

参考文献

[1]谭浩强.C++程序设计(第1版)[M].北京:清华大学出版社,2004.

[2]周昕.C++程序设计课程教学方法改革[J].黑龙江教育学院学报,2010.29(6):72-74.

[3]刘群,李坚.C++程序设计实验教学中的若干问题探讨[J].实验科学与技术,2010.8(6):95-98.

[4]吴飞鹏.浅析程序设计语言课的板书教学[J].现代企业教育,2011(18):169-170.

猜你喜欢
程序设计实例编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
完形填空Ⅱ
完形填空Ⅰ