1、1以程序设计为主线整合 C、C+语言课程主要成员:吴敏 周李涌 孙涛获奖时间及等级:20072008 年度内蒙古科技大学教学成果二等奖一 成果简介“C 语言程序设计” 、 “C+语言程序设计”是我校信息学院电子信息、通信、自动化和仪表等所有专业,以及计算机专业重要专业基础课程(以下统称程序设计课) 。本课程也是我们信息学院计算机教育的核心课程,通过这门课程的学习,不仅可使学生获得一定的软件开发能力,还可锻炼他们的逻辑思维能力,对学生综合素质的提高也具有一定的促进作用。本项目深入地分析我校程序设计课教学中存在问题的基础上,提出了以程序设计为主线的教学思路,对教学内容进行了整合并对教学方法进行改革
2、。1. 转变教学观念-培养具有自觉学习精神的较高素质人才围绕我校“立足内蒙古,面向全国,服务国家基础工业和地方经济建设,培养岗位适应性强,工作作风踏实的应用型人才”的办学定位和目标,程序设计课程不但需要培养学生严密的逻辑思维能力,而且更需要培养学生开阔的视野和丰富的想象力,以及自觉学习的兴趣和能力。以往的程序设计课程教学效果欠佳,不能培养人的自我决定能力,不能唤醒学生的力量。这是因为原来的教法是以高级语言本身为脉络展开的,过于注重语句语法,没有突出基本概念、思路和编程方法,难以调动学生学习的积极性。编程并不是一件枯燥乏味的事情,怎样让学生感兴趣,怎样做才能唤醒学生的学习力量,提高学习的积极性,
3、是该课程能否成功的一个关键。这就使我们想到,必须要在教学的理念上下功夫,研究怎样以人为本,如何在每一个教学环节上都想方设法去调动学生的积极性,努力提高学习兴趣;另一方面,也要考虑计算机学科的不断发展和教育方面提出的新要求,去强化学生计算及逻辑思维能力的培养。总之,程序设计是一门需要对学生的思维能力和想象力进行综合培养的专业基础课程。这门课2程是理工科学生的一门“看家本事”, 打好程序设计基础,对用好计算机这一“人类通用智力工具”,意义重大和深远。对提升学生就业竞争力会有很大的促进作用。2.分析存在的问题目前在程序设计课程的教学上还存在一些认识上的误区和不足,表现为:(1)注重程序语法讲授,忽视
4、培养学生对于程序设计兴趣;注重课堂讲授,忽视学生实际动手能力的培养。(2)课程目标定位过高,超出了学生的实际程序设计能力,造成很大一部分学生不能独立完成教师要求的作业和实验,挫伤了学生的自信心。(3)课程要从面向过程过渡到面向对象。两者相互独立又相互联系,学生很难在接受面向过程的思想后,再顺利接受相对繁琐的面向对象的思想。(4)面向对象的 C+语法较复杂,教学经常会陷入语法讲解。在有限的学时内,往往削弱更为重要的面向对象程序设计的应用。学生实际上不会用面向对象的方法开发和设计软件。(5)在实践教学中有些还是采用 DOS 环境平台,而不是用本质是面向对象的Windows 平台。3. 教学内容整合
5、与教学方法的改革从面向过程编程思想到面向对象编程的转变是教学的关键:C 语言是面向过程的语言,C+是面向对象的语言。而 C 语言又是 C+语言的基础,课程要从面向过程编程方法过渡到面向对象的编程。我们仍然是以程序设计为主线,两者相互独立又相互联系,重点是对问题进行符合逻辑的、科学的分析,找出解决它的抽象方法。使学生比较顺利接受相对繁琐的面向对象的思想。(1) C 语言是程序设计的基础课,应该着眼于培养学生良好的程序设计基础和对计算机科学的兴趣上。要求大部分学生能够掌握基本的程序设计方法,介绍但不要求学生掌握各种复杂的程序设计技巧和方法。(2) C 语言应以函数为主线,理解并且掌握函数的定义和使
6、用,要求大部分学生能够编写简单的多函数应用程序,因为函数不但是 C 语言程序模块的组成单位,也是 C+中类的基本单位。要学会定义函数和调用函数。在这一过程中,使学生加深对数组、指针以及变量的作用域等概念的理解,也通过比较多的练习来熟悉和掌握 C 语言的基本语句和程序结构。3(3) 讲授 C+时,最简单也是最直接的组织方法是:按语法现象,先讲面向过程 C+对 C 语言的增加,再讲面向对象。这样讲法学生对面向对象部分理解很差。怎样解决这些问题是 C+程序设计教学进一步发展的关键。我们的目的是培养大学生的编程能力,而程序=算法+数据结构,所以授课的重点是程序设计而不是语法;或者说是算法和数据结构,而
7、不是语法。(4) 讲授面向对象的概念,首先要深刻理解面向对象 C+的关键技术,要有重点,不能面面俱到,有所失,才能有所得。围绕关键技术“精讲” ,可以花较少的学时取得更好的效果。应该突出的关键技术包括以下方面:A多态:重载(编译时的多态,包括函数与运算符重载) 、层次结构中的同名覆盖与超载(运行时的多态) 。在介绍函数时就引入函数重载,在教学刚涉及类对象时就引入运算符的重载。引入的越早应用的机会越多。普遍使用这些技术是面向对象的 C+的标志。B继承与派生,也是非常重要的,并且它们是最基础的。继承的方法实现了一般与特殊的关系,解决了软件的重用与扩充的问题。是面向对象方法的另一个核心概念。C重视模
8、板相关内容的教学。将模板作为一个有力的工具用于教学中,对所涉及的数据结构基本知识,包括顺序字符串、链表、栈、队列等算法均采用模板来讲授。4.实践教学是教好程序设计课的重要环节程序设计是一门实践性很强的课程,仅在课堂教学中“精讲”还是不够的,通常有实验和课程设计作为实践教学。实践教学与课堂基础教学应各有侧重,互为补充。教学思路是首先学习开发多函数的简单小程序开发面向对象的、具有一定难度的小程序开发一个小型的完整软件,通过这三个阶段来进行教学内容的组织。整个实践教学分为如下的三个阶段:(1).基础编程阶段。这一阶段的内容主要是在 C 语言的概念上,包括基础语法和顺序、选择、循环等程序设计方法,以及
9、数组、函数、指针、结构体等程序设计的基本单元。主要目的是学会基本程序设计方法以及多模块(多函数)程序设计。方法上主要是通过各种书面作业、多次实验,以及一题多解等方法来加强语法和各知识点的掌握和训练,开阔学生编程的思路,提高学生编程的兴趣。4(2).模拟项目引导阶段。这一阶段的内容主要是在 C+的概念上,C+内容较复杂,主要是类与对象、运算符重载、继承与多态、模板等。通过第一阶段的学习,学生已经具备了程序设计的基础知识,在这一阶段将通过不同数据结构的模拟项目的完成来熟悉上述内容。原则是既要使学生有切入点又要使各章的模拟项目之间有联系点。在此阶段,教师要引导学生参与到各类模拟项目中,为学生提供技术
10、支持,其中对学生参与项目的引导不是简单地布置任务,而是通过一些相关程序的演练使学生能够动手实现,不能让学生感觉无从下手。实验全部采用 VC6.0 多窗口和可视化编程环境。(3).课程设计阶段。目标是通过“课程设计”对整个学习进行一个巩固、测试和验收。本阶段的实施一方面是对 C 语言、C+课程的总结提高,为加强辅导,由具有丰富实际软件开发经验的教师担任实践课程辅导教师。同时也要培养学生项目文档的撰写能力。这一阶段的学习以学生的自主开发为主,学生可以通过各种途径查找资料,促使学生自觉利用校园网、图书馆来辅助课程的学习。最后学生应提供完整的项目文档,并对项目进行答辩。5. 加强教材建设、利用校园网与
11、学生建立交互机制,促进课程改革。为了使学生自学更方便,还组织编写一套适合我校学生学习的相应教材,包括完整的习题解答和实验指导书。教材从内容的选择到授课次序的编排,从例题的编排到新概念的引入的方式,都进行精心安排。针对我们提出的问题和前面阐述的思想,所编写的教材有以下特点:面向对象与面向过程有机地结合起来。讲解面向对象程序设计选择恰当的实例,使学生易于接受。由于学时数限制,教材各章节重点必须突出。同时配备了一支政治素质好、业务水平较高、教学经验丰富、年龄结构、职称结构比较合理的教师队伍。另外,利用多年教学中积累的大量资料,制作了课程的课件,同时还提供了大量实验参考程序和作业参考程序放在校园网上,
12、供学生学习和下载。并且通过 E-mail 与学生建立通信,了解和解答学生学习中的疑问,以及帮助学生解决课后上机时程序调试的许多问题,使校园网成为师生互动学习的平台。准备进一步开发网络学习平台,目标是提供一个集基础知识学习、演示、实践与交流为一体的学习环境二 创新点1. 教学理念的转变5教育最重要的是要唤醒学生的力量,培养其自我性、主动性、抽象的归纳力和理解力。编程本身不是枯燥乏味的事情,原来的教法只上注重程序语法讲授使学生感到乏味。怎样让学生感兴趣,怎样做才能唤醒学生的力量,提高学习的积极性,是该课程能否成功的一个关键。2. 教学目标定位适当编写一套适合我们学校学生的相应教材,包括完整的习题解
13、答和实验指导书。教材从内容的选择到授课次序的编排,从例题的编排到新概念的引入的方式,都进行精心安排。针对我们提出的问题和前面阐述的思想,所编写的新教材有以下特点:面向对象与面向过程有机地结合起来。讲解面向对象程序设计选择恰当的实例,使学生易于接受。由于学时数限制,教材重点必须突出。三 应用情况收到很好的教学效果:采用了以上的教学方法和教学理念,收到非常好的教学效果。使学生体会到,这门课程是理工科学生的一门“看家课” , 打好程序设计基础,对后续课程的学习,以及毕业后的工作都有着重大意义和深远影响。本课程的教学目标是培养学生软件编制能力。首先要看学生实际能力的提高。客观的评价,大约有 7080的
14、同学的动手能力比过去的教学方法培养的学生有明显的提高,他们学到的本领不是对付卷面考试的能力,而是编程的能力。真正作到学有所长,学有所用,对提升就业竞争力会有很大的促进。不过目前仍存在一些问题,如在分层次教学中,两头的学生比较难以满足。好学生学习自觉性高,要求更多、更深的内容需要更多的个别化辅导;但是较差地学生自主学习能力较弱,基础也差,对自己要求不高,该类学生是需要更多的细心和耐心。这些都是我们今后工作的努力方向。负责人简介:吴敏,女,1953 年生,教授,1980 年 7 月毕业于原北京邮电学院。从事自动化、计算机等相关专业的教学工作 29 年。讲授的主要课程有:算法语言 、 计算机应用基础 、 汇编语言程序设计 、 微机原理 、 数据结构 、 数据库应用 、 C 语言程序设计 、 面向对象程序设计等课程。主要研究方向为面向对象编程技6术与数据库应用。二十多年来先后参加和主持多项科研课题,作为第一作者先后发表学术论文和教改论文十多篇,在 20062007 期间,主编两部教材C面向对象程序设计和C面向对象程序设计习题解答与实验指导 。工作以来先后获原冶金部教学成果奖,多次获得教学优秀奖,2006 年、2008 年两次获得师德先进个人。