C++面向对象程序设计课程教学改革与实践

来源 :中国电力教育 | 被引量 : 0次 | 上传用户:eesilver
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对C++面向对象程序设计课程教学中存在的问题,以提高教学效果与教学效率为目标,以强化实践与创新能力培养为中心,以网络教学平台和在线评测系统为依托,从教学内容、教学方法、考核方式等方面入手,进行了多元化的教学改革,有效提高了课程的教学质量和学生的编程能力。
  关键词:面向对象程序设计;教学改革;网络教学平台;在线评测系统;多元化教学
  作者简介:龙满生(1977-),男,江西万载人,西北农林科技大学信息工程学院,讲师。(陕西 杨凌 712100)
  中图分类号:G642     文献标识码:A     文章编号:1007-0079(2011)28-0084-02
  
  面向对象程序设计具有抽象、封装、继承与多态等特点,比传统的结构化程序设计具有更高的可重用性、易扩充性和易维护性,已成为开发大中型软件的主流方法。面向对象设计课程是计算机科学与技术、信息管理与信息系统、软件工程、信息与计算、电子商务等信息类专业的专业基础课,对培养学生的程序设计能力和编程思想有着重要作用。作为对C语言的扩展,C++兼有面向过程和面向对象的程序设计方法,具有较高的执行效率,已成为高校面向对象程序设计课程的首选。C++涉及概念较多、语法相对复杂、实践性较强,传统的教学内容、教学手段、考核方式等不利于培养基础扎实、知识面宽、动手能力和创新能力强的高素质应用型人才,需要进行全方位的教学改革。笔者结合自己的教学实践,分析了C++面向对象程序设计课程教学过程中存在的主要问题,进行了多元化的教学改革。
  一、课程教学的主要问题
  1.教学内容中存在的问题
  (1)教学内容繁杂。C++面向对象程序设计课程包括面向对象编程理论、C++语法规则、Windows程序设计、MFC应用程序设计等内容。由于内容多、课时少,导致学生不能真正掌握面向对象编程的精髓。此外,由于Windows编程和MFC应用程序框架的复杂性,增加了课程学习难度,教学效果不够理想。
  (2)教材内容陈旧。现有教材内容缺少面向对象编程新理论、新方法的介绍,不能适应市场对高素质人才培养的需求。例如,教材中缺少对基于泛型编程的标准模板库STL的介绍;教材中涉及的编译器多为Visual C++ 6.0,在双核CPU环境下容易出现异常,对STL的支持也较差;应用程序设计以MFC为主,局限于Windows操作系统,且发展前景不明朗。
  2.教学方式中存在的问题
  (1)教学方式单调,没有体现学生的主体地位。为了在有限学时内完成教学内容,教师往往借助多媒体手段“满堂灌”。由于缺乏师生互动而使得教学内容抽象、乏味,学生缺少独立思考的机会,不利于创造性思维的培养。此外,教学过程中侧重单个知识点的讲解,忽略了知识点之间的联系,内容显得比较零乱,导致学生的综合应用能力较弱。
  (2)实践形式单一,动手能力得不到有效提高。受到传统程序设计课程的影响,早期面向对象程序设计的课程注重理论知识的传授,忽略了编程实践能力的培养。课程实践以上机实验为主,学生只能在机房完成实验,实验时间和地点都受到较大限制。实验项目中,验证性实验偏多,缺乏设计性和综合性实验。部分学生自主学习能力不足,实验课前不能认真预习实验内容,实验盲目性大。教师一般同时指导2~4个学生班的实验,难以及时解决学生碰到的所有问题。部分学生自制力差,一旦问题得不到及时解决,便开始看电影、听音乐或玩游戏,最后完成不了实验就抄袭,编程能力得不到有效提高。
  (3)实践管理落后,严重制约了实践教学效果。教学安排中有时会出现理论课和实验课不同步的现象,不利于知识点的巩固。实验结果以纸质或电子实验报告的形式提交,批阅实验报告时需要花费教师大量精力检查程序代码并给出相应的评语。然而,教师往往因工作繁忙而未能及时批阅,延缓了信息反馈环节,打击了学习积极性。此外,实验报告(尤其是电子实验报告)抄袭现象比较严重,很大程度上削弱了实践教学效果。
  (4)师生之间的交流渠道不通畅。由于教师同时肩负教学、科研和学生工作等任务,学生与教师之间的交流往往局限于理论和实验课堂。另外,部分学生性格内向,遇到问题不愿与教师面对面交流,学习效果不理想。
  3.考核方式中存在的问题
  (1)考核方式单一,重理论轻实践。考核方式以闭卷笔试为主,侧重对识记性理论知识的考核,忽视了对学生综合能力的考核,阻碍了科学思维和创新能力的培养。一方面,笔试试卷评阅工作量大、容易出错;另一方面,单纯的理论考试会导致学生为应付考试而搞考前突击,往往出现高分低能现象。事实上,有些细节知识没有必要记住,可以在编程时查阅帮助文档。
  (2)考试管理落后,评价主观性大。任课教师既命题又阅卷,试题内容和评分标准都可能具有较大的主观性,难以全面考查学生的学习情况。程序设计题的评阅也具有较大的主观性,即使程序不能运行也可能会给步骤分,达不到考核编程能力的目的。
  二、课程教学的改革措施
  以培养适应市场需求的高素质应用型人才为出发点,全方位进行多元化教学改革,使教学内容充实化、教学模式多样化和学习兴趣最大化,切实提高学生的创新思维能力和动手实践能力,保证课程教学质量和人才培养质量。
  1.教学内容改革
  (1)围绕教学目标,理顺课程体系。以C语言程序设计为先修课程,依次开设数据结构、C语言与数据结构综合实习、C++面向对象程序设计,在学完计算机网络、数据库原理、操作系统等课程后,再依次进行面向对象编程实践、应用软件设计和毕业设计等实践环节。通过调整课程次序使得课程内容更加衔接,更有利于开展相关的实践环节。
  (2)紧跟学科发展,优化教学内容。充分利用网络教学平台及时补充学科发展的新理论、新方法,以弥补教材内容的不足,并通过优化教学内容以提高教学效果。
  1)简化与C语言相重复的内容,突出C++对C的扩展,如符号常量、引用、名称空间等。
  2)强化面向对象编程思想,增加STL部分的教学内容。重点介绍类与对象、继承与派生、多态性(包括重载、虚函数、模板等)、异常处理等面向对象编程思想以及流类、字串类和STL的使用方法,让学生学会利用标准库来提高编程效率。其中,STL是C++标准中最新的一部分内容,提供了一个可扩展的应用框架,高度体现了泛型编程思想和软件复用技术。
  3)弱化MFC应用程序设计,增加wxWidget、Qt的介绍。MFC是微软对Windows API进行封装和扩展后的C++类库,很好地体现了C++面向对象的编程思想,但因类库结构庞杂且消息机制复杂而增加了教学难度。相比MFC而言,开源的wxWidget和Qt近年来更受青睐,两者都具有良好的跨平台性。wxWidget的设计思想和结构层次与MFC基本类似,Qt则采用了易于使用的信号——槽机制来实现对象之间的消息传递,因而得到了广泛应用。实践表明,经过4学时的简单引导,学生便可以在2周的面向对象编程实践中利用Qt完成设计任务,比MFC的学习效率有了极大提高。
  4)在实习指导书中增加对Visual C++新版本和Code::Block集成开发环境的介绍。其中,开源的Code::Block因灵活小巧而备受广大C++编程者的推崇。
  2.教学方式改革
  (1)多元化教学,注重实践能力培养。
  1)多种教学方法相结合,促进师生互动。精讲多练,注重启发式教学、案例教学和项目驱动等多种教学方法相结合。启发式教学注重对学生的引导并强调教学互动性,通过问题来激励学生积极参与整个教学过程,使学生由被动学习转化为主动学习。案例教学法打破了以理论知识点为中心的传统教学模式,将知识点融入到具体实例中,使学生在模仿中掌握对抽象概念的感观认识。项目驱动教学法以项目为主线开展教学过程,把相关知识点融入到项目的各个环节中,遵循由简到难、循序渐进的原则,通过对问题的深化或功能的扩充来拓宽知识的广度和深度,直至得到完整的项目解决方案,能够培养学生分析问题和解决问题的能力。
  2)多种教学手段相结合,活跃课堂气氛。课堂教学以多媒体为主,并与板书有机结合,同时增加课堂讨论等互动环节。多媒体教学信息量大,图文直观生动,可增加学生对程序设计的感性认识;板书有利于引导学生充分思考;课堂讨论有利于促进交流。
  3)加强实践教学环节,突出创新能力培养。C++面向对象程序设计是一门实践性很强的课程,只有通过大量的编程实践才能真正掌握面向对象编程的核心思想。实践教学是检验和提升教学效果的重要环节,通过课程实验、课程设计、科技创新和程序设计竞赛等方面培养学生的动手能力和创新能力。课程实验中增加综合性和设计性实验,帮助学生切实把握课程的知识内涵和理论,进一步提高实践水平。实验项目由易到难,让学生逐步获得成就感,激发学生的求知欲望。课程设计以培养综合应力能力和团队协作能力为目标,题目难易适中、趣味性强。通过鼓励学生参与科技创新,我院学生近年来发表了相当数量的学术论文并申请了相应的专利,在“挑战杯”大学生课外学术科技作品竞赛、“电脑鼠走迷宫”等大赛中获得佳绩,还获得了“中国青少年科技创新奖”等国家大奖。
  (2)充分利用网络教学平台,培养自主学习能力。网络教学平台中可以提供电子教案、教学视频、电子图书、示例代码等共享资源以充实教学内容,还可以提供BBS、聊天室等师生互动平台实现在线答疑。通过网络教学平台使学生可以不受时间、空间限制,随时随地通过网络平台进行学习,还可以相互交流、协作学习,最大限度地发挥学生学习的积极性和主动性,激发学生学习的兴趣。
  (3)建立在线评测系统,提高实践效率。在线评测系统具有自动评阅程序的功能,使教师从繁重的报告批改中解放出来。教师可以通过在线评测系统布置实验题目、设置截止期限、公开示例代码、查看实验结果以及统计实验成绩等。成绩评定可以根据提交次数和正确率进行加权,以正确反映学生的程序设计能力。学生可以在截止期限内通过网络随时随地完成实验,可以查看评价结果并根据错误提示修改后再次提交。增加趣味附加题,以适应不同能力层次的需求。教师可以根据实验结果发现共性问题并及时反馈到课堂上,根据需要动态调整教学进度和教学内容;学生可以根据评测结果找到差距和不足。
  3.考核方式改革
  大胆改革考核模式,建立以培养学生实践能力为本的教学评价体系。
  (1)多元化考核模式,注重实践能力考核。采用理论考试(50%)、实验考查(30%)和课程设计(20%)相结合的考核方式。理论考试着重考查学生对基本概念的理解和对基础知识的掌握程度,由课堂测验和期末考试组成。其中,课堂测验可以帮助教师了解教学效果,以便及时调整教学进度与教学方法,也可以帮助学生了解自己的不足,以便明确努力的方向。实验考查着重考查学生的动手能力,由在线评测系统协助完成。课程设计主要考查学生对知识的综合应用能力,由经验丰富的教师组成答辩小组,以答辩的形式验收学生的作品。通过多元化考核,可以激励学生自主学习,从而全面提高教学质量。
  (2)改笔试为机试,提高考试效率。
  1)考试题型多样化,包括填空题、选择题、读程序写结果、程序填空题、程序设计题等类型。
  2)开发了一套上机考试系统,可以自动组卷和自动批卷,有效提高了考试效率。上机考试时间为3小时。前1小时考理论题,包括填空题、选择题、读程序写结果和程序填空题;后2小时考编程题,允许学生在实际编程环境中进行程序设计,可以查阅帮助文档。考试系统还具有报警功能,以防止学生使用U盘等移动设备作弊。
  (3)实行教考分离,建立客观公正的评价体系。由经验丰富的教师组成面向对象程序设计课组,负责统一命题并完善试题库,以保证考试的客观性和公正性。
  
  参考文献:
  [1]聂永红,李春贵,刘永娟.《高级语言程序设计》课程的改革与实践研究[J].教学与管理,2006,(18):93-94.
  [2]符蕴芳,赵英豪.面向对象程序设计教学改革与实践[J].中国成人教育,2010,(11):184-185.
  (责任编辑:王祝萍)
其他文献
1987年4月30日,根据“国家自然科学基金项目申请指南”,凭着对科学执着的追求,我大胆提出“低浓度有机蒸气在活性炭上的吸附平衡和动力学研究”申请课题.
分析美、英、日在高等教育大众化进程中应对毕业生就业难题的经验,得出对我们具有启示作用的共同点:高等学校要进行结构性调整,建立新型高等教育机构,在进行数量扩张的同时注
在思想品德课的教学实践中,很多教师对于自己讲解多遍的知识学生依然没能掌握的问题感到苦恼,笔者认为,这与多种因素密切相关,如教师的讲解方法,学生的学习态度等。教师要尊
期刊
光阴荏苒,15年弹指而过,国家自然科学基金委员会不仅发现和资助了一批有创新性的科学研究项目,而且帮助和扶持了一批青年学子的成长.许多的青年学子正是通过承担科学基金资助
伴随着体育教改的进一步深化,体育教学又增添了许多新的教学理念,传统的教学模式已经不能适应现阶段教学现代化发展的需要。探索新的教学模式,使教学理念适应学生发展的要求
期刊
作为河北农业大学文献资源中心的河北农业大学图书馆已经走过108年的历程,现有藏书170万余册。在不断完善图书馆馆藏纸质资源的同时,河北农业大学图书馆积极建设各类电子数据
期刊
鸡西矿业集团公司张辰煤矿西三采区3
各位领导、各位来宾、各位代表:rn由中国高等教育学会、广东省教育厅、中山大学联合主办、广东省高等教育学会协办召开的2004年高等教育国际论坛,现在开幕了.我谨代表论坛组