C语言程序设计课程教学改革探讨

2018-12-18 10:16彭秀萍
电脑知识与技术 2018年26期
关键词:C语言教学改革教学方法

摘要:C语言程序设计课程是我校理工科非计算机专业的一门重要的必修课,传统教学方法以教师为主,学生为辅,重视理论学习,忽略实践能力培养,使学生考试成绩与实际应用能力脱节。文章分析了课程的教学现状,指出了存在的问题,从提高学生学习兴趣、改进课程教学方法和完善课程考核等方面探讨了C语言程序设计课程教学改革措施。

关键词:C语言;教学方法;教学改革

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2018)26-0094-02

Abstract:The C language programming course is an important required course for non-computer majors in science and engineering in our university,in traditional teaching method,teachers play the leading role,and they pay attention to theoretical study while neglect the practical capacity development,therefore studentsexam results are seriously miss matched with their practical application ability. This paper analyzes the current teaching situation of the course, points out the existing problems, and discusses the reform measures for the course of C language programming from the aspects of improving studentsinterest in learning, improving the teaching methods and improving the evaluation of the course.

Key words: C language; teaching method; teaching reform

1 C語言程序设计课程教学改革意义

C语言程序设计课程是我校自动化、通信工程、电工等理工科非计算机专业的公共必修课,它由理论教学和实验教学组成。学生通过课程学习,从而掌握程序设计基本思想及方法,并逐步培养动手实践能力、解决实际问题的能力和知识综合运用能力。更重要的是,掌握一门程序设计语言也是大学素质教育和计算机基础教育的一部分[1]。尽管我校C语言程序设计课程经过多次教学改革后取得了一些成绩,但仍然存在学生编程能力普遍不强,学生成绩不能真实反映其程序设计能力的情况,因此做好本门课程的教学改革具有重要的理论意义和现实意义。

2 C语言程序设计课程教学现状

2.1 学生学习兴趣不足

首先,C语言程序设计课程是我校理工科非计算机专业学生在大一第二学期开设的课程,由于该课程是新生接触的第一门编程语言,而且C语言本身有一定难度,其语法知识点多,概念抽象,逻辑性强,且规则灵活,但容易出错,学生容易产生挫败感。其次部分学生对该课程认识存在偏差,认为该课程既不是专业核心课程,也不是当下流行的编程语言,认为自己将来不会从事编程方面的工作,所以对该课程不够重视,产生得过且过的消极思想。

2.2 理论课程教学方式落后

目前我校C语言程序设计课程的理论教学主要采用多媒体加黑板的教学模式。教师课前准备课件资料,将课程知识点以文字、图表、图片或者动画的方式融入到课件中,教师上课时以PPT播放的形式讲解教学内容,遇到流程图的画法或者程序执行过程等内容的解析时再在黑板上进行板书并讲解。这样上课优点是授课内容丰富,节省板书时间,但是这种以教师为主,学生为辅的满堂灌的上课方式,由于教学内容多,教学进度快,加上C语言知识点抽象、复杂,学生容易对知识点理解不透从而产生厌学情绪。

2.3 实验教学不利于学生动手能力提高

我校非计算机专业的C语言程序设计课程是大班教学,人数少则60,多则90多甚至上百人。实验课上,通常是教师提前将上机题目及要求发给学生,学生自己上机编写和调试代码,实验结束后按照要求提交作业[2]。在上机过程中,若碰到问题的学生较多,而任课教师又不能及时在课堂上为学生答疑解惑,势必会造成部分自控能力较差的学生上网、打游戏或者拷贝作业等不良情况,久而久之这部分学生就会丧失对课程的学习兴趣。

2.4 课程考核方式不合理

我校C程序设计课程期末成绩评定标准为:平时成绩占20%,实验成绩占20%,期末考试占60%,平时成绩包括考勤及上课表现,实验成绩指提交的实验报告成绩,所以学生期末突击复习,背诵书上知识点也能过关,这种成绩评定方式重理论,轻实践,不注重过程考核,不能客观反映学生的编程能力和实际动手能力。

3 C语言程序设计课程教学改革

基于本人多年的C语言教学实践经验,可以从以下几个方面对课程教学进行改革。

3.1 让学生明白课程学习目标,以实例形式激发学生学习兴趣

在第一次课上,结合学生专业阐明C语言的重要性和实用性,例如:在给自动化专业学生上课时,可以告诉学生后续重要专业课程单片机的开发语言就是以C语言和汇编语言为主,让学生明白C语言虽然是公共必修课,但却是重要的前导课程。

兴趣是推动学习的动力,第一堂课尤其重要,所以第一次课向学生介绍完C语言的重要性后,为了激发学生学习兴趣,首先演示几个用C语言编写的小游戏,如俄罗斯方块,五子棋等游戏,让学生感受C语言的魅力所在,然后再演示几个用C语言编写的信息管理系统,如学生信息管理系统,通讯录管理系统等,让学生了解到C语言也能干大事。

3.2 灵活应用多种教学方式

随着移动通信、云计算和互联网技术的飞速发展,教学方法、教学手段的信息化是当前教育事业发展的一大趋势,传统的教学方式已不能适应当前教学环境,新的教学方法也不断涌现,主要有以下几种:

1) 翻转课堂是教师提前创建视频,学生在家中或课外自由观看视频,在课堂上师生共同交流并完成作业的一种教学形态[3]。

2) 慕课(MOOC:Massive Open Online Course)是一种大规模开放性在线课程[4],其主要特点是:教师在网络中进行教学,学生可以突破传统课程时间、空间和人数的限制,依托互联网,在家就可以进行学习。

3) 雨课堂是2016年6月清华大学推出的智能教学工具,它将PPT、MOOC、手机微信融为一体。课外:教师可以将带有MOOC视频、习题、语音的课件推送到学生手机,学生提前预习;课堂上学生凭借微信加入教师班级,教师实时答题、与学生进行互动交流[5]。

新的教学模式的出现,弥补了传统教学方式的不足,也预示着高校教育信息化进入了一个新的发展阶段。目前我校也大力支持MOOC与翻转课堂的建设,我校计算机专业的C语言程序实践课程在2014年和2015年分别进行了MOOC教学和翻转课堂教学,学生逐渐养成了自主学习、协作学习和探究式学习的良好习惯,且学生的编程能力和程序调试能力也明显提高。学院课程团队还开发了网络在线学习平台,该平台集教学资料发布、MOOC视频、新闻、公告、作业管理、BBS交流、讨论互动等功能于一体,能及时解决学生的问题,从而改進教学[6]。我院教学团队已有了实现MOOC教学和翻转课堂教学的经验和平台,所以我校非计算机专业的C语言程序课程也具有实行MOOC教学和翻转课堂教学的可行性,针对学院学生具体情况,建议在明年新生中实行翻转课堂教学。

3.3 重视实验教学中学生动手能力的培养

课堂是教育教学的主阵地,为了在课堂上能及时解决学生在编程中碰到的问题,让学生“把头抬起来、坐到前排来、提出问题来”,应该将C语言程序课程教学改为小班教学,人数不超过40人,这样才能有利于教师在课堂上与学生进行互动交流,及时为学生答疑解惑。同时教师还可以利用教师机安装的兰创多媒体教学软件,随时监控学生的学习情况,对于学生碰到的共性问题,教师可以控制学生屏幕,在教师机上进行操作讲解,学生坐在自己的电脑前可以清楚地看见教师的每一步操作。

另外,为了全面培养学生的动手能力,从2015级学生开始,实行电子实验报告。学院引进万维全自动网络考试系统,系统题型有单选、程序填空、程序改错、程序设计,做实验报告前,教师设置好题型、题量、试题难度、报告套数及实验时间等参数,系统随机生成实验报告,实验开始时学生随机抽取报告。学生在做程序填空、程序改错、程序设计题时,系统自动打开编译器,学生在调试程序过程中,根据系统提示信息进行操作,提交报告后系统自动判分,如果程序编译、链接、运行结果不完全正确,则题目不能得满分。在平时实验和练习时,教师可以开放系统报告分析功能,学生提交报告后能及时查看得分及出错的地方和原因,从而巩固所学知识,提高学习兴趣。教师也可以通过系统统计功能,查看学生成绩分布及试题完成情况,从而为理论教学提供依据。在课程教学中,教师可以在每一章内容结束时,在实验教学中利用该系统对所学内容进行测试,并且测试成绩计入实验成绩,让学生在教学过程中端正学习态度,注重过程考核,重视编程能力培养。

3.4 完善课程考核方式,全面考查学生编程能力,加强实践考查,弱化理论考试[6]

建议将C程序课程成绩评定标准更改为:平时成绩占20%,实验成绩占40%,期末考试占40%,增加实验成绩所占比重,将电子实验报告成绩和每章结束后的测试成绩纳入实验成绩考核,加强学生实践动手能力培养,注重过程考核,在程序设计、数组、函数、指针、结构体和文件每一章内容结束后要求学生及时完成编程题目的作业并提交,并且将上机作业完成情况全面纳入平时成绩考核。从2015级学生开始,期末考试也用万维考试系统进行机考,这种考核方式,学生不需要死记硬背,从近几年使用系统情况来看,学生课余学习时间明显增加,编程能力和程序调试能力有所提高。

4 总结

C语言程序设计是一门实践性很强的课程,而好的教学方式可以给教学插上智慧的翅膀,使教师教学更精准,学生学习更便捷。本文对我校非计算机专业C语言程序设计课程在教学中存在的问题进行了探讨,并根据教学实践经验,对这些问题提出了解决的方法和建议。为了提高课堂教学质量,培养更多优秀的应用型人才,教师还需对课程教学改革不断探索、归纳、总结和完善。

参考文献:

[1] 董智勇.有关C语言教学方法优化的探讨[J].电子制作,2015(4):136:-137.

[2] 彭秀萍,刘雁.C语言程序设计课程实验教学改革探讨[J].教育现代化,2017,4(45):112:113.

[3] 孙延靖,王俊丽.《C语言程序设计》翻转课堂教学改革与实践[J].价值工程,2017(8):216-217.

[4] 柳晶娜.MOOC的发展与高等教育的变革[D].湖南:湖南师范大学,2016.

[5] 韦萍萍,崔忠伟.C语言程序设计课程教学思考[J].计算机时代,2017(9):64-66.

[6] 叶安胜,周晓清,鄢涛,等.基于课程群的C语言综合改革实践与探索[J].计算机教育,2015(24):107-111.

[通联编辑:唐一东]

猜你喜欢
C语言教学改革教学方法
基于Visual Studio Code的C语言程序设计实践教学探索
教学方法与知识类型的适宜
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
论子函数在C语言数据格式输出中的应用
我的教学方法