SCI论文(www.lunwensci.com):
摘要:为更好适应新工科的教学改革,提升工科大学生的实际编程能力,本文针对C语言程序设计课程教学存在的问题,提出了课程改革方案并进行实践教学。针对当前大学生课前不预习,课后不复习的学习现状,开展了课后半小时的集中复习。在理论教学过程中,对语法知识进行分类,重点以函数应用为目标开展教学,引导学生对各类实际应用进行函数封装,建立学生自己的函数库。教学考核中引入上机考试部分,突出实践编程的重要性。教学结果表明,在教学课时从64课时降至40课时的条件下,以18级测控技术与仪器1班与19级测控技术与仪器1班对比,上机考试成绩从69.5分提高至78.8分,有效提高了学生的实践编程能力。
关键词:C语言;语法分类;函数;上机考试
本文引用格式:张白,等.新工科背景下的C语言教学改革研究[J].教育现代化,2020,7(50):47-50.
Research on C Language Teaching Reform in the Context of New Engineering
ZHANG Bai,GAO Yang
(School of Electrical and Information Engineering North Minzu University,Yinchuan Ningxia)
Abstract:In order to better adapt to the teaching reform of new engineering and improve the practical programming ability of engineering college students,this paper puts forward the curriculum reform plan and practical teaching aiming at the problems existing in the teaching of C language programming course.In view of the current situation that college students do not preview before class and do not review after class,a half-hour concentrated review after class is carried out.In the process of theoretical teaching,we classify grammar knowledge,focus on function application,guide students to encapsulate various practical applications,and build their own function library.The introduction of computer test in teaching assessment highlights the importance of practical programming.The teaching results show that under the condition that the teaching hours are reduced from 64 to 40,compared with class 1 of measurement and control technology and instrument in 2018 and class 1 of measurement and control technology and instrument in 2019,the scores of computer test are increased from 69.5 to 78.8,which effectively improves the practical programming ability of students.
Key words:C language;Grammar classification;Function;Computer test
一引言
当前高等教育特别是民族高校教育普遍面临学生学习兴趣不足,缺乏主动性的情况。在新工科教学改革的趋势下,迫切需要改变当前学生的学习现状,提高学生的学习兴趣与积极性[1,2]。对于工科学生而言,C语言程序设计是一门重要的学科基础课程,对于后续专业课程的学习是非常关键的[3]。以单片机原理及其应用课程为例,该门课程是测控技术与仪器、自动化、电子信息工程等大部分工科专业必修的专业基础课,C语言的学习基础将直接决定该门课程的教学效果。奠定良好的高级语言编程基础,对于后期开设的光电检测技术、Java程序设计、Python程序设计等课程具有积极意义。随着人工智能技术的发展,企业对大学生的编程能力有了更高要求,且要求掌握的计算机语言也越来越多。
为了更好地适应新工科教学改革的需求,北方民族大学电气信息工程学院测控技术与仪器专业对培养方案进行了大量调整,增加了Java程序设计、Python程序设计、手机APP设计等多门语言类课程。在增加课程门数的同时,对C语言程序设计的课时进行大量压缩,教学课时从64课时压缩至40课时。课时的减少、课程重要性的提升对于授课教师提出了新的挑战。如何在课时减少的同时,有效提升学生的实践编程能力,适应新工科建设的要求成为C语言程序设计任课教师必须思考的问题[4-6]。
二 C语言程序设计教学现状
(一)理论教学
传统的C语言教学往往采用“填鸭式”理论教学与验证式实验教学两部分组成,针对学生的第一门程序设计语言的学习来说,教学方法的单一使学生的学习效果欠佳,对后续编程课程的学习影响深远。对于学生而言,由于C语言涉及的语法内容相对枯燥,学生课堂注意力难以集中是教学过程普遍存在的问题。同时C语言实际应用灵活多变,实践编程要求学生具有一定的逻辑性,通过教师PPT讲解是难以达到理想的教学水平。最后随着C++、Java、Python等流行高级语言的流行,学生普通认为学习C语言用途有限,不如直接学习C++、Java、Python等面向对象的高级语言,对于C语言学习兴趣与动力严重不足。针对民族院校而言,大多数学生接触计算机普遍较晚,首次接触计算机编程具有一定畏惧心理,编程逻辑思维能力未能有效建立,这也是造成学生学习困难的原因之一。对于教师而言,由于教师已经建立了良好的编程逻辑思维,讲授过程中往往先入为主的认为算法设计的水到渠成的问题,很难从一个没有任何编程逻辑思维的同学角度去考虑算法设计,这也造成教师与学生的逻辑思维差距[7]。
(二)实验教学
C语言程序设计是一门实践应用要求很高的一门课程,学习C语言的最终目的是实现独立自主的编程实践。由于学生课后复习时间严重不足,造成学生对于理论知识的理解相对薄弱,实际编程过程中语法错误偏多,甚至部分同学基本算法构建都存在很大难度。当教师不进行适当编程提示与示例编程时,部分同学则无法顺利开展实验题目的编程实践。随着培养方案的调整,当前C语言实验教学难度进一步提高,特别是C语言程序设计的实验教学课时从原有的32课时压缩至8课时,大量实验无法开展对于学生掌握相关章节内容带来极大挑战。同时新工科建设要求大学生掌握贴近工程实践的编程能力,但课时的压缩、教学要求的提升、学生逻辑思维能力的培养对实验教学提出了新的挑战。
(三)考核方式
当前C语言程序设计课程考核期末笔试占比过高,而对于实践编程能力未做实质要求。课程考核是学生学习的指挥棒,笔试占比过高造成学生期末突击现象严重,知识点死记硬背,复习依赖题库。C语言程序设计课程结束后,仍有很多同学连基本的面积计算、体积计算函数都无法正确编写,编程错误调试的能力更无从谈起。
三教学改革与实践
(一)理论教学改革
C语言程序设计语法内容繁杂,应用灵活多变,这对于首次接触计算机编程的大一新生十分不便。为了提高学生实践编程能力,精炼教学内容,本文对教学内容进行了分类教学。对C语言语法分类整理,梳理核心语法、扩展语法三类。例如数据类型章节,核心语法为int、float、double、char类型,扩展语法包含short int、long int、unsigned short int、unsigned int、unsigned long int。循环结构章节中,基本语法为while循环、for循环,扩展语法为do…while、for表达式缺省应用、break、continue。要求学生务必掌握核心语法,课堂重点练习核心语法,区别float与double类型,对扩展语法进行演示教学。使得学生在实际编程过程中优先使用核心语法进行编程,在掌握核心语法的基础上练习扩展语法。在教学过程中突出函数的作用,在各章节的讲授过程中提前引入函数的概念,引导学生对自己编制的程序采用函数实现封装,积累学生自己的功能函数库,提升学生的学习成就感。
理论教学中努力培养学生的逻辑思维能力,学生逻辑思维能力并不是短期就能建立起来,需要不断地对学生进行训练来达到目的。在平时的课堂讲解一些和教材例题相近的程序段,让学生自己积极思考程序功能实现需要进行的改动和变化,由易到难,培养学生自主思考探索的习惯。随着学生思维能力的加强,会越来越对编程的灵活性有着更加积极的探索,此时向学生介绍一些简单算法,让其对算法的核心思想进行思考,并试图让学生能够提出新的思路与方法,提升其逻辑思维能力。通过课后作业观察学生逻辑思维锻炼的效果,虽然大部分学生逻辑思维能力提升比较缓慢,但是也有部分学生能够带来惊喜,采用不同的设计思路,使用不一样的算法,让人眼前一亮。
(二)实验教学改革
随着C语言程序设计教学大纲的修订,C语言程序设计实验教学缩减至4个实验8个课时。选择实验内容就成为授课教师重点考虑的问题。根据C语言程序设计的内容重要性进行实验内容筛选,选择《选择结构程序设计》、《循环结构程序设计》、《数组的应用》、《函数的调用》4个实验。重点锻炼学生选择结构程序设计中的if语句与switch语句、循环结构程序设计中的while语句与for语句、数组程序设计中的一维数据与二维数组的定义与使用、函数的定义、声明、调用以及嵌套调用。与之前教学大纲规定的16个实验内容,本次教学改革凝练为4个实验内容,实验内容的增加必然带来教学难度的提升。为此本文涉及的4个实验内容每个都包括2至3个实验任务,任务之间存在直接相关性。例如循环结构程序设计中要求如下:(1)使用while语句实现偶数求和,要求通过scanf输入偶数求和的终止数,求和起始数为1,最后通过printf输出结果。(2)使用while语句实现偶数求和,要求通过scanf输入偶数求和的终止数,求和起始数为1,要求使用continue语句实现,最后通过printf输出结果。(3)使用for语句实现奇数求和,要求通过scanf输入求和的终止数,求和起始数为1,最后通过printf输出结果。3个实验任务之间关联性大,学生在完成前一个任务后,在原有程序上进行修改即可实现后一个任务,锻炼学生的逻辑思维能力,对编程能够尽量实现不同算法的灵活应用。通过合理设计实验内容,实现了在一个实验中练习while循环、for循环以及continue语法。
实验教学环节,对学生进行严格要求,让其理论联系实际学以致用的同时,培养良好的编程习惯,为以后课程的学习奠定一个良好的基础。最开始的实验中,学生最常出现的错误是语法错误,对这些经常犯的低级错误督促其严加改正。同时教会学生如何调试程序,能够独立对程序里的语法错误进行修正。在实验过程中容许学生互相之间进行讨论,互相帮助调试程序,共同学习,共同进步。对此很多学生反映良好,在帮助别人的同时自己也注意到了以后编程中可能会存在的问题。在数组和函数的实验当中,逻辑思维能力要求逐渐加强,一个很简单的十几行的程序,学生往往找不到入手点。此时就需要在实验之前将实验题目的整体编程思路进行讲解,引导学生能够建立一定的逻辑思维。在实验过程中发现,只要学生能够入门,学生的兴趣就会大大增加,学习主动性也就提升起来了。
(三)课程考核改革
课程考核对于学生而言是教学指挥棒。经过调研了解到,一半以上的同学对于C语言程序设计课程追求的是考试及格,仅有少部分同学以深入掌握实践编程能力为目标。为此本次C语言程序设计课程考核引入上机考试环节,最终考核比例如下:平时成绩10%,实验成绩20%,上机考试20%,期末笔试50%,且期末笔试编程题占20%。改革后极大提高了实践编程能力的考核,极大提高了学生对实践编程能力的重视。
(四)改革效果
经过一个学期的教学实践,坚持课后半小时的集中复习。在课时大大压缩的情况下,学生的实践编程能力仍然有较大程度的提高。以旧教学大纲64课时教学任务开展教学的18级测控技术与仪器1班与19级测控技术与仪器1班对比,上机成绩从69.5分提高至78.8分,有效提高了学生的实践编程能力。18级测控技术与仪器1班上机考试成绩如图1所示(去除2位成绩为0的同学),19级测控技术与仪器1班实验成绩如图2所示。
(五)在线课程辅助教学
在实践教学过程中发现,同学之间的理解能力与学习能力之间差距明显,按照正常教学进度开展教学时部分同学逐渐无法跟上进度,最终造成学生自我放弃。传统课堂教学需要平衡教学进度与教学效果的现实问题,无法为了少数同学无法跟上进度而调整教学进度。现有文献表明,在线课程建设对于课程教学具有积极价值[8-11]。为此本课程开展在线课程辅助教学,建立学习通在线课程,提供教学PPT讲解视频,提供各经典例题的编程示例视频。在视频中对编程过程进行详细讲解,对算法设计进行说明,帮助学生理解对于算法,对于难点可以重复播放加深理解。同时为了加深重点知识点的理解,有针对性的设计若干编程示例,包括printf与scanf函数的应用示例,i++与i--的应用示例,if与switch应用示例,while与for应用示例,数组应用示例,函数定义与调用,数组做参数的函数应用示例,指针定义与调用示例等系列教学编程视频。学生在学习过程中可以有针对性的选择对应知识点教学编程示例,即节省了学生学习时间,也提高了学习效果。针对想系统复习C语言的同学,录制了PPT教学讲解视频,帮助同学系统复习。初步教学实践表明,在线课程辅助教学对于学生学习C语言具有积极意义。
四 结论
C语言程序设计是学习计算机编程语言的基础,建立扎实的C语言编程能力对于工科大学生尤为重要。本文针对当前大学生课前不预习,课后不复习的学习现状,开展了课后半小时的集中复习。在理论教学过程中,重点以函数应用为目标开展教学,并对教学内容进行分类,引导学生对各类实际应用进行函数封装,建立学生自己的函数库。教学结果表明,在教学课时从64课时降至40课时的条件下,以18级测控技术与仪器1班与19级测控技术与仪器1班对比,上机成绩从69.5分提高至78.8分,有效提高了学生的实践编程能力。本次教学改革为《C语言程序设计》课程教学适应新工科建设进行了探索,设计了在线课程辅助教学平台,在教学课时缩减的情况下有效提高了学生的实践编程能力。
参考文献
[1]吕程.新工科背景下的机械专业C语言课程改革[J].科技创新导报,2018,15(04):249+251.
[2]陈如清,杨立娜.新工科背景下“测控技术与仪器”专业改造升级路径探索[J].嘉兴学院学报,2019,31(02):140-144.
[3]张白,吴国强,韦海成,等.CDIO模式在C语言教学中的应用研究[J].中国教育技术装备,2017(22):98-99+102.
[4]毕馨文,孙雪岩,牛晶.新工科背景下混合式教学模式在《C语言程序课程》中的改革实践[J].福建茶叶,2019,41(03):168-169.
[5]肖斌,汪敏,王兵.新工科背景下的C语言人才培养研究[J].软件工程,2019,22(07):47-50.
[6]徐猛,楚旺,宋英杰,等.新工科背景下软件工程C语言本科教学改革[J].计算机教育,2019(07):173-176.
[7]胡晓辉,吴嘉昕,陈永,等.c语言程序设计课程中计算思维能力的培养[J].教育现代化,2019,6(10):38-40,52.
[8]胡秋霞,田杰,王娟勤.基于微课的“C语言程序设计”课程教学改革初探[J].教育现代化,2017,4(10):35-36.
[9]钱文彬,杨珺.慕课环境下软件工程专业的课堂教学模式探讨——以C语言程序设计为例[J].教育现代化,2019,6(08):132-134.
[10]惠晶晶.浅析高校微视频在线课程资源建设[J].教育现代化,2019,6(17):94-97.
[11]徐红霞.关于开展在线课程的思考[J].教育现代化,2019,6(43):108-110.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网! 文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/31547.html