Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 教育论文 > 正文

C语言程序设计研讨式教学探讨论文

发布时间:2021-04-27 14:50:52 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):

摘要:C语言程序设计是计算机科学专业学生的一门基础必修课。但近年来,随着多种面向对象编程语言的发展和普及,C语言的教学面临着一些新的困难。本文旨在分析并探讨当前环境下C语言教学面临的主要问题,并着重探讨研讨式教学在C语言教学中的作用和方法。

关键词:C语言;考核;研讨

本文引用格式:王会勇,等.C语言程序设计研讨式教学探讨[J].教育现代化,2020,7(53):174-176.

一 引言

长期以来,C语言程序设计是我国高等院校计算机科学业学生的一门基础必修课程[1]。但随着近年来多种高级编程语言(如C++、JAVA、C#、Python等)的发展和普及,C语言的地位受到了很大冲击,其教学也面临着很多新困难[2]。一方面,快速发展的互联网技术开阔了人们的视野,使一些想学习编程技术的人一开始就把C语言排除在选择之外。另一方面,高等学校对该课程的教学也因为多种原因遇到了学生学习积极性不高、教学效果下降等问题。因此,本文拟结合教学实际,分析讨论C语言教学中出现的问题和解决方法,重点考察研讨式教学的作用。

二 问题探讨

(一)课程定位不明确,导致学生的学习积极性不高


从发展历程来看,C语言诞生于上世纪70年代,是一门名副其实的“老”语言。从使用角度看,它是一门面向过程的语言,不属于当下主流的“面向对象”阵营。如果缺乏前瞻性和系统性的视野,很多人(甚至包括一部分教师)必然会对学习C语言的用处产生困惑。再加上C语言通常是编程者学习的第一门语言,且存在语法知识点多、某些知识点较为复杂(如指针等)、非可视化等特点,导致了很多学生的学习积极性不高,教学效果难以保障。因此,搞清楚C语言在现代编程语言中的地位和学习C语言的重要性,对提高学生的学习积极性和教学效果是非常重要的。

(二)过程考核机制较难制定

对编程类课程来说,考核一直是一个难点[3]。在C语言的教学中,当前很多学校采用两种方式进行考核:(1)理论考试,即传统的闭卷笔试主要考语法规则,或让学生在编写一段小程序、找出程序中的错误等。(2)上机考试,即要求学生现场编写一两个小程序,实现设定的功能。为了应付理论考试,学生只能死记硬背;而上机考试的内容通常是一些很简单的数据运算,如数组的输入输出等,基本上“不敢”用综合性题目做考核。因为如果要求较高,在规定时间内必然有很多学生难以完成。出现这种局面与C语言课程的教学目标不明确是分不开的。

\

 
(三)教师的经验和视野不足

当前,由于师资力量的限制,很多高校的C语言任课教师并没有较好的程序基础。很多人仅仅只了解C语言,对其他高级语言了解不多,也没有足够的编程经验和视野。这就导致很多教师的主要教学目标是让学生能够通过考试,而对培养学生的编程能力和编程兴趣难以顾及。这也是当前C语言教学效果不理想的一个重要原因。

三解决思路探讨

(一)充分理解C语言的地位与作用


很多人对C语言的基本印象可能就是古老和基础,但其实C语言还具有一些不为众人熟知的属性。

1.C语言是最接近硬件的高级编程语言,很多操作系统都是用C编写的,如Linux和Unix,而Windows也是用C和C++语言编写的。如果想学习与操作系统相关的编程技术,如一些硬件的驱动程序,不了解C语言是难以胜任的。

2.C语言是嵌入式领域的霸主语言。嵌入式语言的使用范围很广,如很多微控制器程序、单片机程序都是用C语言编写的。学好C语言是学习嵌入式编程的前提。

3.更为重要的是,C语言是很多其他高级语言的基础。如JAVA,C++,C#等,都是以C语言为基础的,或与有很大相似度。这就意味着只要学好了C语言,再学习其他高级语言会容易很多。

4.C语言历史悠久,拥有广泛的用户,网络上存在大量开源代码,方便开发者进行快速高效的编程开发。

除此之外,C语言还拥有指针这种独特而强大的工具,能够帮助我们处理很多其他语言难以处理的任务。

综上所述,C语言一方面是某些特殊编程领域的必要工具,另一方面可以作为学习其他高级语言的辅助,因而具有很好的学习价值。这一点,在教学过程的一开始就应该对学生做介绍。这对提高学生的学习积极性和端正学习态度是非常重要的。图1是网络上对C语言地位的一种描述。


(二)以提高学生的编程素养和能力为最终目标,改革考核方式

1.在编程语言的教学中,正确的教学目标应该是培养学生的编程能力和素养,使其拥有能够胜任未来大型程序和系统性编程任务的能力。要达到这个目标,教学的总体原则应该是培养学生的学习兴趣和综合运用所学知识的能力。

2.降低传统笔试在考核机制中的分量。笔试仍然是一种有效的考核手段,但应以常识性或关键性知识点为主要考核内容,而不应该把重点放在语法等细节上面。因为语法细节比较琐碎,学生必须花费大量时间才能记住,这无疑会极大降低学生的学习积极性。另外,机械性地记忆语法细节在编程能力的培养中也是不必要的,因为只要有足够的主动性编程练习,就可以掌握这些细节。

3.将传统的上机考试改变为开放式、综合性的编程考核。上机编程应该成为考核的主要方式,且不应该要求在规定时间、规定地点完成编程任务,而是在学习到一定阶段时给学生布置任务,要求学生自己查询资料来完成任务。另外,上机考核的内容不应仅限于某章某节的知识点,而应该是综合性的。这就要求学生主动查询语法细节和资料,并主动思考解决问题的方式。

(三)以实践为导引,探索教学新模式

这个建议源于笔者的一个经历。在学习汇编语言程序设计这门课程时,由于当时学校对教师的授课方式没有做死板的硬性规定,我们的老师采取了一种完全开放的授课方式,即:

1.在第一次课上,老师对汇编语言做了一些整体性介绍,如讲解了计算机和汇编语言的整体架构与关系、汇编语言的主要学习方法等。随后,老师布置了两个综合性的编程任务。其中一个是要求学生用汇编语言在屏幕上显示一个随机移动的小方块,然后控制另外一个小方块来追击前一个。如果追到,就显示出成功画面,也可以同时给出声音提示。

2.从第二次课开始,上课时间完全用于答疑和对课程内容的研讨。

3.最后一次课用于考核大家的编程结果。

这门课程的学习过程和结果是惊人的。很多同学自发地凑钱购买了电脑(当时的486电脑很贵),几乎所有同学都花费了大量时间主动学习,并掀起了学习和讨论的热潮。最后,很多同学真正学会了汇编语言编程,并对编程产生了浓厚兴趣。这与传统的授课方式形成了鲜明对比。很多老师拥有经验丰富的教学经验,但习惯于按照传统模式,对每个知识点进行滔滔不绝的讲解。由于缺少编程经验,很多学生对语法细节不胜其烦,上课时难以集中精力,导致学习成绩较差,并有很多人对学习编程语言产生了畏惧情绪。

对很多学校来说,上述授课方式可能是不被允许的,因为很难监控,但我们完全可以借鉴其中的经验和理念,打破教学桎梏,探索有效的教学新模式。

四研讨式教学在C语言教学中的实践探索

近年来,包括笔者所在的桂林电子科技大学在内的很多高校都在探索研讨式教学的理论与方法[4]。我们申请获得了广西自治区的教学改革项目“大类招生环境下对基础必修课大班授课小班研讨教学模式的研究”,并借助这个项目和C语言课程开展了一系列教学探索。其中的主要措施包括[5]。

1.以大班授课。大班授课有利于发挥教师的经验和主导作用,但长时间授课容易导致学生疲劳。因此,我们尝试引入多种方式来提高学生的注意力和学习兴趣,如引入微课,以“微视频”的形式进行授课。微课主要有课堂导入型、知识扩充型和难点加强型三种。此外,将手机引入教学互动环节,让学生利用安装在手机上的C语言编程软件现场实践,并登录平台答题,或对相关讨论问题进行讨论。

2.分小班研讨。小班研讨可以让每个人充分发挥自己的见解,从而提高学习主动性。我们充分利用了学校的“智慧教室”开展研讨。研讨班主要有“汇报班”、“讨论班”、“提高班”、“补习班”四种模式。每次研讨都要根据学习主题选择合适的研讨模式。如在“算法”研讨课上,采用同色扑克牌排序和汉诺塔游戏引入问题,研讨用自然语言和流程图表示算法的优缺点,收到了良好的效果。

3.改变教学思维,努力提升教师自身的程序素养和业务水平。一方面,组织年轻教师进修、学习,另一方面,要求教师参与到教学研讨课的设计和实现全过程。这些措施有效地提高了教师的授课能力和教学效果。

五 基于网络授课的研讨式教学

近年来,编程类课程的教学出现了一些新手段和新发展,其中网络教学是被广泛看好的一种。网络教学模式实际上已经存在了很长时间,但一直没有成为一种主流手段。这种模式一方面能够解决远程教学的设想,使教学突破地域甚至时间的限制;另一方面也存在一些亟需解决的痛点,尤其是在实施研讨式教学方面存在一些限制,这也是导致其未能被广泛采纳的一个重要原因。下面针对C语言程序设计课程中现有的一些网络教学手段做一些探讨。

\

 
现有的网络授课方式主要有以下两种:

1.时间一致,空间不一致的线上直播教学。此种方式的优点是能够客服空间问题,在无法聚集的情况下实现教学。在诸如发生疫情等情况下,这是唯一可用的手段。但其缺点也很明显。一是当前大多数教师和学生没有体验过网络教学,需要时间适应。二是一旦出现网络崩溃等意外,会严重影响教学。三是很难监控学生的学习状态。最后,从目前的使用情况来看,现有的一些主流直播授课平台存在一些功能不完善的地方(见表1)。

由此可以看出,在基于现有手段的网络授课中,如何开展研讨式教学是一个难点。一方面,网络条件存在限制(很多直播软件一旦打开音、视频交流,就会卡顿),另一方面现有直播软件在讨论功能方面存在限制。例如腾讯课堂还没有设计多人讨论的功能;而钉钉允许所有人讨论又容易造成混乱。因此,比较理想的一个思路是设计能够容纳少量人(如10人)左右的语音讨论室,并通过语音识别功能自动记录和导出讨论的主要内容。这种讨论可以作为学生成绩的参考。我们在去年实施了基于智慧教室的“小班研讨”就具备了上述特征。

2.时间和空间都不一致的视频课。这种方式要求教师提前录制好授课视频,然后放置到网站上,学生可以在任何时候观看,并完成相应的作业等任务。代表性方案是中国大学慕课和学堂在线等网站。这种方式的优点是容易协调时间和空间矛盾,便于教师和学生合理安排时间。其缺点是授课方式比较单一,最突出的一个问题是很难设计互动和研讨。当前中国大学慕课和学堂在线都没有设计实时讨论功能。当然,这个问题可以通过一些辅助手段(如QQ群讨论)等来解决。

六结论

我们对当前C语言程序设计课程遇到的一些新问题和困难进行了总结和探讨。首先分析了C语言在当前高级编程语言中的地位,然后分析了改革C语言教学过程和考核方式的一些有益思路。最后重点讨论了研讨式教学对提高C语言教学效果中的作用。

参考文献

[1]刘顺.C语言程序设计教学方法改革研究[J].教育现代化,2019,6(89):50-51.
[2]袁玉英,罗永刚.C语言教学方法探讨[J].电脑知识与技术,2019,15(33):136-137.
[3]宋积满.C语言教学过程性考核的设计及应用探讨[J].时代农机,2019,46(08):114-115+118.
[4]黄丽韶.研讨式教学法在C语言课程中的探索[J].现代计算机(专业版),2017(28):23-25+29.
[5]唐士杰.C语言程序设计课程“大班授课、小班研讨”教学模式探究[J].西部素质教育,2019,5(11):134+136.

关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/30794.html
本文标签: C语言 ,考核 ,研讨

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml