“案例式+混合式”驱动“C语言程序设计”课程教学改革

2023-02-08 21:48杨德青
计算机应用文摘·触控 2023年2期
关键词:C语言程序设计案例教学改革

关键词:C语言程序设计;教学改革;案例;线上线下混合式

中图法分类号:TP312 文献标识码:A

1引言

科学技术日新月异,通信已经从2G,3G,4G发展到如今的SG,技术的每次变革都离不开科研工作者的辛勤付出。C語言作为高级语言,在计算机技术应用中占据着非常重要的地位,同时成了其他高级计算机语言的基础。“C语言程序设计”在计算机相关专业教学中已成为必修课程,是学习其他计算机相关技术的基础课程。C语言适于模块化程序设计并可以直接操作计算机内存。C语言的学习,可以为计算机相关专业的后续专业课教学奠定坚实的基础。C语言程序设计技术广泛应用于底层开发,对学生的实践能力、软件编程能力有着很高的要求。传统的教学方式是按照章节系统的学习,对于重要的知识点引入1~2个习题练习。这种教学方式导致学生学的知识点比较细碎,不能很好地建立相关的知识体系。本文提出将案例贯穿教学的整个过程,积极探索线上线下新的教学改革模式,从教学效果、考核结果等方面综合衡量,并通过改变“C语言程序设计”课程的教学方式,达到优化教学质量的目标。

2引入案例的课堂教学内容设计

首次进入“C语言程序设计”课程教学课堂,教师应暂且不讲课本上的知识,而是引导学生明白学习C语言之后可以做什么?把往届学生用C语言做的优秀作品展示给学生,不仅使学生明确学习C语言的目标,还要让学生被优秀作品吸引,激发他们今后认真学习“C语言程序设计”课程的动力。同时,教师每次讲新课前,用五分钟时间把上节课所学的重要知识点罗列出来,带领学生巩固复习。

教师讲授具体的知识时尽量引入一些可以吸引学生的“趣味故事”。例如,对数据类型与运算符章节知识引入“有容乃大”,讲解sizeof运算符时借助“偷天换日”引入交换两个变量的值,对数字的各位分解时可以引入“从头到尾”故事。将趣味故事引入课堂教学中,能够提高学生对知识学习的兴趣,减少单纯教学知识讲解的枯燥感,进而加深学生对课堂知识的记忆。

自动贩卖机是大家在日常生活中经常见到和使用的一种售卖机器,以自动贩卖机的运行原理为例子,通过编程模拟一种新的饮料自动贩卖机,包含可乐、绿茶、咖啡等,结合C语言中的if else语句来实现。接下来,还可以在自动售卖机里添加红茶、牛奶、巧克力等,再用if else语句实现上述功能,通过编程会发现当有过多的选择时用if else语句也能实现,但是步骤非常烦琐,如果程序有错误还不太容易发现。于是,引入接下来要学习的知识点switch条件语句,会发现在选择比较多的情况下用switch更合适,从而促进学生深入体会。

学习随机数时引入小时候玩掷骰子的游戏,筛子占据了童年记忆的一部分,它虽然小,但是作用大。先引入骰子,进而重点讲解随机数的知识。学习循环的嵌套知识点时,教师先给学生展示小学学过的9*9乘法表,有行和列才可以定出乘法表,接下来,通过双层循环并结合printf()输出函数输出一些好看的图形展示给学生,自然而然地引入循环嵌套的外层循环和内层循环的含义。

在实际生活和工作中可以发现,一维数组计算有时不能满足计算需求,比如一个包含6人的学习小组,其中每人需要考试两门课程,在成绩统计和分析中若仅采用一维数组计算会比较繁杂,这时便可以引入二维数组计算方式,使用魔方阵(在古代又称为“纵横图”),即由自然数组成的方阵,激发学生对二维数组的学习兴趣。

讲解结构体时可以引入学生信息管理系统,统计学生的姓名、性别、角色以及对应教室等相关信息,同时将教师的姓名、性别、职称、所在学院等信息同步统计到系统中,让学生意识到所学的知识点在实际生活中是非常有用的。

例如,对于数据结构设计知识,学生要做一个学生成绩管理系统,要求结构体变量有五个成员,通过对结构体知识的学习,大多数学生会掌握其概念和基本用法,下面需要加强对其知识点的应用,通过一个较大的综合实例强化对这个知识点的理解。在模拟一个学生成绩管理系统教学过程中,根据实际情况,要开发的系统需要具备以下功能。

(1)添加学生个人信息:学院、学号、身份证号、性别、年龄、家庭住址、宿舍号、各科目成绩、成绩排名等。

(2)显示学生信息,可以将学生的相关信息显示出来。

(3)修改学生信息,如果学生的信息有误,需要添加一个修改功能,以便及时修改。

(4)删除学生信息,如果系统中学生的个人信息重复或有学生辍学,需要增设删除功能。

(5)查找学生信息,可以按照学生的姓名或者其他个人信息快速查找。

(6)根据需要增设可以按照学号、年龄、成绩升序或者降序的排列方式。

可以用流程图的形式展示要实现的功能及流程,如图1所示。

这可以使学生明白所学的知识用在什么地方,让学生感受到所学知识在实际生活中处处存在。

当前,理论与实践相结合的教学方式越来越受到推崇,案例式教学就是其中一种。这种教学方式以学生为中心,通过案例讲学最大限度提升学生对知识的接受程度。在C语言课程项目改革过程中就采用了这一教学方式,将理论应用于实践,以实践的方式执行学习任务,学生在进行项目操作过程中,可以根据实践发现并提出自己的新观点,进而提高学生的自主学习性,增强学习兴趣。

3“线上+线下”混合式教学

自2020年初疫情出现以来,高校均采用过“线上+线下”的授课形式。“C语言程序设计”课程的知识点多、逻辑复杂、语法比较灵活,如果不能系统性地打好基础,很难学好这门课程。所以,有必要将“C语言程序设计”建设为一门线上线下混合式教学的课程。学生通过超星学习通完成课前预习,教师再进行课堂授课,最后通过超星学习通布置随堂作业,加深学生对知识点的理解与应用。

在超星学习通建课时,把“C语言程序设计”课程划分为60多个知识点,课程组的教师通过协同分工以知识点的形式录课。基于此,一方面学生在课堂上对某个知识点有疑惑时可以直接在学习通上找到该知识点重新学习。另一方面学生可以明确“C语言程序设计”课程到底需要掌握多少知识和哪些知识点。

针对有疫情时的授课方式,按照学校的安排给学生上线下课。教师在超星学习通建立在线课程平台,该平台有知識点视频、讲稿、教案,并定期在学习通发布讨论环节和课后作业。学习流程如图2所示。

4学科应用

创新创业竞赛是当前众多院校经常采用的一种竞赛方式,本校基于“以赛促学、以赛促教、以赛促改”的教学理念开展创新创业竞赛活动,将“C语言程序设计”课程作为许多电子信息、计算机学科竞赛的基础。根据学科竞赛的要求,学生可以在备赛和参赛过程中经过一系列的培训和磨炼,使学生在学习“C语言程序设计”课程后提高在实际赛项中的应用能力。通过竞赛还能够不断增强学生的实践操作能力以及创新能力,以及提升学生的团队协作能力。而且,针对学生遇到的问题,今后教师可以在“C语言程序设计”课程教学中给全体学生讲授。

高校、行业、产业的相互融合是一种提升人才培养效果的有效方式,通过“C语言程序设计”课程教学改革,能够不断提升人才培养质量,进而完善高校人才培养机制,提升教学水平。将行业需求更加深入地渗透到课程设计中,不断更新教学案例设计,提升学生学习“C语言程序设计”课程的兴趣和培养学生的创新能力,打造具有特色的相关课程。

5评价体系

考试成绩是评价学生综合学习效果的手段,应改革过去的分数结构体系,即平时成绩占期末总分数的40%,期末成绩占期末总分数的60%。这样的考核方式比较单一,虽然教师比较容易给出成绩,但是考核并不全面。为了使学生能够重视“C语言程序设计”课程的编程学习,并培养学生的创新能力和创新意识,需要教师提前备课,在课堂中给学生引入前沿科技,并增设课堂讨论环节,借助APP、“雨课堂”等软件和平台进行课堂提问,学生在课堂教学中对综合性问题以小组形式进行探讨。教师对学生讨论的实际情况做出反馈评价,并作为期末成绩的15%,这改变了传统的灌输式教学方法。鼓励学生在已有的C语言软件编程基础上进行改进、创新,根据学生的创新情况给定分数并作为期末成绩的一部分,占期末成绩的5%。平时学生在动手编程时,教师根据学生编写程序的能力及作业给出平时成绩,占期末成绩的20%。最后,期末考试成绩占总成绩的60%,综合各项成绩的权重得出最终期末成绩。这样才能够全面考核学生对“C语言程序设计”课程的掌握情况。

作者简介:

杨德青(1991—),硕士,助教,研究方向:智能算法。

猜你喜欢
C语言程序设计案例教学改革
案例4 奔跑吧,少年!
随机变量分布及统计案例拔高卷
发生在你我身边的那些治超案例
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究