SCI论文(www.lunwensci.com):
摘 要:数字化正在引领时代浪潮,在此背景下,我们每个人要么是使用某种编程语言开发应用程序的开发者, 要么是基于某种编程语言开发的应用程序的使用者。学习并掌握一门编程语言的重要性不言而喻。本专科院校中许多专业都将“C 语言程序设计”作为一门必修课程,因此探讨数字化背景下创新“C 语言程序设计”课程教学方法具有明显的教学意义和时代意义。本文旨在针对现有课堂教学过程中遇到的问题,从课前、课堂、课后及实验教学等四个方面探索适合电气类专业的课程教学方法,以提高课堂效果和教学质量。
关键词:C 语言;课前在线预习;课堂多样互动;课后网上辅导;混合式教学
本文引用格式: 李兰兰,王玲 . 数字化背景下电气类专业“C 语言程序设计”教学方法探索 [J]. 教育现代化 ,2021,8(32):133-136.
exploration on Teaching Methods of “C Language Programming” for electrical Majors under the Background of digitization
LI Lanlan, WAnG Ling
(College of Mechanical and Electrical Engineering, henan Agricultural University, Zhengzhou henan)
Abstract: Digitization is leading the tide of the times. In this context, each of us is either a developer of an application developed with a certain programming language, or a user of an application developed based on a certain programming language. The importance of learning and mastering a programming language is self-evident. Many majors in our college take "C language programming" as a compulsory course. Therefore, it is of great significance to explore the innovative teaching methods of "C language programming" under the digital background. This paper aims at the problems encountered in the current classroom teaching process, from the four aspects of pre class, classroom, after class and experimental teaching to explore suitable teaching methods for electrical majors, in order to improve the classroom effect and teaching quality.
Keywords: C language; online preview before class; diverse interaction in class; online tutoring after class; blended teaching
一 引言
2020 年伊始,新冠肺炎疫情爆发,以数字化为代表的移动互联网、人工智能、物联网等信息技术在社会治理、稳定经济等领域发挥了重要作用。显而易见,“疫情防控常态化时期”,数字化转型正在成为推动技术创新、产业升级和经济发展的新高地。在此背景下,我们每个人要么是使用某种编程语言开发应用程序的开发者,要么是基于某种编程语言开发的应用程序的使用者。编程语言以看得见和看不见的方式萦绕在我们的工作、学习和生活中。所以,
学习掌握一门编程语言的重要性不言而喻。
C 语言既具有高级语言的简单、兼容性,又具备低级语言能对硬件操作的能力,自 20 世纪 90 年代以来迅速在全世界普及和推广,是目前最重要的软件编程工具之一,在计算机应用中十分广泛且地位显著。目前,本专科院校中许多专业都将“C 语言程序设计”作为一门必修课程 [1-2]。电气类专业也以“C 语言程序设计”作为第一门计算机语言进行程序设计教学,一方面旨在培养学生思考、分析和解决问题的编程思维和能力 [3],另一方面也为后续单片机、嵌入式系统等核心课程的学习打好基础。同时 C 语言也是全国计算机等级考试必考的科目之一,因此帮助学生掌握 C 语言,具有十分重要的意义。基于 C 语言课程本身知识点繁杂等特点以及互联网和移动互联网的快速发展,C 语言课程传统的授课方式正在受到冲击。加之疫情期间“停课不停学”的线上教学活动的开展,使得我们有必要探讨数字化背景下,如何利用互联网和移动互联网平台有效地支撑程序设计语言类课程教学,探索线上线下混合教学模式对课程教学效果的提升 [4]。目前已经有许多基于 MOOCs、微课等教学方法的探索 [5-7], 本文旨在通过解决现有教学过程中遇到的问题,探索电气类专业“C 语言程序设计”的课程教学方法。
二 “C 语言程序设计”课程的教学现状
总结实际教学工作,发现“C 语言程序设计”这门课程在当前的教学过程中有几点亟待解决的问题。
(一) 课程内容多、知识点零散,学时少
以笔者所在学院为例,学院为电子信息专业、机械设计和制造专业开设了“C 语言程序设计”课程,安排 32 学时,其中理论课 24 学时、实验课 8 学时。教学内容包括算法、顺序程序设计、选择结构程序设计、循环结构程序设计、数组、函数和指针等。如果仅仅想利用 32 学时将这些内容给学生讲通讲透是十分不现实的。C语言涉及到许多基础知识, 这些基础知识点种类多、相对而言比较孤立。如果授课过程中照本宣科,会使得学生无法领会和掌握知识点的整体框架,那么在进行实际程序设计时就会无从下手。
(二) 学生课堂上积极性不高,对课程重视度不够
这主要是因为在实际教学中,仍是以传统灌输式教学方法为主,学生只能被动接受知识。而且课程知识点多、复杂且枯燥,加之迫于课时限制,传统教学课堂上教师只能采取“满堂灌”的措施,因此和学生之间的互动活动就比较少,无法调动学生的积极性和课堂参与性。几次课下来学生就会对课堂失去兴趣,导致枯燥学习,这样一来学生学习效率低,课堂教学质量也不高。
(三) 实践环节重视不够,考核方式单一
仍以笔者所在学院为例,希望学生仅仅依靠 8 学时的实验课就能熟练掌握“C 语言程序设计”这门课程显然是不可能的。本门课程属于实践课程, 学得好与差不仅在于学生能否读得懂程序,更在于学生能否自己动手编程、调试和运行。此外,课程的考核方式仍是以笔试为主,这样一来学生动手实践的需求和积极性就降低了。
可见,对于电气类专业“C 语言程序设计”的课程建设仍需继续改进和完善。“ 互联网 +” 时代, C 语言教学改革也是非常有必要的,我们需要继续探索以保证课程的活力,提高学生的能力和创造力。
三 “C 语言程序设计”教学方法改革的探索
针对目前授课过程中面临的诸多问题,笔者对数字化大环境下如何提高本门课程的教学质量、提高学生的学习参与度等方面进行了探索和实践,按照图 1 所示思维导图,文章主要从以下几个方面进行阐述。
图 1 C 语言程序设计课程思维导图
(一) 课前在线预习
本门课程教学内容多,而且知识点零散,这就要求授课教师在上每一节课之前不仅要熟练掌握授课内容,更需要对教学内容和课堂授课计划进行精心安排。每一节课应该包括课前引入、知识点梳理、重难点突破和小结等环节。
如何上好第一节课是非常重要的,不仅能帮助学生大致了解课程的主要内容和框架结构,而且如果能够在课程第一课激发学生的学习兴趣,那么在后面上课时学生学习的主观能动性才能高。以该课程第一课课前引入为例,首先我们需要了解课程的性质以及面向的学生。本课程主要是电类专业的基础课,一般开设在大一下学期,那么学生对该课程的定位及重要性的了解可能不是很全面。所以第一课要做的就是引起学生对该课程的重视,帮助学生把握课程在整个教学计划中定位。对于电类专业, 核心课有单片机、嵌入式、微机原理等,所以在第一课中笔者以基于单片机的智能小车视频为引,先引起学生的注意,然后再以此为例向学生介绍 C 语言对于后续专业核心课的支撑作用。其次,笔者对TIOBE 编程语言排行榜( 如图 2) 上近年来各种编程语言的热门程度进行了简单介绍,此举可以帮助学生更直观地了解到 C 语言是一门工程实用性极强的语言。然后再接着进行教材中第一章的学习。将这些措施放在介绍具体内容之前,可以帮助学生更清晰地认识到课程的性质。
图 2 2002-2020 主流编程语言走势(www.tiobe.com)
课前准备不仅需要教师准备,学生同样也需要准备。传统的上课过程,学生一般都是直接拿着课本来上课,基本没有课前准备。从前面的介绍中我们知道对于电类专业学生而言,“C 语言程序设计” 课程内容多、知识点零散,但学时安排少,学生如果想要牢固掌握课程基础知识、并对知识进行熟练运用,那么就必须紧紧抓住学时之外的间。“互联网 +”时代给学生们提供了更多自主学习的机会,但是学生的课前准备仍然需要任课老师给予必要的指导和精心的安排。笔者利用超星学习通组建课程并引导学生加入课程,每次课前笔者都会将本节课需要讲授的知识点做个梳理图并标明基础知识点、重点及难点,提前一天以学习任务点发布给学生,帮助学生在上课之前进行必要的准备性学习,这样课堂中才能事半功倍。学生课前准备阶段,内容不必过多,多是以概念型知识点的形式出现,主要是引导学生对所要讲授的内容有一个轮廓性的了解和认识。
(二) 课堂多样活动
课堂活动应该多样化,让更多的学生能够参与进来,除了被动地听之外,更要能够主动想、主动问、主动学。活泼多样的课堂活动能够很好地调动学生的学习主观能动性,从被动学变为主动学,枯燥繁杂的知识点也就更容易接受一些。笔者在进行课堂活动的设计时多采用以下几种形式:
(1) 课前 5min: 这 5min 是学生的主场, 教师应将讲台完全交给学生,让学生成为课堂的主体。学生们可以选择分享一些小程序并直接在电脑上进行演示操作,分享的重点不在程序的难易程度,而在于编程的思想、调试的过程及错误的处理等方面的分享。除此之外,学生也可以选择分享自己对教材中某个知识点的理解和扩展性知识的补充,又或者对某个例题的多种编程想法的分享等等。在这5min 时间内,教师应积极引导其他学生参与,做到以点带面,利用学生之间的这种直接互动交流帮助学生们加深对课程知识点的理解和掌握。
(2)案例实操:精心挑选例题,将零散繁杂的知识点糅合到案例中,在分析案例的同时将知识点介绍给学生,让学生在理解知识点的同时掌握如何正确使用。与直接利用 PPT 分析讲解相比,在进行案例分析时,教师可以选择利用编译软件对程序进行调试和演示。利用案例实操不仅更加直观,加深学生对一些易混淆知识点的理解和掌握,同时也能在实操演练中引导学生掌握编程思维和编程过程。
例如在进行选择结构程序设计的授课过程中, 可以选择以求分段函数

为例。一方面利用例题可以介绍 if… else 语句的多种使用方法,另一方面也可以帮助学生掌握两个易错知识点。通过以往的教学发现,由于数学知识的存在,很多学生在这个例题上会犯两个错误,其一是范围的表示直接用 -5< x< 0 和 0
(3)师生互动,鼓励参与讨论。丰富的师生互动、生生互动可以通过设置课堂讨论、回答问题、以及利用学习通等软件进行投票等活动展开。这些课堂互动并不是单一固定的,教师可以根据具体上课情况,配合课程进度灵活多样开展,贯穿整个教学过程。
课堂活动应以知识点为中心,配合具体授课过程及学生的参与性,由教师在课堂上灵活调整和把控。课堂活动时学生的表现和参与度可以作为平时分的一部分,也在于激励学生更积极地参与课堂活动。
(三) 多样化实验教学
实验环节的教学,应该以“抓基础、突重点、破难点”为目标来实施开展。由于每个学生的学习能力不同,我们在安排每节课的任务时要注意把握题目的难易程度。其中基础部分和重难点部分的内容所占比例分别为 50% 和 40%,要求学生独立完成, 旨在帮助全部学生熟练掌握和应用所学基础理论知识。而拔高部分则占 10%,主要选取和电类专业后续课程相关的一些简单问题。对于这部分内容教师应该鼓励学生积极参与并探索不同的编程思路,学生可以选择“单打独斗”,也可以选择“团队合作”。
实验教学部分不仅仅局限于实验大纲中的 8 学时,理论课堂活动中的案例实操也是实验教学的一种形式。除此之外要积极调动学生课后自我学习的主观能动性,通过提出一些有趣的或者实际的问题,引导学生利用课余时间查找资料并解决问题。在这一过程中,教师也要积极参与,可以通过微信群或者学习通等移动互联网平台给予学生及时的指导和帮助。
多样化实验教学能顺利开展,需要教师提前精心准备实验内容,并摒弃传统的“模仿式”实验教学方法,鼓励学生多动脑、勤动手,通过这部分的训练旨在提高学生糅合知识点的能力、实际动手编程的能力以及解决复杂问题的思维能力,同时也是帮助学生了解 C 语言和其他课程的联系,提高解决实际问题的能力。
(四) 课后网上辅导
课后辅导包括作业批改、重难点答疑和知识点共享,是巩固教学效果的重要辅助过程,不管是理论课还是实验课,课后辅导都应该受到重视。互联网的迅速发展为教师进行课后辅导提供了很大的便利,教师可以利用学习通等教学软件实时发布课后作业,然后再根据课后作业给予及时的反馈和指导。利用学习通,教师可以将评阅作业时遇到的优秀程序转发至讨论,和学生一起赏鉴,也可以将具有典型错误的程序转发至讨论,与学生一起分析。除此之外,课后作业可以利用学习通中的生生互评功能,让每一位学生参与进来,在评阅他人作业时不仅能学习到他人好的编程思路,同时也能认识到自己的不足。与传统课后辅导相比,利用互联网不仅更加便利,而且更加实时和高效。课后辅导主体是教师, 但是教师应注意不能沦落为答题机器,而是要以问题为导向,让学生成为主体,积极引导学生自己回顾相关知识点、独立思考并找寻问题的正确答案。
课堂是以学生为主体,但整个教学活动的开展, 则需要教师的精心安排和整理。对课程的教学,教师要实时追踪,可以通过微信学习群或者学习通等收集学生的反馈信息,并根据学生的反馈对课堂活动,包括课前安排、课堂活动及课后辅导等部分采取必要的改进或调整,以帮助学生更好地掌握和应用所学知识。
四 总结
在互联网和数字化快速发展的今天,基于程序设计语言的开发和应用遍布我们的生活和学习。C 语言是高级程序设计语言之一,是大多数高级语言的基础,掌握 C 语言有利于后续其他语言的学习。对电类专业的学生来说,C 语言更是后续多门专业核心课的基础。教师在授课过程中要以学生为主体、以专业为导向,培养学生 C 语言编程思维能力和解决实际问题能力。此外,互联网和移动互联网技术的快速发展,以及电脑、智能手机等设备的基本普及, 使得每个学生都有条件借助互联网进行学习,而今年的疫情更是让“网课”成为流行。结合之前的授课情况以及疫情期间网课的开展和学习,我们发现学生通过网络对课程的参与度更高一些。所以我们要充分利用移动互联网的平台优势,将之贯穿整个教学活动,积极探索更加高质量的课堂教学方法, 提升学生的编程能力和计算思维。
参考文献
[1]杨传栋 , 范昊 , 王志军 , 等 . 非计算机专业 C 语言程序设计教学方法研究 [J]. 教育教学论坛 ,2020(36):284-285.
[2]张白 , 高洋 . 新工科背景下的 C 语言教学改革研究 [J]. 教育现代化 ,2020,7(50):47-50.
[3]胡晓辉 , 吴嘉昕 , 陈永 , 等 .c 语言程序设计课程中计算思维能力的培养 [J]. 教育现代化 ,2019,6(10):38-40+52.
[4]田 新 宇 , 黄 军 , 陈 克 林 . 新 时 代 线 上 线 下 混 合 式 教 学模式在 C 语言课程中的应用研究 [J]. 计算机产品与流通 ,2020(11):214+228.
[5]叶从欢 , 刘振 , 黄兰英 , 等 . 基于 MOOCs 的《C 语言》网上教学平台设计 [J]. 教育现代化 ,2017,4(02):130-131.
[6]王海燕 , 孟凡红 , 李可 . 移动互联网时代《C 语言程序设计》课程教学改革与实践 [J]. 教育现代化 ,2019,6(96):118-120.
[7]葛学锋 . 基于微课的模块化设计教学改革与实践——以《C 语言程序设计》课程为例 [J]. 电脑知识与术 ,2020,16(24):151-152+174.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/32654.html