朱 琳,丁 蓉
(青海大学现代教育技术中心,西宁810016)
《C语言程序设计》是成人高等教育中理工科学生学习的第一门程序设计语言。该门课教学的主要目的是训练学生的逻辑思维,提高他们分析问题和解决问题的能力,从而初步形成程序设计的思想。通过本门课程的学习对后续专业课程的学习起着良好的过渡作用。对C语言教学研究亦提出了许多行之有效的教学方法如:任务驱动教学法、案例教学法、项目教学法、创新性趣味教学法等[1],在具体实施中也取得了一定的成效。面对教学环境和教学对象不断地发生变化的今天,更深入具体地探讨和研究程序设计课程教学工作的新方法、新模式、新理念具有重要的现实意义。
新时期社会对人才的要求着眼于创新能力和实践能力,课程教学应将语言本身的语法细节融入到程序设计的各个环节中,包括设计算法、分析问题空间、建立计算机模型、编写代码与上机调试等一系列的创造性过程。程序设计类基础课程的教学目标也要从原来的“掌握语法结构、熟悉语言本身”转化为“以程序设计能力培养”为目标[2]。
在C程序设计课程的教学过程中采用“精选案例”来说明程序设计的基本语法、基本算法、基本理论知识、应用技能和具体的实现过程。从解决实际问题出发,基础案例引出知识点,综合案例珠链成串,有效地对教学内容进行组织安排,提高学生学习兴趣,解决课堂教学中存在的问题。启发引导学生对案例涉及的问题进行正面的思考、分析、设计和实现,切实提高学生的实践动手能力。案例设计要以学生的视角为出发点,以培养学生兴趣和提高学生能力为目标,把握课程教学内容。案例教学[3]主要培养学生的跟随创新、集成创新和自主创新能力,通过教师精选的案例培养学生阅读理解程序的能力。阅读并理解程序对学生编程能力的提高具有良好的促进作用。
教师在讲授每一堂课前,必须清楚本节课的教学目的和教学要求,根据所学内容直接向学生讲明作用和意义,及其在整个知识体系中的作用,从而引起学生的重视;通过有目的地设计问答,诱发学生的学习兴趣和求知欲望。借助多媒体课件和网络等教学手段使用多种教学方法并有机组合使这些方法得以有效实施。如:任务驱动案例法、类比法、讨论法、互动式等教学方法。
在C语言程序设计课程教学过程中,将传统教学方法与多媒体教学方法有机结合。每一堂教学实施时,要对教学内容进行归纳分析,将难点细化分解,缩小台阶、达到循序渐进的目的。充分发挥传统教学优势,将理论教学与实践教学一体化,对挑选出的经典案例进行分析,和学生一起完成程序的编写过程。通过课堂讨论、疑点难点分析、问答、板书讲解等环节,将问题层层深入、层层剖析、师生互动,然后让学生自己动手编写程序来解决具体问题。另外,可将C语言精品课程教学资源上传校园网,用教育在线或网络学堂进行网络在线答疑、讨论,对观点不一致的问题进行当面辅导、讲解。有效调动了学生的学习积极性,诱导学生积极思考、激发学生潜能。这种集理论、实验、网络于一体的空间和时间的立体式教学,实现了课堂、机房与网上课堂相结合。这样为学生预习及复习课程创造了良好的条件,从而保证了课堂教学和实验环节的效果。
以卷面笔试答题的考核形式考察学生对知识点的掌握情况,书面考核成绩占最终成绩的比重为50%,还必须结合上机测试的方法,这样既考察了学生对基础知识的掌握情况,又考虑到了对编程能力的测试;另一方面,上机考核可以考察学生对知识和技能的综合掌握情况,还可以引导学生进行自主学习。
C语言程序设计是实践性很强的一门学科,理论学习和上机操作需同步进行。每次理论课结束后要给学生布置一些和课程内容相关联的、有趣味性和真实性的问题,要有意识地让学生在解决实际问题的同时锻炼编写程序的能力。使学生明白在课堂上学习的内容能解决生活中的一些问题,激发了他们学习的兴趣。上机实验课结束后还要求学生完成实验报告,内容包括实验目的、实验内容、实验环境、遇到问题、解决方法与结果分析等。目的在于学生完成上机实验后,让教师了解学生在学习过程中都遇到了哪些问题,针对具体问题有代表性的讲解,让学生能对编程过程中遇到的问题进行思考,确保每位学生真正掌握所学的内容。
观察法是在教育教学活动的自然状态下,研究者对研究对象进行有目的、有计划地考察。主要是凭借研究者自身的感觉器官和其他辅助工具,比如运用自己的感官获取资料,借助于摄像头、教师机等仪器进行的观察,对教师而言是直接观察,如观察课堂的气氛、学生学习的热情、上机操作是否认真投入、小组任务的进度与完成情况等。
设计教学质量评价调查问卷表,可以对教师教学方式方法的满意度、对学生学习环境的评价、学习态度及主要原因、协作学习的过程等内容进行调查。通过调查问卷收集相关资料,统计分析其中存在的问题,为今后的教学提供改进的方法。
为真正了解学生学习的具体情况。在完成相应章节的学习后,教师根据所学内容有目的地布置作业,将学生分成若干小组,让他们相互协作完成作业,然后选派小组成员讲解汇报解决问题的思路和具体运用的方法,其他成员可以作补充说明,也可谈及在解决问题时遇到的困难、理论和实践当中存在的不同,其他小组的学生可以提出疑问,教师此时一定要做好恰当的点评,这种将学生自评、学生互评与教师评价结合起来,互动过程中学生的能力可以得到很大的提升。
针对不同专业、不同层次的学生,从实用、系统、科学、操作性并兼顾专业特点和应用性等方面入手设计一套实践教学方案非常重要。由演示实验、预留作业、主题作业和综合运用等环节组成的“阶梯递进”课程实践教学体系,学生经过系统的编程练习、编程实践,达到课程教学的预期目标。从指导学习方法、实践教学内容和过程、实践教学体系、实践评价体系等方面得到专业系统的训练,学习效果非常明显。
演示实验:教师根据教学内容和进度选挑几个有代表性的实验,讲解并演示,在关键处可以人为设计一些错误,编译、链接、运行时查错、纠错。使学生能够比较快地学习程序调试的基本技巧和方法,解决调试过程遇到的基本问题,熟悉 C的编程环境。演示实验充分体现着教师教的技巧。
预留作业:紧密围绕授课内容,以掌握和巩固课堂教学内容为目的的课程实验,教师根据教学大纲要求及主要知识点布置一些容易完成的作业,偏重基本知识和能力训练,要求学生在规定时间内独立完成。学生提交作业后,及时给出反馈意见及建议,并可对容易混淆概念的题目反复练习,直到掌握理解为止。
主题作业:在预留作业完成的基础上,逐渐加大作业难度,布置一些运用灵活变化多的综合作业。学生通过主题作业的训练,逐步将语法知识和程序设计思想串成两条相互呼应的主线,以加深对C语言的全面理解和掌握,培养综合应用语言的能力和分析解决问题的能力,提高学生的编程水平。
综合运用:综合运用的训练,学生学习应用软件工程的方法和思想编写较大型的程序,以解决实际问题。在综合实训中主要采用基于问题的教学方法,让学生4-6人以组为单位 ,给出一组题目后任意选做1题或几题,然后围绕要解决的问题,进行分析和讨论研究,查阅相关的文献资料,确定技术路线和实施方案,组内分工,合作完成,编写程序,最后分组答辩,让班级学生参与评分。
在C语言程序课程教学中,既需要用科学的方法又要大胆的尝试,以启发式教学方式激发学生的学习兴趣、以探究式教学方式培养学生的创新精神、以任务引领教学方式提高学生的实践能力,教师在教与学的过程中尽最大努力运用科学的方法排除学生对程序编写的畏难情绪,以学生的实际和课程的特点为出发点,正确帮助学生跨越程序设计的障碍,引导学生不仅掌握一门程序设计语言的使用方法,更重要的是对编程思想的掌控;在完成教学工作的同时,着重培养学生的创新精神和实践动手能力,使学生在能力和综合素质方面有更大的提高。
[1]曾辉.计算机专业实践教学体系的构建[J].中国成人教育,2008,(2):41-42.
[2]魏银珍,陈苏红,吴健学.程序设计基础课程的教学改革与实践[J].中国科教创新导刊,2012,(23):65-66.
[3]王军英,马红梅.C语言程序设计课程教学方法研究[J].农业网络信息,2012,(7):142 -143.