郭有强
文章编号:1672-5913(2009)02-0072-03
摘要:“C语言程序设计”是计算机学科的一门专业基础课程,对后继课程的学习有着较大的影响,提高这门课程的教学质量对于培养学生的编程思想和实际编程能力至关重要。本文针对构建课程体系、规范教学行为、教学改革、教材建设和形成教学团队等问题进行了探索。通过多年实践表明,课程建设不仅有利于培养学生学习兴趣和学生的实际编程能力,而且有利于师资队伍的建设和发展。
关键词:C语言程序设计;课程建设;教学质量;教学团队
中图分类号:G642
文献标识码:B
“C语言程序设计”是计算机专业的必修课和其他理工科学生的重要基础课程,由于覆盖面广、应用广泛,对于学生的基本编程素质的培养有较大的影响而备受重视。对其掌握的程度如何,直接影响到后继相关课程的学习和掌握,甚至是整个专业的后继发展。“C语言程序设计”的教学目标是培养学生的编程思想和实际编程能力,因此教学、实验、课程设计和考核等都要围绕此目标进行[1~3]。在教学过程中,有相当数量的学生反映学习起来比较困难。如何构建课程体系,如何组织教学,如何创新改革,如何进行教材建设和形成教学团队等都是值得研究和思考的课题[4,5]。为了整体提高“C语言程序设计”课程的教学质量,几年来,以培养提高学生的实际编程能力为目标,进行了C语言课程建设。经过多年不懈努力,使“C语言程序设计”课程整体教学质量和教学水平有了较大的提高。
1构建新的课程体系
1.1变单一教学目标为多元化教学目标
根据分层次、分类别组织教学的思想,进行教学目标的调整。根据学生层次的不同、根据计算机专业和非计算机专业性质的不同、根据学生学习能力的不同、根据学生自主学习自觉性的差异等,重新制定和修订理论教学大纲、实验教学大纲以及课程设计要求等。不同的层次、不同的类别要有不同的要求,体现出教学目标的多元化。这样的新体系才能更加适合办学特点和师生具体实际,在对教师教学和学生学习情况的评价上也将更加客观,可行性和可操作性增强。
1.2变知识灌输为突出实际编程能力的培养
以程序设计方法为主线、语法和结构为核心,能力培养和提高学习兴趣为目标,变应试为应用。本着面向未来的精神,把C语言作为一种实践工具,不再局限于单纯介绍C语言基本语法,而注重培养学生解决实际问题的编程能力,介绍程序设计的基本思想,让学生从多角度、以多方式掌握程序设计的精髓,培养学生无论以后使用什么语言编程,都能灵活应用这些思想和方法的能力。
1.3变传统考试模式为新体系下的评价方式
加大对“C语言程序设计”课程教学的质量监控力度,提出对不同专业、不同层次的学生在教学中可以因材施教,实行分层次教学,但最基本的要求是做到“五个统一”(即统一教学大纲、统一课程教学方案、统一教材、统一课时、统一考试),要求所有开设C语言课程的班级都参加全国计算机水平考试或统一命题,从而完全实现教考分离。并要求加强各种听课、评学评教活动,构建新体系下的课程评价标准。
1.4变课堂教学为主的教学形式为多样化教学组织形式
突破课堂教学的限制,建立课程学习网站。网络环境下分类指导、分层教学的教学模式,以提高编程能力为主要目标的各种学习模块,采取基于学习活动的人机交互、师生交互的互动学习模式,通过建设多种模式和多种学习渠道,构建立体化的学习环境,实现教学中“基础加专业、实践加知识、自学加讲解、素质加综合”的有机结合,在客观上满足人才培养多样化、多层次的需求,为学生对课程的学习实践创造良好的环境,也为教师积极参与课程教学的创新实践提供广阔的空间,使优秀教学资源的共享得以实现。
1.5变教师为中心为自主性学习为中心
课程网站内容体系以学习的自主性为基础,将知识、能力、任务、策略和素质的培养融为一体,确立教师作用的指导性和教学方式的实践性;以学生为主体,在照顾群体目标的同时,重视个体差异,使学生的个性得以充分发挥;允许水平不同、专业背景不同的学生根据需要达到相应的标准,对学生知识结构的合理构建、综合运用能力的加强和整体水平的提高将起到良好的推进作用。
1.6变单一课程教学为后继多课程的基础教学
由于计算机编程语言的发展,出于为后继课程,如数据结构和面向对象程序设计等课程提供基础的考虑,在教学体系中应加强指针和结构体部分的内容。
2从提高学生的实际编程能力出发,规范整个教学过程
2.1规范整个教学过程
对教学内容进行建设。根据新课程体系的要求对教学内容(理论和实验)进行整理,规范整个教学过程。编写完整的课堂教学教案;制作完整的教学用PPT,以规范教师基本教学行为;精选大量典型的、针对性强的例题,减少教师教学过程中选择例题的盲目性,也帮助学生根据自己的情况自行提高;每次实验内容要有针对性,提高实验课的效率;对课程设计提出要求,给出样例和参考课题,规范整个课程设计环节。
精心制作课程教学网站。课程教学网站是对课堂教学进行补充,应该内容丰富、完整,针对性强,可用性好,力求做出自己的特色。除了相关教学内容以外,应制作完整的课程网络课件,以方便学生复习和自学;应解析学生学习过程中可能遇到的问题,针对考试的考核要点进行分析,整理出若干套有针对性的模拟试题。网上丰富的资源,不仅为学生的自主学习提供保障,而且会使课程建设成果的推广应用越来越广阔,师生的利用率也会越来越高。
实时进行教学质量监控。在课程建设过程中,要实时对本课程的教学情况进行教学质量监控。采用集体备课、听课、评课、说课,开学生座谈会,与学生个别交谈,发放问卷调查、听取教学督导的意见和分析考试成绩走向等方式,对本课程的教学情况、学习情况进行跟踪调查。
2.2加强实践教学环节
重视实践教学,提高实践教学效果。实践教学是学习“C语言程序设计”的重要教学环节。实践教学由基础实验和课程设计两部分组成。
(1) 基础实验
基础实验紧密结合课堂教学,其教学目标是加深和巩固重点概念的理解和简单应用,掌握程序调试的基本方法,提高调试能力。基础实验内容分模仿型、测试型和设计型三类,以设计型为主,实验内容一般难度不大,规模较小。根据教学要求设计基础实验,对比较重要的章节应设置两个基础实验(如数组、指针、结构体与共用体类型等),以加强学生对重要内容的掌握程度。
(2) 课程设计
课程设计是对学生的一种全面综合训练,是不可缺少的教学环节。通常,课程设计中的问题比平时的习题复杂得多,也更接近实际。课程设计着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时的习题较偏重于如何编写功能单一的“小”算法,局限于一个或两个知识点,而课程设计题是软件设计的综合训练,包括问题分析,总体结构设计,用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。此外,还有很重要的一点是:计算机是比任何教师更严厉的检查者。
为达到上述目的,使学生更好地掌握面向过程程序设计的基本方法和C语言的应用,应给出课程设计样例和参考课题,引导学生应用结构化程序设计方法, 逐步掌握开发规模较大的C程序的系统方法。每个课题采取统一的格式,由问题描述、基本要求和选做内容等部分组成。问题描述旨在为学生建立问题提出的背景,指明问题“是什么”。基本要求则对问题进一步求精,划出问题的边界,指出具体的参量或前提条件,并规定该题的最低限度要求。选做部分向那些尚有余力的学生提出更高的要求,同时也能开拓其他学生的思路,在完成基本要求时就力求避免就事论事的不良思想方法,尽可能寻求具有普遍意义的解法,使得程序结构合理,容易修改、扩充和重用。
3积极开展教学研究,推动教学改革,在创新中提高教学质量
3.1因材施教,实行分层次教学
为了更好调动学生的学习积极性、主动性,达到因材施教的效果,可以将“C语言程序设计”的教学对象分成A、B、C三个层次组织教学。A层次由计算机本科专业学生组成,教学要求更高一些,在传授知识的同时,加强拓宽基础,适当加强应用,注重传授编程思想和培养学生创新思维,着重提高学生的算法设计素养和能力,使他们的个人特长得到发挥。B层次为理工科非计算机专业本科生和计算机专业三年制大专生,按照传授知识、培养能力、提高素质的要求组织教学;而C层次主要是面对两年制计算机专业学生,这部分学生因为基础较差,学习比较困难,在教学要求方面更强调基本概念、基本知识、基本方法的训练,加强课外辅导,指导学习方法,调动主观能动性,提高效果,以达到课程教学要求。
在分层次教学中,除了课堂教学更注重因材施教,加强各个教学环节之外,还要利用课程网站提供师生互动平台,加强课外答疑辅导;强化实践环节,设计好整个实验教学的内容;加强课程的总结,帮助学生对每章节内容进行总结、归纳,重点难点分析,典型例题分析及解题能力训练,提供网上学习环境,供学生课外自学使用。
采用分层次教学形式,将激发和调动学生学习积极性、主动性、自觉性、自信心以及奋发向上的精神,有利于学生的个性发展,营造良好的学风。
3.2教学研究应不断深入
提高教学质量和水平,是课程建设的永恒主题,也是一个不断研究、不断实践的课题。重视教学研究是高校适应社会发展需求的必然选择,是学校立足实际,走内涵式发展的必由之路,是学校不断提高教学质量、实现可持续发展的强大内驱力。因此,教学研究已成为课程建设教师的自觉行动。
(1) 整体把握C语言的课程体系,在教学过程中让学生理解相关的结构性概念的作用和意义。如在编程语言中为什么会有数组的概念,没有数组能不能编程,数组的本质是什么,在学习数组内容时重难点在哪里;为什么要有指针一章,没有指针可以不可以,指针的作用是什么,学习指针的方法应怎样;为什么要有结构体,没有这个概念行不行,如果没有应该怎么做,有什么不方便等,在教学过程中要讲透重点和难点。在讲解某个具体的典型程序时,讲清楚为什么要这样设计,为什么要定义这么多相关的变量,所使用的算法思想及其实现等。总之要有针对性地按照提高其编程能力的目标进行教学。
(2) 注重对典型程序的学习和掌握,提出四个阶段的学习方法。每一个典型程序的学习过程应分为四个阶段:听懂到看懂、理解到熟悉、基本掌握到掌握、完全掌握。如果通过学习能够“完全掌握”课程中的十几个典型程序,应该说教学是成功的。
教学方法是众多长期从事C语言教学工作的一线教师经验的总结,新的教学方法和教学手段将会调动学生主动学习的积极性,只有这样学生程序设计水平和程序调试能力才能有显著提高。
(3) 注重课程体系结构的合理性。从提高学生的实际编程能力出发,合理安排各章节的教学内容,突出重点和难点;注重C语言对后继课程的基础作用。通过学习不仅使学生掌握C语言的基本语法和规则,还能够领会结构化程序设计的思想和方法。
4加强教材建设
教材建设是课程建设的重要内容之一,除选用全国优秀教材外,应加强自编教材及辅助配套教材的编写和课件研制。教材是教学活动双主体之间沟通的桥梁和工具,是教学改革成果的积淀,是保障教学质量和提高教学效果的关键因素。教材集中反映了作者的教育理念,体现了作者的教学指导思想,体现了作者的课程观、人才观与价值取向;同时也从一个侧面反映了课程的教学模式与质量标准。
对教材编写要力求体现教学目标的要求,充分考虑教学方法、教学手段和教学模式,对教学要求中的知识点和能力点统筹把握好“增”、“删”、“减”、“移”、“合”五种策略,做到专业需要、学生状况、教学条件三者有机结合。实验教材应注重实际编程能力的培养提高,并配有电子教案,提供例题程序源代码,以方便学生自学,形成立体化教材。
教材应全面系统地介绍C语言程序设计的基本概念、结构化编程思想和方法以及解决实际问题的技巧,注重C语言在学科中的基础地位,在整体结构上进行精心思考,对专业发展有影响的部分内容进行侧重。从学习者的角度去思考每部分内容,尽可能地贴切学生的接受能力,对可能产生的疑问进行解释并结合实例进行详细的分析和说明,力求将复杂的概念用简洁浅显的语言来描述,做到深入浅出。
5形成一支结构合理、素质较高的教学团队
教师是教学质量提高的关键。要搞好教学,需要教师的团结协作、集体智慧的发挥,也就是需要一支结构合理,素质较高的教学团队。教学团队是以教学水平高、业务造诣深、经验丰富的教师为主体,配备一定数量的青年教师形成的群体。教学团队应具备一定的稳定性,而且人员要不断壮大,内涵不断充实,教学水平不断提高。
首先对课程主讲教师明确责任,对青年教师实行导师制,在业务上和教学方法上进行一对一的指导,对青年教师实行严格考核制度,确保青年教师站稳讲台,教学质量稳步提高。另外为适应新的教育模式,即培养“厚基础、宽知识、强能力、高素质”人才的要求,教师必须以严谨的教学态度、创新的教学思想、宽厚的学术水平和行之有效的教学方法与手段组织教学。教学团队要讲求实效,定期开展教学研讨活动,集体研究教学内容、教学方法的改革,不断探索教学中的新课题,组织编写教学资料,制订教学方案,期末进行课程总结,组织听课等活动,形成一个结构合理、素质较高的教学实体,这是课程整体教学质量不断提高的组织保证。
通过教学团队的建设,年青教师的教学水平将得到提高,教学过程得到规范,教育教学的意识得到加强,学历层次不断提升,教师的教科研能力明显增强,教科研立项数量逐年增加,立项级别也将稳步上升。
6教学实践效果
教学团队的成员,他们是课程的建设者,也是建设成果的使用者。我院经过多年的实践,证明了学生对课程的掌握及实际编程能力较建设前有了明显的提高。从本科生毕业的选题、毕业设计过程及答辩情况来看,学生具备了一定的独立编程能力,编程能力的提高,应该源于C语言课程的学习。通过对比和分析2006-2008年学生参加全国计算机水平考试的成绩,可以看出通过率呈逐年上升趋势,如下图。
7结束语
通过对“C语言程序设计”课程的建设,一方面提高了学生的学习兴趣,使学生掌握了学习语言课程的方法,培养了学生分析问题与解决问题的能力,学生的实际编程能力有了较大的提高,达到了本课程教学的预期目标,同时学风建设得到了加强;另一方面锻炼了教师队伍,逐步形成了教学团队,使师资队伍的师德教风、教学水平、教学的规范性都有了较大的提升,也激发了教师参与各种教学研究的积极性。
参考文献
[1] 谭浩强. C程序设计(第三版)[M]. 北京:清华大学出版社,2006.
[2] 李春葆. C语言程序设计[M]. 北京:清华大学出版社,2007.
[3] 甘玲. 解析C程序设计[M]. 北京:清华大学出版社,2007.
[4] 杨理云. “C语言程序设计”教学方法探索[J]. 中国成人教育,2007,(5):162-163.
[5] 张建珍. C语言教学方法探究[J]. 计算机教育,2007,(09):12-13.
On the Research and Practice of “C Programming Language” Course
GUO You-qiang
(Computer Sci-tech Department, Bengbu College, Bengbu, Anhui 233030)
Abstract: "C Programming Language" isone of basic professional courses in computer science, which has a large impact on the courses in future study. It is essential to improve the quality of education for students programming ideas and the actual programming ability .This paper discusses the problems of building a curriculum to standardize teaching, teaching reform, the construction of teaching materials and the formation of teaching team, and other issues. Many-year practice shows that the construction of the course not only helps students interest in learning the actual programming ability, but also benefits the construction and development teaching staff.
Key words: C programming language, Courses, the quality of teaching, teaching team