1、C语言教学改革研究与探索 摘要:针对我院自动化专业学生的学习现状,分析了C语言教学过程中存在的实际问题,通过调整教学内容、改进教学方法、加强实践教学、优化考核体系等一系列措施对C语言课程进行教学改革,取得了较好的教学效果。 关键词:C语言;自动化专业;模块化教学;对分课堂;实践教学 1引言 C语言是一种典型的结构化程序设计语言,它既具有高级语言语法精炼、类型丰富、表达能力强、适于模块化编程等优点,又具有低级语言高效、易控制计算机硬件等特点1。目前,国内高校普遍将其作为理工科入门级的程序设计公共课程,除计算机专业以外,其他专业均把它作为通识课程来实施教学。然而,该课程的培养目标应该是培养学生能够
2、利用计算机处理问题的思维方式,启发学生主动将计算机引入到所学专业的学习中去2。因此,如何结合理工科专业自身特点进行“C语言程序设计”课程教学,使之既遵循课程教学的基本原则和方法,又能融入到专业学习中,是目前C语言课程教学改革的热点。对于自动化专业来说,学生部分专业课程的学习掌握和工作中的实践应用都离不开C语言,如单片机和嵌入式系统等智能芯片就是以C语言为基础进行设计开发的。自动化专业C语言的课程讲授,要更加注重学生C语言编程应用能力的培养,充分发挥其在自动化专业课程体系中应有的作用。 2课程教学中存在的问题 在自动化专业“C语言程序设计”课程的教学过程中,由于课程自身特点、专业人才培养体系、学
3、生知识结构差异等多种原因,目前的教学工作面临着以下问题:2.1授课内容与专业课程衔接不紧密。目前,在大多数学校的非计算机专业中,C语言的教学与专业课的学习是采用完全割离的方式进行的,一般在第二学期开设C语言课程,到第四个学期才开始陆续进入专业课的学习。在传统C语言教学中,通常以“VisualC+6.0”软件为编译环境,介绍C语言的基本数据类型与表达式、控制语句、数组、函数等基础知识,此外,还会对指针、结构体、共用体、甚至文件进行详细地讲解3。在整个教学过程中过于注重语法、语句等细节的讲授,缺少对算法设计的练习,学生课堂参与度较低,以至于在学完整个课程之后,学生也不知道C语言在其专业中的具体用途
4、,学完后很快就会忘记。这样会使得学生在学习过程中没有明确的学习目的,从而逐渐失去学习兴趣,不利于学生分析和解决具体实际问题能力的培养。2.2没有充分发挥其在自动化专业课程体系中的作用。作为一门实践性、应用性较强的课程,C语言能否学好将直接关系到自动化专业学生后期专业课的学习效果。通过C语言的学习,应该培养学生灵活运用算法思想来解决专业问题的能力,为学生进一步学习“单片机”、“嵌入式系统”等其他专业课程打下坚实的基础。但是,目前大部分高校对于C语言的定位只局限于普及计算机基础知识,授课的深度和广度不足,其价值仅仅体现在等级考试上,没有充分发挥其在自动化专业课程体系中的应有的作用。2.3实验实践教
5、学效果不理想。C语言是大学入门级的程序设计语言,但是对于应用型本科院校而言,学生的基础相对来说比较薄弱,其前期的知识储备只有少量的信息技术知识,但C语言中却会涉及很多的概念和复杂的语法知识。学生普遍反映有些概念比较抽象,难以理解。所以,在教学过程中一定要将理论教学与实践教学相结合,但大部分院校在开设课程的时候往往是先讲理论后进行实践教学。这样,学生所学习的理论知识得不到及时的消化吸收,理论教学与实践教学相脱节,达不到预期的教学效果。 3教学改革实践 针对以上存在的问题,我院计算机和自动化两个专业教研室共同制定了一系列的教改措施,并在实施过程中针对具体出现的问题及时进行调整。3.1调整课程结构,
6、使教学向专业靠拢。从培养学生利用计算机解决实际操作问题的能力出发,打破传统C语言的课程结构,以“理论够用、重在实践”为宗旨,以任务驱动为导向,将课程教学内容划分为5大模块,模块化教学内容如图1所示。每个模块包含不同的任务,完成不同能力的培养目标。整个课程以学生为主体来展开,既避免枯燥的理论讲解,又能将具体知识与后续的专业课相结合,使得整个教学过程逐步向专业靠拢。单片机等芯片开发设计是自动化专业学生的重点学习内容之一,因此在C语言的授课过程中适当的增加简单的单片机开发案例,由浅入深,引导学生逐步了解自动化专业到底可以干什么。例如,在学习完循环结构之后,给学生演示用C语言来控制实现的跑马灯程序,这
7、样可以让学生清楚的了解循环程序在实际案例中是如何应用的。3.2改进教学方法,激发学生学习兴趣。C语言是一种面向过程的高级语言,在理论讲解时,其语法规则复杂繁琐,而在上机实验时,抽象的算法程序也很难激发学生的学习兴趣。针对这些特点,根据教学模块内容不同、授课环境不同、教学对象不同设置不同的教学方法。3.2.1启发式教学法启发式教学是在讲授新概念、新的语法知识的时候,通过提问的方式来引入的一种教学方法4。比如,在讲授变量定义这一知识点时,教师先进行提问:我们班一共有多少个人?人数是用什么数来表示的?学生一般会回答人数是用整数来表示的。接下来教师进一步进行提问:那么在编写程序的时候,怎么体现出人数是
8、一个整数呢?这个时候学生会回答:我们可以告诉计算机,用整数来表示人数。顺理成章的老师的第三个问题就会出来:我们怎么告诉计算机呢?这样很自然的就可以引出变量定义这个知识点。通过这种启发式教学,可以促使学生主动地进行思考,建立起所学内容与解决实际问题之间的联系,当再次遇到类似问题的时候可以很快的得到解决方法,真正做到即学即用,达到学以致用的教学目的。3.2.2案例教学法通过启发式教学,学生对于基本语法知识有了一定了解之后,再让案例教学贯穿于整个课堂教学之中。创建一种“提出问题分析问题解决问题”的课堂教学模式,围绕每个模块中精心设计的案例展开教学,这样不但可以激发学生的学习兴趣,还能够在解决问题的过
9、程中增强学生的自信心与成就感。3.2.3对分教学法为了提高学生的学习积极性,使学生由被动地跟着老师的思维走,变成积极主动地和老师一起思考,还可以采用对分教学法。对分教学是一种新的课堂教学模式,其核心理念为:教师将课堂时间一分为二,一半时间由教师进行整体的讲授,另一半时间则分配给学生,让学生以讨论的形式进行学习5。采用对分教学法时,整个教学过程被分为“讲授、内化吸收、讨论”三个阶段来完成6。教师在课堂上只对内容框架、基本概念、重难点进行整体的讲解;接下来学生利用为期一周的时间,通过阅读课本、查阅资料等方式,对教师所讲授的内容进行内化吸收;在下次上课的时候,对于这一周的学习内容,学生在课堂上分小组
10、进行讨论,并以小组为单位对讨论结果进行总结,最后由老师进行点评。3.3加强实践教学,理论与实践紧密结合。C语言是一门实践性较强的课程,学生的编程能力必须要通过不断的上机实践才能得到提高。但是,从目前的实验课来看,实验课效果并不理想,学生普遍认为编程无从下手,整个实验课课堂效率较低。为了解决这一问题,我们在上机实践的教学过程中采取以下措施:3.3.1合理设置实验内容。针对上述模块中所涉及的知识点,精心设计实验内容,要求学生根据所学的知识进行程序设计。在设计实验内容的时候,还要考虑到学生的理解水平和接受知识能力的差异,将每次的实验内容分为必做实验和选做实验。必做实验是每个学生必须要完成的内容,对于
11、知识掌握较好的学生,则鼓励他们尝试去完成选做实验。3.3.2理论授课进机房。传统教学中,通常是每周先在教室进行2次理论授课,再在机房进行1次上机实践。这种“先理论后实践”的教学方式会导致理论与实践相脱节,对于所学的知识点学生无法在第一时间进行上机实践。在本次教学改革中,我们尝试将理论课也放在机房进行授课,在上课的过程中,每个学生一台电脑,教师每讲完一个知识点后,学生立马进行编程实践。这种理论与实践相融合的方式,不仅能够帮助学生更好地去理解抽象的语法知识,同时也能够增强学生学习C语言的学习兴趣。3.3.3教学软件辅助实践教学。在实践教学中,因为每个学生都拥有电脑,可能会出现学生利用电脑进行课程学
12、习以外的行为,因此课堂纪律的维持是至关重要的,教师必须要做好对学生机的控制。这里,我院采用的是长城电子教室系统,通过该系统教师可以对每一个学生的电脑进行严格的监控。在每次上课之前,教师通过该系统对学生进行电子点名,检查学生的出勤情况。除此之外,教师还可以利用该系统进行广播教学,对于一些较复杂的程序,可以利用广播教学教会学生跟踪调试程序的方法,使学生在以后的编程过程中,可以用同样的方法来调试自己的程序,及时发现程序中的逻辑问题并解决问题。3.4优化课程考核方式,完善考核评价体系。传统的C语言考核是闭卷笔试的方式,这样会导致学生重理论轻实践,很多学生期末考试虽然得分很高,但是编程能力却一般。为了避
13、免此类现象的出现,在本次教改中,我们逐步加重过程考核的比重,降低期末卷面成绩的比重。学生最终的成绩由卷面成绩和过程考核成绩两部分组成,期末卷面成绩占50%,过程考核成绩占50%。其中过程考核成绩又分为两部分,一部分由每次上机实践过程中学生的出勤、上机表现和实践报告组成,占过程考核的30%;另一部分由综合实践组成,占过程考核的70%。在综合实践中,将学生进行分组,教师提供若干个项目题目供题目选择。学生由3-5人组成一个项目小组,各自分工明确,小组合作完成程序设计、代码编写、程序调试,撰写综合报告,并制作PPT进行综合答辩,最后根据各个环节的完成情况由教师给出综合实践的成绩。通过这种综合实践的方式
14、,能够把理论知识的学习和动手实践能力的培养有效结合起来,最大程度挖掘出学生的创造力,让学生具有分析和解决实际问题的能力。 4结语 自动化专业C语言课程的教学改革,在教授学生如何学习编程、培养学生逻辑思维能力的过程中,不断尝试新的教学方法,并将C语言的教学与自动化专业课程体系相结合。通过连续两年对我院自动化专业学生的教学改革试点情况来看,学生的学习积极性和对课堂教学的满意度明显得到了提高,学习效果显著增强,后续专业课的学习效果也得到了较为明显的改善。接下来,我们将根据实际教学情况,对本文提出的教改措施进行进一步的完善,形成一套适用于自动化专业的、并且具有良好教学效果的教学方案。 参考文献: 1谭
15、浩强.C程序设计M.3版.北京:清华大学出版社,2009 2陈丽敏,邵长友.基于自动化专业C语言课程教学改革的研究J.中国电力教育,2013(31):76. 3胡艳华.独立学院非计算机专业C语言程序设计教改简论J计算机教育,2011(20):49-52 4余炳辉,孙娟C语言课程教改浅论J学术论坛,2009(27):222 5王飞飞,张素真“对分”在C语言实训教学中的探索与应用J科技资讯,2016(29):109-111. 6张学新.对分课堂:大学课堂教学改革的新探索J复旦教育论坛,2014,12(5):5-10 第 8 页 共 8 页免责声明:图文来源网络征集,版权归原作者所有。若侵犯了您的合法权益,请作者持权属证明与本站联系,我们将及时更正、删除!谢谢!