陈华珍 夏国清
【摘要】针对电子信息类专业对C语言的要求,对C语言授课内容、教学策略、考核方式及教学活动等方面做了探索。实践证明,通过一系列的教学改革措施,学生的学习兴趣和实践动手能力都有大幅度提高,教学效果得到显著改善,为后续专业课程的学习奠定了良好的基础。
【关键词】C课程 教学改革 电子信息
【基金项目】2018年广州大学华软软件学院“一师一优课”项目:《C语言程序设计》。
【中图分类号】TN04-4 【文献标识码】A 【文章编号】2095-3089(2019)12-0044-02
引言
对于电子信息工程、自动化、智能科学与技术等专业的学生来说,C语言是他们从事单片机等嵌入式电子设计的必备知识。同时,C 语言软件编程能力的高低直接影响到嵌入式系统项目的开展和系统性能的好坏[1]。C语言作为嵌入式技术开发的基础语言,仅掌握通识教育中所讲授的部分是远远不够的,为了满足电子信息类专业对C语言的需求,有必要对C语言课程进行相应改革,强化学生的实践能力和创新能力,以适应信息类专业嵌入式开发人才培养的需要。
1.电子信息类专业对C语言的需求
C 语言具有很强的功能性和可移植性,因而在嵌入式系统开发中得到了最广泛的应用,很多底层的通信程序、驅动程等都是用C编写。C语言作为电子信息类专业基础课程,学生除具备C语言的基础知识和基本技能外,还需要重点掌握以下知识点:1)函数。作为模块化程序设计语言,C语言用函数实现模块化程序设计的思想,充分和生动的体现了分而治之和相互协作的理念。学好函数,对嵌入式系统开发等大型程序大有帮助。2)指针。指针是C语言的一个重要特色[2]。正确而灵活地运用它,可以实现许多复杂的操作,因能直接处理内存地址,使得C语言非常适合系统软件的开发。3)文件操作。“一切皆是文件”是Unix/Linux的基本哲学之一。对文件知识进行更深入的接触,有助于后续嵌入式等专业课的学习与掌握。4)位运算。位运算是C语言另一个重要特色。通过位运算的操作,可以直接对计算机硬件和物理地址访问,从而应用于系统软件。熟练掌握位运算的使用规则,是进行嵌入式系统软硬件开发的重要基础。
2.C语言课程的教学现状及问题
传统的理工科院校讲授C语言课程比较注重基础知识的掌握,同时因课时的限制或学生接受程度等原因,会将指针、位运算、文件等学生难以理解的部分进行删减,导致专业针对性不强,重点不突出。此外,重理论轻实践也是一大问题。传统的考核主要是以笔试为主,缺乏上机考试。这也或多或少导致了学生轻视上机环节,只会死记硬背,缺乏实践能力和编程能力。对课程考核进行合理改革势在必行。此外,容易出现“教”“学”衔接不紧密的问题。出现这个现象的原因是多方面的,一方面,没有录制上课视频导致课后看书看不懂,就算网上有优秀的视频,课程多课后活动丰富也导致学生难以坐在宿舍长时间学习;另一方面,学生自主上机实践的时间少。不能随时随地学习,遇到问题不能及时解决是“教”“学”衔接不紧密的主因。
3.教学改革实践
针对上述问题,观察往届学生学习进度、自学能力,笔者从教学重点的转移、辅导方式的调整、考核方法的创新几个方面着手来改进。
1)调整授课内容,适应专业特点
根据多年教学经验及教学讨论,笔者对授课内容进行调整,减少语法细节知识点的介绍,第一章的基础部分、第二章的顺序程序设计和第三章的选择结构设计都由原来的4学时调整到2学时,重点突出函数、数组、指针、文件及位运算等知识的讲解,其中指针部分由原来的4学时调整到6学时,位运算部分由原来的不讲改为4学时。通过课时的合理安排做到重难点突出,满足电子信息类专业对C语言的需求。
2)改进教学策略,提高学习兴趣
在讲授相应知识点的时候采用“项目驱动法”进行。通过在教学过程中引入“考勤系统”、“学生信息管理系统”等项目,让学生明白整个系统的运行过程及编程思路,为后面讲解具体理论奠定良好的基础;尤其在讲解位运算知识点时我们进行了教学改革,将《嵌入式原理与接口技术》课程的知识点提前搬到C课程教学中来,通过向学生演示“跑马灯”程序,如图1所示,边演示边分析代码,让学生直观的看到函数、指针、宏命令、位运算等知识点在整个项目中的软硬件设计中作用,加深这方面知识的理解,同时也极大地提高了学生学习的热情。
3)改革考核机制,强调实践环节
对于实践性比较强的课程,我们通过改革考核方式来强调上机实践的重要性,分别从考核成绩构成、考核内容、考核形式三个方面进行改革。考核成绩由平时成绩和期末考试成绩两部分构成。其中,平时成绩占30%,期末考试成绩占70%。平时成绩主要由考勤、上课表现及书面作业、实验及上机考试、课程设计四方面构成,分别占总成绩的10%、5%、10%和5%。此外,根据课程本身特点、性质,灵活运用闭卷、答辩、实践技能操作、撰写技能报告、提交作品多种考核方式。在考核内容的设定上,除了考核对以往知识的理解能力,还增加应用、创新知识的考核,在笔试部分增加拓展题,分值占总分的5%。
4)丰富“教”“学”活动,提高学习效率
不能随时随地学习,遇到问题不能及时解决是“教”“学”衔接不紧密的主因。笔者所在团队在实际教学过程中,采用线上线下的教学模式和辅导模式,从多个方面着手“教”与“学”的工作。线下,我们采用了“项目驱动法”展开教学,一对一的开展上机实验辅导;线上,我们开通了手机端的《C语言入门到精髓》公众号,在该公众号中,即有相应的学习视频供学生随时随地学习,也包括“C基础知识”讲解的推文和“每日一练”的作业,让学生及时了解掌握的情况。同时,我们会要求学生安装手机版C编译软件:C4droid,让学生可以在手机上随时随地轻松完成编程。《C语言入门到精通》公众号及C4droid运行界面如图2、图3所示。
结束语
通过5届学生的实践表明,通过合理安排授课内容,精心构建授课案例,线上线下多角度加大理论与实践环节的力度等多个改革实施,不仅有助于学生学习兴趣的激发,提高学生的动手能力和创新能力,也为学生参加各种专业竞赛奠定了良好的基础。
参考文献:
[1]丁凡,武楠楠.电子信息类专业《C语言程序设计》教学改革与实践[J].电脑知识与技术,2018(17):201-202.
[2]谭浩强.C语言程序设计[M].第4版.北京:清华大学出版社,2010.
作者简介:
陈华珍(1982-),女,江西樟树人,硕士,讲师,研究方向:网络计算、多传感器数据融合、智能科学。
夏国清(1983-),男,安徽潜山人,硕士,讲师,研究方向:智能控制,嵌入式系统和图像处理与模式识别。