地方应用型本科院校C 语言程序设计 课程教学改革与实践初探

2020-07-16 04:18:10陆有丽蒋军强欧先锋
关键词:平时成绩程序设计编程

陆有丽, 蒋军强, 欧先锋

(湖南理工学院 信息科学与工程学院, 湖南 岳阳 414006)

0 引言

中国大多数高等院校把C 语言程序设计作为计算机语言入门课程. C 语言较其他语言来说, 语法结构简洁, 算法描述直观通用, 程序性能高, 学好C 语言将有助于后续其他语言的学习. 开设C 语言程序设计课程的目的是培养学生初步具有求解复杂科学问题的计算思维能力、算法设计能力、程序编写能力和测试分析能力, 这要求学生具有较强的探索精神和动手能力[1]. 本文主要以湖南理工学院(地方应用型本科高校)的C 语言程序设计课程教学为例进行阐述.

1 存在问题分析

1.1 课程开设情况

C 语言程序设计这门课程一般开设在大学一年级第1 学期, 绝大多数学生都没有编程语言基础, 也没有任何用计算机解决问题的思维习惯[2]. 而培养思维习惯并非易事, 需要通过大量的实践训练才能慢慢形成, 这也是很多新生刚接触该门课程时觉得既抽象又难懂, 听起来好像明白了但自己实践时又不知从何下手的原因.

以湖南理工学院为例, 计算机类专业C 语言程序设计课程有84 课时与56 课时两种, 理论课与实践课的比例均为2:1. 理论课主要按章节讲解语法知识, 并辅以教师现场演示、例题讲解; 实践课针对所学章节知识给出实验目的、实验内容, 学生做完练习提交代码即可. 因为实践课时的限制, 学生在课堂锻炼的时间太少, 教师也无法在课堂有限时间内完成所有学生问题的解答, 如果学生课后没有投入大量时间进行实践, 想仅仅通过课内学习就学好该门课程, 是不现实的. 该门课程需要学生花费大量时间动手编写程序, 通过自己的独立思考才能够慢慢从中体会以计算机的思维方式解决现实中的问题, 从而慢慢形成计算机思维习惯, 提高自己的编程能力. 那么, 如何激励学生在课后多花时间去练习编程便是一个值得深思的问题. 除了学生的兴趣和自觉性之外, 还需要教师的悉心引导和监督.

1.2 课程考核情况

高等院校课程的期评成绩一般由平时成绩和考试成绩组成, 湖南理工学院C 语言程序设计课程期评成绩由平时成绩、上机训练、期末考试构成, 占比分别为10%、40%、50%. 平时成绩主要考核学生到课情况和课堂内的听课表现; 上机训练主要考查学生的上机准备情况、课内上机时的表现; 期末考试采取闭卷笔试形式. 从上述成绩构成和考核内容可以看出, 不管是平时成绩还是上机成绩均来自C 语言程序设计课堂, 且大多数时候平时成绩主要看学生是否到课, 上机训练主要看学生实验课实验任务的完成情况, 而整个期评成绩的构成没有涉及对课后学习的过程管理. 如何将考核与课后学习有效联系起来, 是一个值得探讨的问题. 我们在教学实践中主要是加强过程化管理, 并将过程化与考核挂钩.

1.3 学生学习现状

学生学习比较松懈. 因为C 语言程序设计课程一般开设在大学一年级第1 学期, 学生们经过十年寒窗苦读, 终于进入到大学, 脱离了父母多年的管束, 且课后的时间相比于高中多了很多, 加之大学管理相对宽松, 学生的学习压力一下就减轻了许多, 学习也就松懈了[3].

学生找不到定位, 学习兴趣不浓. 高中时期, 学生学业负担非常重, 教师与家长几乎是保姆式的管理, 甚至有些教师为了鼓励学生, 灌输“现在努力学习, 考上大学就轻松了”的思想. 受这些因素的影响, 很多学生进入大学后不知道自己要做什么, 对自己专业的认识也不清晰, 且又是初次接触这类课程, 思维方式还未形成, 导致学习兴趣不浓.

自主学习能力和创新思维能力不足. 地方本科院校学生在抽象思维、知识的灵活运用、学习主动性和创新性等方面比重点院校的学生要稍微薄弱一些[4]. 在教学的过程中不难发现, 很多学生“听得懂, 编不出”, 主要原因在于实践少、兴趣不浓、不动脑、过程管理不到位等.

2 教学方法的改革与实践

鉴于以上存在的问题, 首先应从思想上对学生进行引导, 消除他们的懈怠情绪, 让学生充分了解所学专业, 并认识到该课程在行业和专业中的重要性, 帮助学生明确目标和树立信心, 调动其积极性. 其次, 在实际教学过程中, 加强过程化管理, 并将过程化管理中的各项内容与考核挂钩, 充分利用国家优质免费在线MOOC 资源, 全面提高学生学习兴趣和编程能力.

2.1 通过心理疏导、专业和课程介绍, 调动学生积极性

相比高中而言, 大学的自由时间多了, 教师不像高中那样全天守在身边, 家长的管束也鞭长莫及, 有些同学可能会感到失落不知要做什么, 再加上对专业认识不够、自身的控制力不强和抵抗不了网络诱惑等, 学习一下就放松了, 上课请假、迟到、旷课现象增多, 有些来上课的学生也没有好好听课, 趴桌上睡觉、讲话、玩手机. 这时候教师对学生的关注、关心、肯定、鼓励就显得非常重要, 能帮助他们慢慢适应大学生活. 另外, 让学生充分了解课程也十分重要. 首先在第一堂课介绍该课程在专业中的重要性及与后续课程的关联, 并给出世界权威编程语言排行榜(图1)和前十名编程语言长期走势图(图2), 让学生了解所学语言在行业的使用情况, 有利于坚定学好该门课程的决心, 不至于让学生觉得所学知识已经过时、无用. 其次在教学过程中, 以正面管教方式多认可、鼓励、关心学生, 并通过班干部了解学生学习情况, 与学习不好不认真的学生私下进行交流, 让学生感受到关爱. 实践表明, 当学生感受到被关心、被认可时, 会极大地激发其学习主动性.

图1 编程语言排行榜(2019 年3 月)

图2 前十名编程语言长期走势图

2.2 对班级进行分组管理、过程管理、项目管理, 加强学习过程引导与监督

C 语言程序设计是一门实践性非常强的课程, 实验课上尤其是刚开始时, 许多学生会调试不出结果, 由于课堂时间有限, 教师无法对所有学生的问题进行解答. 同时有的学生高中接触过C 语言或者因自身兴趣学习过C 语言, 导致学生的基础不同, 再者不同学生对课程的接受能力不一样, 对于相同题目, 有的同学认为很难, 有的同学却认为很简单, 因此不能采用统一模式管理班级. 针对此情况, 我们在教学实践中进行了改革, 对班级进行分组管理. 具体做法是开课之前了解班级编程语言学习情况, 挑选有一定基础或兴趣的同学作为组长, 按照5 至6 人一组对班级进行分组, 并建立包含任课教师在内的小组QQ 群. 实验课上遇到问题时, 先自己寻找解决办法, 自己解决不了的或者通过自己努力解决了的可以在小组内讨论与分享, 小组无法解决的再来找教师求解. 这样既化解了因上课时间限制教师无法解决所有学生问题的窘境, 又提高了学生独立思考和团队合作的能力. 通过小组QQ 群还可将课堂延续到课后, 当学生们遇到困难的时候, 可以及时地和同学与教师进行讨论, 避免出现遇到问题无法找到教师和同学讨论而放弃学习的情况, 教师也能通过学生的提问及时地掌握学生的学习状况以便调整自己的教学, 这也可算是过程化管理的一个方面, 且在后续C 语言课程设计中可以以此小组作为一个团队或者项目小组.

C 语言程序设计课后需要花大量的时间进行实践, 以便培养学生的程序设计思想和编程能力, 可以通过对班级进行过程化管理来实现课后学习管理. 利用湖南理工学院信息科学与工程学院开发的“程序设计类课程学习平台” (图3), 实时引导和监督学生课后进行编程训练. 具体做法是根据学生所在不同专业, 要求学生在此平台完成一定数量的编程练习, 组长负责本组人员练习情况的管理并及时向任课教师汇报, 任课教师也可以通过学生在平台练习的时间、数量等判断学生练习的真实性与有效性, 并两周通报一次班级练习情况, 加强过程化管理. 对班级以小组为单位分配项目, 每个小组分配一个项目, 根据学习进度通过小组QQ 群和同学讨论分解任务, 按照课程的学习进度慢慢完成整个项目. 通过在线编程练习的锻炼和项目的锻炼, 学生具有了一定基础的分析和解决问题的能力, 代码书写也达到了一定数量, 编程兴趣和能力得到了极大提高.

图3 程序设计类课程学习平台

2.3 充分利用MOOC 资源

近年来, 我国建立了丰富的在线MOOC 资源, 它具有免费、随时随地可学习、教学资源优质等优点, 可以帮助教师更好地教学、学生更好地学习[5]. 通过加入MOOC 课程, 学生可以在线完成作业、考试, 通过考试的学员可以获得相应的MOOC 证书. 我国在线MOOC 资源中, 每个学期都有“程序设计语言C”这门课程, 应鼓励学生参加网上MOOC 的学习. 对C 语言学习有困难, 或者上课没有听懂的同学, 可以通过在线MOOC 进一步学习. 尤其对于转专业过来的学生, 因为转专业过来时, 该门课程已经上了几周, 或者这门课程已经开完了, 要补上这门课程只能自学, 或者等到下一届再去上该课程, 而这又会影响到后续相关联课程的学习, 这时候通过在线MOOC 学习就非常合适. 在日常的教学过程中, 鼓励学生参加在线MOOC 学习, 并对通过了MOOC 在线考试的学生, 在过程化考核中会给予相应的分数, 这样既为学生提供了一个学习平台, 又能给予他们一定的分数, 从而扩大了过程化管理的范围, 也提高了学生的学习热情和兴趣.

2.4 通过面向过程考核改革, 提高学生编程能力

大多数高等院校该课程期评成绩由平时成绩、实践成绩、期末考试成绩组成, 但前两部分大都只针对课堂内表现进行考核, 考试也只有一次, 这种考核形式不利于过程化学习和管理. 为了鼓励学生在课后进行编程练习, 提高编程能力, 湖南理工学院信息科学与工程学院开发了“程序设计类课程学习平台”, 建立了具有大量经典试题与创新思维试题的题库. 在教学过程中, 要求计算机类学生在线做题120 道, 非计算机类工科专业学生做题80 道, 并根据学生做题的情况将此成绩纳入到实践成绩中. 两个星期公布一次做题情况, 对做得好的学生在课堂上进行表扬, 但不批评做得不好的, 只是将做题情况表放在上课课件中展示给学生. 为了进一步加强过程化学习, 根据学习进度从试题库中抽取试题进行阶段性考核, 考核结果计入平时成绩并公布给学生. 在这种透明制度下, 学生可以清晰地了解自己阶段性学习情况. 实践教学表明, 每一位同学都有一颗上进的心, 做得不好的也会产生危机感, 以后会更加勤奋学习, 这就形成了一种你追我赶的学习氛围, 学生的编程能力和兴趣也就慢慢地提高了.

3 教学效果

通过以上教学改革, 充分调动了学生学习的积极性, 提高了期末考试成绩, 平均分达到80 分以上; 通过过程化管理, 学生的实践能力得到了大幅度提升, 在“程序设计类课程学习平台”做题量平均达120 道, 提高了实验课和C 语言课程设计的质量; 通过改革, 学生对程序设计的兴趣更加浓厚, 很多学生自发参加程序设计大赛, 积极申报校级和省级大学生创新创业项目. 由此可见, 教学改革在培养学生的兴趣和提高实践能力方面效果显著.

4 结束语

以上是我们在C 语言程序设计课程教学过程中对教学方法进行的改革和尝试. 主要本着“以学生为本”的心态, 实时掌握学生学习动态, 努力分析教学过程中出现的问题并予以解决, 注重学生自主学习能力、创新能力、动手能力的培养.

猜你喜欢
平时成绩程序设计编程
编程,是一种态度
少先队活动(2021年2期)2021-03-29 05:41:04
元征X-431实测:奔驰发动机编程
编程小能手
学生天地(2020年17期)2020-08-25 09:28:48
基于Visual Studio Code的C语言程序设计实践教学探索
计算机教育(2020年5期)2020-07-24 08:52:56
高校体育专业术科课程平时成绩评定方法的探究
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
电子制作(2019年9期)2019-05-30 09:42:04
让平时成绩回归本真
高职高专院校C语言程序设计教学改革探索
播音与主持艺术专业的平时成绩评定与构成——以河南工业大学为例
新闻传播(2016年13期)2016-07-19 10:12:05