李冰
【摘 要】C语言课程教学涉及范围越来越广,对于汽车类非计算机专业的C语言课程教学,也是非常重要的一项技术工具课程。下面本文就对非计算机专业下汽车类C语言课程教学现状及改进方法展开探讨。
【关键词】汽车类;C语言;课程教学;教学改革
在应用型本科汽车专业的教学体系中,对编程能力的需求越来越明显,尤其是随着新型汽车产业的发展,电动汽车和无人驾驶已经是研究热门,传统汽车产业对从业人员的能力需求主要在机械方面,对具有编程能力的人员的需求主要表现在仪表等电子模块,相对于新型汽车产业,对从业人员的能力要求越来越偏向于电子和编程等。《C语言程序设计》课程又是一门理论性强、知识点多、理解困难的课程,由于相关专业基础课程少之又少,学习起来困难重重,对于以上问题,作为汽车专业的任课教师,应该抓住问题,积极寻找教学方法,提升学生的学习热情,提高教学成果。
一、C语言编程技术的特点
应用C语言进行软件编辑的过程中,多采取模块化思想,即先对程序模块进行分解成为小模块,待小模块设计完整后,将这些模块有机结合成为完善的大模块;其次,C语言程序函数库功能十分强大,在完整的函数库的支撑下,相关函数不需要重新定义便可直接使用,为此极大简化了编译程序,出错率也显著降低;再次,C语言中指针作为一种赋值操作,可以灵活地实现存储分配,根据变量地址的描述实施动态的指针选择;最后,C语言能够采用多种不同的表达方式,具备广泛的移植性能,有较大自由度,使用范围相对广泛,基本不需要做任何修正,就可以直接进行运算[1]。
二、C语言教学中存在的问题
(一)教学目标没有体现专业性
非计算机专业的C语言程序设计课程作为通识教育课程开设,课程编码、开课学期相同,甚至不同专业采用的教学大纲也相同,都以培养学生程序设计思维,编写简短程序,解决简单问题为目的,一定程度上提高了学生应用计算机解决问题的能力,但缺乏与学生所在专业的紧密衔接,没有考虑专业特点,没有根据专业特点设定不同教学目标。
(二)学生不能将C语言知识与专业结合的认知
C语言程序设计课程作为通识教育课程開设,使得学生对其重要性认识不够,很多学生以通过国家等级考试为目的,被动地学习,严重影响了学习效果。况且大部分学生转去参加较易通过的office模块考试,更加不注重C语言程序设计课程的学习。在对学院电子信息科学与技术专业100名学生随机调查发现,仅有不到20%的同学认为C语言对所学专业有帮助。
(三)基础课程少,专业结合类教材亦少。
对于我系汽车专业学生而言,他们的专业基础课程中与C语言学习相关的课程少之又少,导致他们没有良好的学习基础。而在教学过程中,任课教师使用的教材与计算机系的教材一般相同,导致教学过程中C语言的学习与专业脱节,学生学来不知道怎么用,用到哪,而教师在教的过程中布置如何寻找与专业相关的案例,市场上C语言与汽车专业相结合的教材少之又少,这也给教师备课造成了一定困难。
(四)教学进度编排有失专业性
通识教育课程的编排与专业课程的编排是分开进行的,这可能会导致部分专业的专业课程教学进度编排与通识教育课程编排出现矛盾,比如汽车类专业将专业课程数据结构和公共课程C语言程序设计开在同一学期,导致数据结构课程所需的C语言相关知识(结构体、指针等)缺失,影响专业课程教学;又比如电子科学与技术专业的单片机课程与C语言程序设计课程开课学期间隔太长,导致专业课教学时,学生C语言知识已经忘记大半。
三、汽车类专业C语言课程教学方法改革策略
(一)强化指针功能的最佳化利用
在应用C语言编译的过程中,应该对其实现初始化设置,从而定义指针类型及操作内存。由于指针使用率极高,一旦指针变量初始化延误势必会造成死机以及其他严重的后果。为此C语言编程要强化指针功能的最佳化利用,做好判断指针的变量类型,同时注意区别指标变量以及对指针数组的处理[2]。
(二)教学进度编排专业化
专业教学进度与公共课程开课学期要进行充分沟通,合理规划,保证先基础,后专业,可以考虑将C语言程序设计课程作为部分非计算机专业的专业基础课开设(例如汽车维修专业、信息与计算科学专业等),这样就可以从专业人才培养的整体角度去安排课程,从而保证不会以出现专业课程基础知识缺失的方式进行专业课程教学,也不会出现课程开设学期间隔过长的情况,进而达到基础教学服务专业目的。
(三)整合课程资源,内容采用模块化任务教学法
针对C语言课程内容抽象复杂、知识点凌乱、难以理解等特点,教师在课程内容选取上采用划分知识模块的方式,将程序设计思想作为主线贯穿其中。在备课时,先设计若干个与模块教学内容相一致、难度适中、功能相对完整且不完全独立的程序设计任务。在划分知识模块时要考虑各个模块之间的联系,根据主线内容将各个模块串联起来,根据内容的难易程度设计相对应的训练任务,避免任务难度太难或者太容易。这样才能让不同层次的学生达到相应的训练的目的,不会因任务太难导致基础差的学生失去学习的动力,也不让优等生失去锻炼的意义。
(四)课后学习-开放实验
C语言是一门实践性很强的课程,仅靠课堂上有限的时间是远远不够的,另外对于相对较大的实践项目,仅凭实验上机时间是根本无法完成的。因此将上机实验课程只进行算法讲解和程序问题排除,将编写代码的时间主要安排在课后的开放性实验课程中,在开放实验时间内,学生编写代码并通过网络资源解决一些常见的错误,将自己无法解决的问题进行整理归纳,在同学之间进行讨论交流后,在上课时间由教师对学生存在的共性问题和疑难问题进行集中的讲解,以提高实验实践的效率[3]。
(五)采用新的教学手段,提高学生课堂学习效率
第一,问题启发,趣闻引导。在教学过程中,教师可以使用问题启发式教学,在C语言中,鸡兔同笼、冒泡排序、百钱白鸡、随机点名等案例,都结合了实际生活,能激发学生的兴趣。在第一堂课上,教师可以根据课程安排提出若干问题,在课程讲授过程中,教师带领学生不断去解决第一堂课提出的问题,教学过程有趣,既能吸引学生深入钻研,提高学生学习兴趣,又能在解决问题的过程中,让学生充满成就感。第二,使用雨课堂,提高课堂活跃度。目前市场上有越来越多的课堂教学辅助工具,像水墨云班课、超星平台、雨课堂等,作者在教学过程中选用的是雨课堂。雨课堂可以将教师的PPT存在平台上,供学生随时翻阅,学生可以在PPT上标记自己没有掌握的内容,教师通过平台查看后,可以在平台上讲解或者在课堂上重新回顾讲解;雨课堂也可以上传一些课前预习资料、习题、课程辅导资料等,教师可以随时查看学生进度,掌握学生的学习情况。
四、结语
基于汽车类专业应用的C语言程序设计课程教学改革,意在激发学生学习C语言程序设计课程的兴趣,逐步提高学生编写程序解决专业实际问题的能力。教学各个环节的专业化,可以促使学生学习认知的专业化,可以使得学生学习的目标更加明确,学习动力大幅度提高,确保学生为后续专业课的学习打好坚实的基础,更好地服务专业教学,全面培养合格的应用技术型人才。
【参考文献】
[1]杨立.电子科学与技术专业C语言课程教学改革[J].无线互联科技,2016.7.
[2]郭芳.高校非计算机专业C语言课程教学的改革研究[J].湖南工程学院学报(社会科学版),2018.9.
[3]李冬梅.关于C语言程序设计课程的实验教改探索[J].福建电脑,2018,34(7):129+187.