王鑫 李万军
摘要:高等职业教育的目的是培养具有专业技术能力的应用型人才。高职教育C语言课程教学应顺应电子信息产业的变化,针对C语言内容难度高、学生兴趣不高、不具有编程实际能力等问题。对教学内容进行适当取舍,以C语言硬件教学平台为核心,增加平时及小学期的实践教学比例,同时依托学科专业比赛和教师科研课题进行深化实践教学环节,逐步提升学生对C语言的学习兴趣和主动性,为电子信息产业提供匹配人才。
關键词:高职教育;电子信息;C语言课程;教学改革
高职教育主要是培养技术型、应用型的高级专门人才,为所在地区及国家培养实用型人才。培养的人才素质必须满足人才市场的需求,因此,对学生应掌握的实践动手能力和应用技能提出了明确的要求,
电子信息产业是我国经济发展的支柱产业,未来发展的趋势有:知识的获取越来越便捷和廉价;网络时代需要越来越多的专才;国产的芯片和软件在不久的将来会得到大面积使用;人工智能的发展会冲击传统产业,包括电子产业;以解决生存性问题的电子产品为主的市场将向以解决生活性问题的电子产品为主的市场转化。
新一代电子信息产业的变化,对高职院校电子信息专业的人才培养和教学活动提出了挑战。C语言是电子信息类专业的一门专业基础课程。无论是后续各种专业课,如单片机原理与应用、嵌入式系统与应用等,还是参加的各种实践类较强的学生比赛,或是在未来的工作中都要求能运用C 语言进行编程,因此,熟练掌握和运用 C 语言有着非常重要的作用,并且会大大提高就业的竞争力。
一、高职C语言课程教学存在的问题
(一)通用教材,没有针对性
目前学校使用的传统教材以及市面上常见教材在C语言学习内容的编排上一般都包括C语言所学的所有内容,其中很多不常用的内容却占据了大量的篇幅,这部分内容可以大胆舍去,化繁为简。同时,文字描述过于书面语言,叙述繁琐,详略不当,排版过于密集,学生翻开书本就失去了阅读兴趣。
教材中使用的例题多偏向于“理论型”设计题目,过于体现理论算法及编程语法,却忽略了例题与实践应用及其他相关专业的衔接。
教材内容编制过于理论化,缺乏有趣性,一旦有地方看不懂,就容易产生畏难情绪,又因课程本身章节连贯性较强,一旦学习中断,就不易学习下去,对后续内容学习造成很大阻碍。
(二)课程内容多、难度大,教学安排不合理
C语言程序设计课程是一门实践性很强的课程,且跟学生之前学过的课程完全不同,是一个全新的领域,是一门需要重新理解的课程。学生除了学习一定编程语法之外,实际编程能力是考核此门课程学习效果的最佳考核指标。但是往往学生学习结束,甚至通过了一些计算机等级考试,但实际上机编程调试能力却很差,而这恰恰是企业最重视,日后工作中最需要的。
出现这样的现象原因:一是课程内容太多,课程大纲中涉及课程内容的往往贪多,追求大而全,教学过程过度强调概念、知识,且与实际应用需求脱离,以致于课程内容枯燥,不易理解,加之学生起点低,渐渐丧失学习积极性;二是教学课时安排不合理,理论课时安排比较多,而实验实训课时比较少,并且理论课程与上机课程安排脱节,缺乏衔接,很多时候是完全独立开来,即上完理论课,由于机房等硬件条件限制,不能马上安排相应上机训练。
(三)教学方法和考核手段陈旧
当前面对的学生已经是00后,他们身处信息智能时代,每天各种新奇事物出现,随时随地智能手机不离手,但是教师上课的教学方法、教学模式和课程评价手段还停留和维持在十年前的状态,必然造成课程无法激发学生学习兴趣,无法调动学生学习积极性。有的学生逃课,有的在课堂却经常走神,注意力不集中,课堂气氛差,学习不积极。PPT内容陈旧,教师照本宣科的方式讲授,教学中强调程序设计的语法知识和细节,而不是问题解决的思路,还是以提问等方式与学生互动,学生感觉内容枯燥无味。最终考核仍然以卷面考试形式考查学习效果。教学方法和考核手段对于此类实践性课程不合适,且已与时代脱节。
如何提高C语言课程教学质量,使学生能够在工程实践中学以致用,成为当前C语言课程教学的重点。
二、C语言教学改革路径
(一)选择合适的教材
高职教育坚持以“够用”“必需”为原则,仔细甄别各种教材, 选择内容程度适中、实践性较强的教材,或者可以由教师编写针对高职学生的教材及实验手册。以高职教育职业化为宗旨,以提高学生实际动手操作能力、解决问题能力和未来就业竞争力为出发点,理论与实践相结合,科学合理、深入浅出地设置教材内容。
教材语言简洁,理论知识描述简洁明了,通俗易懂,避免大段枯燥陈述性语言。多用表格、图例代替文字内容,直观、清晰。学生对知识点一目了然,避免阅读大段文字。
例题和实践尽量做到贴近生活及专业,甚至可以设计一些小项目的题目,内容步骤详细,一步步引导学生能独立完成,便于复现例题,在引导下完成编程及调试过程,潜移默化地培养学生在头脑中建立问题解决算法的思维模式。多个小项目是完整项目的分解,分解题目完成后可以合成一个与实际相结合的项目。每个例题代码右侧给出注释,对应相应知识点,让学生直观理解和认识到某种语句应用场合。
(二)修改教学大纲
在教学内容上,对于难度大且不实用、不常用的内容可进行适当删减,主要学习基础语句,控制结构、数组、函数、指针、结构体等基本内容,每周3-4学时,可在大一学习。
教学过程以学生为主题,适时适当增加课上有趣点。上课过程可借助先进教学过程管理APP,如动态二维码签到,线上PPT穿插及时考核题目,根据编程结果发放红包等手段,增加教学趣味性,激发学生学习兴趣。
(三)改变教学考核
考核是教学工作的重要环节,是评价教学效果的主要方法,考核方式改革是教学改革的重要组成部分,为了充分调动学生学习的积极性、主动性,从而提高C语言程序设计课的教学质量。从事程序设计工作的人都清楚,编写一个程序有时很容易,但要让它能够正确运行确不是一件容易的事情,所以理论考试的缺陷是显而易见的,只有通过上机操作才能同时考核编制和调试程序的能力。改变教学考核环节,理论考试与实际程序设计调试相结合,注重考查学生的实际编程能力。
(四)构建编程思维,突出实践环节
学生面对实际问题,表现出无从下手,不会将实际问题转换成程序设计思路的现象,这也是学习过程中遇到的很大困难。在授课过程中,培养学生算法的构建和程序流程图的使用,为理清程序逻辑设计过程,使用程序流程图,并且将这种培养贯穿整个教学与实验实训过程中。
针对学校当前的课时安排,要进一步科学规划与改进,适当调节理论与实验学时比例。由于 C 语言程序设计课程是实操性较强的课程,课程的设置最终目的也是为了实际应用,因此,学校应在保证理论教学正常进行的前提下,尽可能增加该课程的实验课时。另外,学校还可以开设一些与 C 语言应用相关的选修课程,开放学校机房和相关实验室,为对此课程有兴趣的学生提供更多的学习平台。
同时,为了增加实践教学比例,例如可以效仿德国高等职业教育中采用的小学期制,压缩传统一学期的理论学习时间,之后安排1-2个月的小学期时间,在此期间,进行C语言实践教学,以任务为驱动,进行完整性的C语言程序设计的学习。目的是构建“强能力”“重应用”的课程体系,使学生的动手能力和应用技能得到较大的提升。
(五)开发及依托C语言硬件教学平台
C语言课程是一门实践性很强的课程,在传统学习过程中,往往只注重软件程序编程,并未依托硬件进行实践性学习。后续单片机及嵌入式课程的学习中C语言编程能力非常重要,但距离C语言学习往往都过了很长时间,编程能力严重不足。同时,为了提高学生学习兴趣,使程序实例运行结果能够更直观、更丰富的形式展示出来,开发设计以单片机为核心的C语言硬件教学平台。
C语言硬件教学平台-单片机开发板设计模块框图如图1所示。包括数码管显示模块,LCD显示模块,LED发光二极管,温度采集传感器模块,扩展IO口,串口下载通信模块,以及电源模块。同时对外设的驱动程序进行重新包装,给学生提供简单、易调用的驱动函数。
結合C语言教学内容和此硬件平台,可以将传统C语言实例直观显示。例如可以设计流水灯的顺序程序,控制硬件平台上多个LED灯的显示效果;设计一个“数字电子钟”,以此为任务讲授多重循环,下载到硬件平台上运行,平台上的LCD显示屏或数码管可实时显示数字钟的计时结果;还可以设计温度控制程序,根据DS18B20温度传感器采集的温度数值判断是否在正常范围内,若超过或低于此范围,可以亮起相应LED指示灯指示,以此实例讲授选择结构。
(六)依托学生专业比赛和科研课题
制定一系列学生选拔及培养机制,让学生参加在全国职业技能大赛、全国大学生电子设计竞赛等专业比赛。借助专业竞赛的契机,可形成“课程-实践-竞赛”循环促进的可持续发展实践教学体系,通过赛前的准备和集训,可有效检验和巩固实践效果,在比赛过程中获得更大的提高,并将这种收获反哺到课程学习中,继续弥补和深化所学内容,完成螺旋式上升。
同时,由于从事C语言教学的教师大都来自科研一线,可以在教学过程中将实践教学与教师的科研课题紧密结合。电子信息类专业教师的科研课题很多都是基于单片机、嵌入式系统进行开发和应用,这其中涉及到大量C语言程序设计内容,可以将此部分任务作为学生的课程设计题目。学生通过学习不仅可以将所学C语言编程知识融会贯通,并且在有实际意义的课题开展过程中锻炼学生的编程思维和实践动手能力。
三、结语
当前,随着世界经济形势变化和新技术的发展,产业结构发生变化,新一代电子信息制造业及其相关产业急需适应产业发展、符合岗位要求的技术人才。高等职业教育应该根据产业环境变化紧随时代步伐进行教学改革。以学生为主体,根据学生特点有针对性地设计、改变或组合课程内容及教学方式,注重硬件平台的选取,推进教学改革。
参考文献:
[1] 孙青锋,崔世钢,张元,等.新硬件时代背景下高职院校电子信息类专业建设思考[J].吉林工程技术师范学院学报,2018,34(5):57-60.
[2] 王建华,韩红亮,李忠红.医疗设备专业单片机“一体化”教学改革实践[J].高等职业教育,2018,2(3):69-71.
[3] 罗卫敏,王令.符合工程教育认证标准的C语言课程教学改革[J].计算机时代,2017,(2):79-81.
[4] 叶建龙.任务驱动法在C语言教学中的应用[J].廊坊师范学院学报(自然科学版),2010,10(3):132-136.