APP下载

以学生为中心的C语言课程教学方式改革与实践*

2022-03-02贺秋瑞郭晨睿郑雅馨

关键词:C语言考核教学模式

贺秋瑞 郭晨睿 郑雅馨

(洛阳师范学院信息技术学院 河南洛阳 471934)

引言

自20世纪90年代以来,一直作为高等院校的基本计算机语言课程,在全世界范围内得到了普及[1-2]。C语言与其他计算机语言相比,能够很好地描述数学模型和物理模型,具有强大的表达能力,丰富的语言功能,运行效率高且移植性强等优势[3]。目前,C语言已成为计算机科学与技术、电子信息工程、网络工程、软件工程等理工类专业的学生必须掌握的计算机高级语言。学生通过对课程的学习,可培养运用计算机语言解决实际问题的能力,同时具备计算机高级语言设计的基本能力和基本的编程思想,为后续应用性课程和专业课程的学习、系统开发以及从事相关专业领域工作等打好计算机语言基础[4-5]。本文针对本校C程序设计课程在教学过程中存在的教学内容与实际应用结合不紧密、教学模式和考核方式单一的问题,鉴于教师在数据处理类科研项目中C语言发挥的重要作用,通过教学过程与科研项目的融合,从提高课堂学习效率和培养学生实践应用能力的角度,对C程序设计的课堂教学方式的改革进行了研究并提出改进措施。

一、课程教学现状分析

面对信息技术和工程应用的快速发展,提高学生的实践动手和理论学习能力,加强培养和提高学生使用C语言进行系统和应用软件开发、信号和信息处理以及相应信息服务的能力,已然成为国内高等学校教育教学的核心工作之一。结合自身一线教学过程中的体会和思考,目前,C语言课程教学在学生学习和教师教学方面均有待进一步提升的空间。

在学生学习方面,由于现代生活中手机、电脑等电子产品的普及,无形中改变了学生的学习方式、生活方式以及思维方式。目前,多数大学生习惯于使用电子产品中市场化软件解决生活或学习中遇到的问题,而不关心软件是如何架构、编写和实现的,这导致学生从主观意识上对于编程类课程的兴趣不足。在C语言课程的学习过程中,大部分学生的学习目的比较直接,并不能意识到C语言课程在个人专业学习过程中发挥的重要作用,单纯只是为了通过期末考试,拿到所修学分。除此之外,很多学生还存在学习效率低、学习方法不当、动手能力差等问题,这也是学生对计算机语言类课程兴趣低下的原因。上述这些问题均是影响C语言课程的教学的不利因素,导致教学效果差,课程结束后学生未能掌握应具备的计算机语言编程能力,进而影响学生后续专业课程的学习、考研以及就业等。

在教师教学方面,传统的教育思维方式和教学手段面临着前所未有的挑战。一方面,C语言课程内容与实际应用结合不紧密。目前很多高校的C语言课程是在大一阶段开设的,学生对自己的专业缺乏了解,对于自己的专业课程要学习的内容,将来从事的工作以及学习的专业知识的具体应用等问题不甚了解。同时,大多数C语言课程的讲述内容仅限于基础编程部分,用于解决生活中一些简单的数学计算,并不讲授与自己专业相关的知识的应用。换句话说,学生对于目前所学习的C语言知识的目的不明确。这就导致学生学习完该课程后,对于为什么要学习该门课程存在很大的疑惑,进而致使学生学习积极性与主动性不高,学习效果和效率大打折扣。另一方面,教学模式比较单一,多数教师还是采用灌输式教学,仍然是按照教材章节内容,顺序介绍各个知识点及应用,这样的教学内容与专业知识基本没有关联、学习枯燥,导致学生不会应用所学知识解决本专业的相关问题。除此之外,C语言课程考核方式目前主要采取闭卷笔试或上机操作少量编程题目的方式。闭卷笔试使学生陷入死记硬背的复习模式,造成学生分数不低,但编写程序的能力较差。而上机考试只能对部分基础知识进行测试,同时又容易导致学生不重视学习过程,只侧重对编程操作相关的语句的学习,进而导致学生考完之后很难对C语言课程所学的内容有深入理解和掌握,无法达到通过考核促进学习以及检验掌握知识程度的目的。

二、教学内容的改革

针对大一新生的特点,如何实现让学生从传统的高中学习模式到大学专业学习模式的平稳过渡,是大一阶段课程教学的重要目标。虽然C语言一直作为计算机语言的入门课程,但是其教学内容和学生在高中阶段的语数英等课程是有很大区别的,虽然理论讲授内容也存在大量的记忆性内容,但是其上机操作部分相比高中阶段具有更高的要求。因此,从根本上来讲,教师需要充分认识到C语言课程作为学生从高中阶段到大学阶段的过渡性课程,在引导学生接受新的专业知识和新的学习模式方面发挥的重要作用。显然,在不同学习阶段的过渡过程中,兴趣无疑是最重要的催化剂。

为适应以学生为中心的教学体系,充分发挥学生在整个教学过程中的主体地位,在课程教学初期引入了C语言在数据处理应用中的课程内容设计。将C语言课程的教学内容根据教材内容安排,按照数据处理类科研项目的难易程度和进展阶段逐一分解,尽可能地与C语言教学内容相契合,本着先基础后应用的模式,让学生循序渐进,由浅入深进行C语言基础知识的学习。同时,结合教师自身有关数据处理类科研项目和已发表学术论文中的积累的C语言代码,充分梳理与教材内容各章节的知识点与实际项目中的对应关系,从学以致用的角度来设计教学内容,旨在尽可能地提高学生对C语言课程的学习兴趣。

实施情况举例:在讲到第三章内容《顺序结构程序设计》中,可利用中国气象局国家卫星气象中心网址,下载的风云卫星观测数据,类比顺序结构程序设计的流程进行数据的下载和读取。对于学生而言,由于首次接触到风云卫星观测数据,积极性强,兴趣高,全部学生都能完成了一系列账户注册、检索数据、空间和时间范围的选择、数据的下载等工作。在学生完成相应操作后进一步强调顺序结构程序设计的概念,加深学生对本章节内容的理解。然而,在数据读取过程中,一部分学生由于不熟悉卫星数据的存放格式而导致读取失败。此时,为了持续提高学生的积极性,教师及时拓展目前常用的科学数据的存放格式,同时让学生认识到C语言只是一种工具,可以实现多种数据读取的目的,当然这一工具也可被其他计算机语言所取代。在拓展对风云卫星观测数据的HDF格式的知识点后,根据原数据的存放形式,按照C语言顺序结构的程序设计方法,学生均能实现卫星数据的读取工作。在整个教学内容设计环节,虽然学生对使用C语言读取的风云卫星数据的物理意义的理解并不透彻,但是并不影响学生把C语言应用在卫星数据处理中的热情。在整个学习过程中,使学生获得了成就感和满足感,极大地提高了对C语言课程的学习兴趣。

三、教学模式的改革

由于大多数高等院校信息类专业均将 C语言课程设置为专业基础课,且分配课时充足(本校信息类专业设置了108课时,包括72课时的理论讲授和36课时的上机操作),因此如何合理分配课时以达到最优的教学效果是对教学模式的考验。传统的灌输式教学,即教师负责讲,学生负责听,仍然是以教师为中心,学生是旁观者,进而导致学生学习氛围沉闷,学习效果差。

为了彻底改变灌输式的教学模式,培养学生的主动学习意识,采用了讨论式的教学模式,即课堂教学与上机操作穿插进行,验证实验与综合实验的分段进行的方式,而学生讨论始终贯穿其中。在课堂教学中,教师讲授时间大大减少,把更多时间留给学生思考和表达。对于验证实验和综合实验也完全由学生进行整个实验的设计。同时,整个教学模式的安排需要根据学生对C语言掌握的程度以及反馈来适时调整。学生在入门阶段,由于不具备基本的编程思想,仍以教师课堂讲授为主,主要表现为课堂讲授与教师实操演示。在教师实际操作初期,尽可能地使用教材的数学类编程的例子让学生入门,在实际操作中后期,脱离教材中简单的例题,而以工程项目中C语言在数据处理中的应用为主,进一步拓展学生自主学习能力。在上机操作阶段的实验结合科研项目中遇到的问题,由学生主动思考和设计解决方案,通过实验来验证方案的可行性,并参与讨论和优化方案。教师则需要记录学生在整个讨论过程中的表现和反馈。

实施情况举例:在学生掌握书上关于累加运算等例子后,教师结合科研项目中的问题,把需要解决的问题明确告知学生。例如,如何使用循环结构存放已读取出来的卫星数据,包括年份、月份、时间、地点、卫星数据等的存放。任务下发后给学生留有足够的思考和方案设计时间。学生完成任务后,鼓励学生在实验室的教师机上运行程序展示给大家,并辅助讲解自己的编程思想,同时鼓励设计出不同解决方案的同学表达自己的程序设计思想,使同学们直观感受不同的角度对知识的理解,并通过积极参与讨论进一步优化实验方案。对于一些重点内容,需要使用知识重现的方式加深学生的理解。例如,在学生的程序代码中设置一些断点来查看相关变量,可以让学生更加深刻地理解变量的产生过程、变量在整个程序中的地位以及受变量影响下的程序运行状态。基础编程内容讲授结束后,学生已掌握C语言三种基本的语句结构,在课堂讲授与上机操作一对一穿插进行中,尽可能让学生积极主动实操训练。学生课堂学习之后鼓励立即进行上机训练,尽可能选择数据处理类项目中可提高学生学习兴趣的案例,如可根据教师提前读取的卫星数据在地图上进行可视化。

四、考核方式的改革

闭卷考试和上机操作考试是目前多数高校采用的C语言课程考核方式,一方面让学生通过备考来加深知识的理解和掌握,另一方面也是对教师教学过程和学生学习过程的综合性反馈。然而,在整个考核过程中忽视了持续提高学生学习兴趣的目的,甚至导致一些学生由于惧怕考试带来厌学的情绪,进而导致课程考核成了学生自主学习的最大障碍。

针对期末考试的特点和目的,结合本校有关期末考试的政策和具体要求,在原有期末考试闭卷考查方式的基础上,重视学生平时成绩的评定。在考核过程中,引入学生分组考核机制,类似毕业设计答辩的形式,让每个队员都上台,教师提问,学生解答,教师团队对学生小组的任务完成程度和效果,以及每个成员在团队中的贡献进行综合评价。在考核过程中,能够引导学生积极探索分组机制的合理性,清晰定位自己的角色,培养学生团队协作能力以及在任务完成过程中的创新能力。

实施情况举例:在学生分组答辩过程中,出现了多个针对一个任务的考核,给出了不同完成方案的小组,同时小组中的每个成员在不同的完成方案中角色定位不同。这样的考核方式充分体现了学生在学习C程序设计这门课程时对知识的灵活运用,对解决实际问题能力的提升。例如,使用循环结构同时实现数据的存储功能,利用顺序结构实现了数据存储和导出等。这些基本的数据处理操作是可以有多种处理方式的,而最终的最优方案需要根据用户使用习惯来进行判断,因此并不存在最优的概念,重要的是学生在整个方案设计的过程中对使用目的的应变。另外,考核学生在分组中负责的主要内容,做了哪些工作,有哪些收获以及对本学期学习的总结等,均需该学生在讲台上进行汇报,这种考核方式又进一步提升了学生的表达能力。

结语

在C语言课程教学方式的改革与实践中,结合科研项目中的相关C程序的应用,分解到各章节知识点的重点和难点,增加避免照本宣科的教学实践,使学生获得了成就感和满足感。教学模式采用了学生充分参与其中的课堂教学与上机操作穿插方式,验证实验与综合实验的分段进行,对学生学习过程提出了具体的要求,保障了学习效果,保证了学生为中心的主体地位。同时,通过引入学生分组考核机制,让每个学生都成为学习的主体,培养了学生创新能力、表达能力以及团队协作能力。针对本课程的改革实践,培养了学生掌握C语言程序设计的基础知识及基本技能,树立了结构化程序设计的基本思想,使学生具备初步的高级语言程序设计能力,为后续的应用性课程和系统开发课程打好软件基础。此次一系列课程教学方式的改革与实践,是新工科背景和工科专业认证背景下课程改革的一种探索。通过在教学内容、教学模式和考核方式改革上的持续探索推进以学生为中心的教学体系的改革,是今后教学过程中重点开展的研究方向。

猜你喜欢

C语言考核教学模式
群文阅读教学模式探讨
基于Visual Studio Code的C语言程序设计实践教学探索
内部考核
51单片机C语言入门方法
创新完善机制 做实做优考核
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
公立医院 如何考核?
“一精三多”教学模式的探索与实践
“导航杯”实践教学模式的做法与成效