独立学院计算机专业《C++程序设计》教学中的问题探讨

时间:2022-08-15 06:32:14

独立学院计算机专业《C++程序设计》教学中的问题探讨

摘要:程序设计是计算机专业学生一门重要基础课,这一点在特别强调学生实践能力培养的独立学院,更显得尤其重要。本文针对目前在独立学院计算机相关专业《C++程序设计》教学过程中突显的问题,进行了分析,并提出了相应的解决方案。

关键词:独立学院;C++程序设计;教学;任务驱动

中图分类号:G642文献标识码:A文章编号:1009-3044(2008)25-1484-02

Teaching Researches on the C++ Programming Course to Students Major CS in Independent Colleges

LUO Ai-jun

(Computer Science College of Yangtze University, Jingzhou 434023, China)

Abstract: Programming is a very important basic course to students major computer science, and the point is much more important in those independent colleges which pay more attention to training the students' practice ability. The paper aims at lots of problems exposed during the C++ Programming teaching in independent college, analyzes these problems and brings up some corresponding proposals.

Key words: Independent College; C++ Programming; Teaching; Task_driven

1 引言

随着社会的飞速发展,在高等教育日渐大众化的今天,用人单位对人才的要求也越来越高。各大专院校也因此纷纷即时根据社会的需求调整其人才培养目标,其中的独立学院把其办学思想定位于培养大批社会急需的应用型人才,非常强调学生动手实践能力的培养。

程序设计长期以来一直是大学工科各专业的一门必修课程。尤其对于计算机相关专业而言,程序设计学习情况的好坏,对计算机相关专业后续课程的学习将会产生较大的影响。目前,无论是搞开发还是搞研究,对使用的程序设计语言有同样高的要求:要求能有较好的可靠性,高效率,可以在不同平台上移植,有尽可能多的标准化语言内容,支持数据一致性,支持程序描述的简洁与清晰,风格自然[1]。这些都是C++的外在特点,高校计算机相关专业大多采用C++作为程序设计教学语言,全国计算机等级考试也把C++作为考试的主要语种,因此做好这门课程的教学工作具有较大的现实意义。但目前教学工作中普遍存在教师觉得不好教,学生觉得不好学的问题,本文针对教学中出现的问题进行思考分析,并提出了相应的解决方案。

2 存在的问题

目前在教学过程当中主要存在以下几个方面的问题:

(1)教学目的与学生的需求存在偏差,学生学习兴趣较大,但信心不足。

C++程序设计教学的目的是向学生介绍计算机程序设计的基本知识。让学生掌握C++基本语法及面向对象程序设计的基本方法与编程技巧;让学生了解常用的算法和数据结构知识,能根据给定的算法,选择合适的数据结构并编制出相应的程序。同时也为本专业后续其他课程的学习打下坚实的基础。

对此学生们的需求又是什么呢?博客上的调查结果反映:约75%同学希望通过学习本课程能开发出一款实用小软件。而我们课堂程序设计教学中甚至没有涉及到WINDOWS编程,学生学完了以后还是不能动手写程序。学生的需求与上述教学目的存在一定的偏差。

大部分同学对本课程兴趣大,学习积极性高。但在学习一段时间后,随着内容的深入,难度的增大,便有同学出现了畏难情绪,甚至认为C比C++简单,明显地缺失信心。

(2)教师教学内容和方法单一,师生互动不明显。

教师教学停留在传统的传授课堂知识,对“师者,传道、授业、解惑者也”的理解和认识尚未进一步更新。师生在课下的沟通互动不明显,导致学生在学习过程中遇到的问题不能够及时地得到解决,这在很大程度上,也影响到学生学习的主动性。随着科技创新和知识更新速度的加快,我们的教学内容和教学方法也不能停留在课堂教学45分钟“老师讲学生听”这一旧的模式和旧的层次上。同时,我们面对的每一个学生基础不尽一样,学习理解知识的能力也不同,如果采用单一的教学方法,很显然是违背“因材施教”的原则的。

(3)没有充分发挥实验教学的优势。

现在各高校大部分机房都已连入INTERNET,而互联网络对学生是一柄双刃剑。如果上课合理利用网络检索所需资源,则有利于学习和掌握知识;反之,如果上课时间利用网络看电影、听MP3、玩小游戏,或者甚至相互拷贝作业,则不仅没有任何优势可言,反而是极有害于教学的。同时“互联网”和“程序设计”二者谁对学生们的吸引力更大,这一点是不言而喻的,每次上机人数众多,实验指导教师监控管理措施不易实施。

教师在实验课上把精力放在指导学生调试程序上。作为初学者,学生们在程序调试中的问题层出不穷,只能被动地等待老师帮忙解决。有时教师还不得不重复解决相同的问题,课堂效率低下。传统的“一问一答”的方式,已经不再适合目前的实验教学。

因此,在网络技术越来越发达的今天,如何重新让机房、让实验课发挥其应有的作用是摆在每一位计算机教育者面前殛待解决的问题。

3 解决的对策

3.1 选择一本合适学生阅读的经典教材

要选择一本好的教材,这看起来是一件很简单的事情,似乎也不那么重要,因为现行各作者各出版社的教材上的内容大多相差不大。的确,这是事实。然而,不光授课教师需要认真咀嚼教材,学生们也要认真阅读教材。教师在讲台上讲授,同时还要求学生能够课下自己阅读教材上的相关内容。国内引进的许多多影印版教材,在每一章节的课后都列出若干的参考文献,引导有余力有兴趣的学生去阅读[5],既加深了学生对教材的理解,也拓展了学生的视野。一本好的教材,不一定是通俗读物,需要有一定的难度。过高的难度可能让学生望而生畏,但适当难度则可能激发学生更大的探索的兴趣。

3.2 加大学生的兴趣,增强学习的信心

兴趣是最好的老师!如何培养学生对程序设计的兴趣?当他们亲自感受到计算机程序设计的对当今社会的巨大影响力,便可能对之产生浓厚的兴趣。此外,还要让他们认识到学习程序设计目的在于培养学生用计算机解决生产生活中的一些问题,当然首要就是本专业后续其他课程学习过程中的实际问题的能力。

不是说兴趣高就意味着会编程了。眼高手低是学习过程中常出现的问题:他们对老师演示的内容都认为很简单,但让自己做却无从下手。有意识地锻炼学生动手编程能力,并引导他们取得成功,从成功中获取更大的成就感和自信心,这将是他们在程序设计道路上继续前进的巨大动力。例如,引导学生利用已学过的知识,编程实现简单的数字图像处理过程。虽然开始时会让大家觉得有困难,比如其中大量陌生的库函数让人望而生畏,有时可能自己还要写一些自定义函数。但只要做好指导工作并给予适当地鼓励,则不仅能激发学生的兴趣,还能巩固所学的知识,而且可以在实践中让他们的思维能力得到提高、编程能力得到锻炼、创新能力得到增强。

教师要付出足够的耐心,想方设法提高学生的兴趣和学习热情,培养和提高他们的创新能力,增强学生们对学好本课程的信心。

3.3 把握教学重点,灵活采用教学方法,加大师生互动

算法设计是程序设计的核心。我们要将教学重点从C++基本语法转移到算法设计上。有针对性地设计能综合运用已学和将学相关知识点的实例,课程上多采用案例教学。即使是同一本教材,同一个算法案例,只要我们善于挖掘,也可以推陈出新,找出更易于学生理解和接受的讲授方法。

针对不同的教学内容,更要灵活采用教学方法。常用的教学方法有:类比教学法、启发教学法、分步教学法、任务驱动法[4]等。而其中任务驱动法在C语言程序设计教学中运用较多、效果较好的一种。

除了传统的师生互动方式外,我们还可以采用其他更灵活有效的方式。考虑到学生们课外在网络上花费的时间较多,我们就可以充分利用学校的精品课程网站的网上答疑论坛子系统,还可以利用各大门户网站提供的免费博客系统,二者都可以较好地解决课堂45分钟以外的师生互动问题。在实际教学中,我们利用TOM BLOG进行师生沟通,也取得了很明显的效果。

3.4 加强上机实验指导,制订上机任务,保证上机效果

(1) 程序设计课程本身实践性较强,必须安排足够的上机学时。同时还要精心设计每一次实验内容,让学生每一次实验都有明确的上机目的。

(2) 学生明确任务以后,应首先仔细思考,形成思路,再将思路描述成为C++代码写到实验报告纸上,待形成完整的程序以后再输入计算机中进行编译。而不是一边想,一边输入代码。这样既提高了效率,同时也提高学生思考问题的能力。

(3) 针对学生在编译,链接过程中出现的错误或警告,教会学生使用调试工具。学生在调试中遇到的疑点和难点,及时给予必要的适当指导,主要是教给学生科学有效的调试方法,例如等价类划分法、边界值分析法、安插测试语句等。

(4) 实验课结束时,每名学生必须上交比较规范的纸质实验报告(其中除包括程序的源代码,输入数据,程序输出结果外,还应重点包含程序调试过程,以及本次实验体会),通过以上举措来保证学生完成实验任务。课程结业考试也必须包括学生上机编程能力考核。

(5) 课程结束以后,分组安排2周的课程设计。题目要具有一定的综合性和较强的实用性,如学生信息管理系统等。要求学生经过需求分析,软件设计,编码,测试等软件开发的各阶段,最后提交一个软件原型及相关文档。通过课程设计实践,提高学生的软件开发水平和合作能力,同时,还可使学生在以后的学习过程中,自觉将计算机技术应用到生产和研究过程中,真正做到学有所用。

在上机实验环节,教师要认真做好指导和督促,减少互联网络等对学生注意力的不良干扰,让学生在规定时间内完成指定任务,从而保证实验教学效果。

4 结束语

本文提出了近几年在独立学院计算机专业《C++程序设计》教学过程中出现的问题,进行了思考和探索。对提出的方案在独立2006,2007级计科、网络专业本科学生中实施,较好地激发了学生的兴趣,调动了学生的学习积极性,增强了学生的自信心,日常教学和计算机等级考试都取得了很好的效果。以上事实证明,只要教师教学目的明确,教材理解深入,教学方法灵活得当,师生加大互动,学生是可以轻松学好C++程序设计的。

参考文献:

[1] 钱能. C++程序设计[M]. 北京:清华大学出版社,2005.

[2] 刘晓锋, 吴亚娟. 计算机专业《C语言程序设计》教学与教学改革[J]. 四川师范学院学报, 2003(24):34-36.

[3] 孔垂柳,田地. 基于程序设计思想的C语言教学方案[J]. 吉林大学学报(信息科学版) , 2005,(S2):2.

[4] 王越超,周启勇. 驱动式教学法在程序设计语言类课程教学中的应用[J]. 广州市财贸管理干部学院学报, 2004(3):55-58.

[5] Cay Horstmann, Timothy Budd. Big C++中文版[M]. 北京:电子工业出版社,2007.

上一篇:Web2.0环境下的网络信息检索研究 下一篇:Windows文件系统自动化测试框架的研究与设计