以竞赛培养模式推动《C程序设计》课程教学改革

2018-03-21 09:27周杰冷震北
电脑知识与技术 2018年3期
关键词:C程序设计竞赛改革

周杰 冷震北

摘要:针对《C程序设计》课程教学过程中存在的问题,结合课程教学与各类程序设计比赛所涉及的知识特点,将竞赛与课程教学相结合,从培养数学思维,精心设计训练题目,编写实验指导书,课程考试方面这几个角度做出了相应的改革,并应用在课程实践教学中,具有一定的效果。

关键词:竞赛;教学;改革;C程序设计

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)03-0158-02

1 概述

高校各专业本科教学中《C程序设计》是一门特别重要的基础课程,特别是在偏应用型高校本科教学计划中占重要地位和作用。《C程序设计》的教学目标不在是单纯地了解和掌握其基本内容,而是致力于培养学生用编程独立解决现实问题。在传统教学中《C程序设计》的理论教学与实践教学结合不够紧密,学生只是单纯对书本上的程序进行敲写,实验教学效果不尽如人意,学生无法用程序独立解决问题[1]。

ACM竞赛、蓝桥杯和大学生程序设计竞赛是重庆各高校比较看重的学科竞赛,也是在大学生中比较有影响力的赛事。赛事里面都有c语言组,有团队赛个人赛,有助于培养学生自主学习,自主开发能力,也有利于培养团队合作能力,为以后步入社会打好基础。

《C程序设计》是这些竞赛的基础,参加这些竞赛可以不断完善理论知识,还可以将理论转化为实践,增加学生的学习积极性。

2 改革的必要性

《C程序设计》课程教学过程中存在的问题:

1) 大部分高校的教学模式是完全遵循书本内容和知识结构,通过老师的讲解让学生掌握知识的基本构成,然而对于这样的单向性的直接灌输理论知识,在现在学生基本不预习的情况下,效果明显不近人意。

2) 程序设计要想提高不仅需要掌握好较强的理论知识,還需要大量的习题练习,在现在的大学教材里面,课后习题不难易程度也达不到要求,没有成模块化练习体系,学生不能根据课后作业对某一知识点做强化训练,并且教材知识分配并不合理,第一章都比较难入门的,一开始就导致大部分学生有畏难情绪。

3) 《C程序设计》一般是开设在大一,学生刚刚进入高校,计算机基础水平参差不齐,导致学习任务很难达成一致,再者老师的教学时间被不断压缩,教学压力增大,不得不减少教学内容,导致知识跨度比较大。本校的教学进度中已经把《C程序设计》中的灵魂章节指针,去掉了。

在教学过程中学生才是主体,要让学生融入学习。随着各高校向应用性本科的逐渐转型,以及不断深入,传统的教学方法将逐步淡出舞台,所以尝试以竞赛培养模式推动《C程序设计》的教学改革势在必行[2][3][4]。

3 改革措施

根据我校指定的应用型人才培养目标,通过对专业课程体系,学习目标,以及考虑到大学生竞赛所涉及的各种知识,依托程序设计竞赛,将《C程序设计》改革与程序设计竞赛紧密结合,用以解决《C程序设计》课程教学过程中存在的问题,具体措施主要有以下几个方面:

3.1 培养数学思维

教学内容的设计是教学改革的核心,结合《C程序设计》的知识点,适当灌输数学思维,让学生以流程图的形式,展示其数学思维。比如判断闰年,冒泡排序,快速插入等,都可以先用数学的思维画出流程图,然后再根据流程图写出相应的代码,增加学生以数学的思维方式解决程序的能力,数学思维能力的高低决定了程序设计的高低,要不断提高数学思维,进而提高程序设计能力。

3.2 精心设计训练题目

任何竞赛题目都有命题规范、输入输出、情景描述等相同特点。在《C程序设计》上机操作中,将上机题描述成竞赛题的模式,让学生熟悉竞赛模式,以及竞赛流程。增加学生的独立思考能力,而不是一味地照着书本敲写代码。可以将这个题精心设计成如下形式:

[问题描述]:长方形的长为a,宽为b,求长方形的面积

[样例输入]2,3

[样例输出]6

[程序保存名称] 1.1.c

[问题描述]:对于任意三个数,求其中的最小值

[样例输入] 2,7.1,2.1

[样例输出]2.1

[程序保存名称] 1.2.c

这些训练题目难易程度不一样,可以分为入门型,提高型,综合型,将原有的书本中的比较死板的例题以及课后习题,转换为通过具体问题描述给出实验题目,创造了一种与现实相结合的环境,解决了学生们经常提的学了有什么用的问题,照着抄书上的有什么意义等问题。提高了学生的积极性,而且为后期的竞赛做足了准备。

3.3 编写实验指导书

很多高校的《C程序设计》都是没有实验指导书,一般都是凭借着教师的经验,以及相关的课后习题给学生提出相应的练习,需要重新编写实验指导书,对每一个章节安排入门型,提高型,综合型多种上机习题。

学生根据实验指导书完成相应的习题,并提交上机作业。再参考指导书上的资料完成相应的课后习题。提交习题的时候,均需要提交电子版的作业,以及相应代码,并规定每一行代码需要有相应的注释。

通过这些题目的训练,加深学生对《C程序设计》在实际生活中应用的理解,增强学生的积极性,也使学生明白《C程序设计》的重要性,这样以竞赛模式编写的实验指导书,可以大大增加学生的实际动手能力,也解决了学生喜欢抄袭作业的习惯。

3.4 改革课程考试方式

高校《C程序设计》平时成绩主要来自考勤以及课后作业,期末考试以卷面的形式进行课程考核。导致大一部分同学在考试的时候进行僵硬的背诵,只注重理论知识,对提高学生的实践能力帮助不大。

可以将传统的期末闭卷考试,改为开放性的模拟竞赛上机考试。可以将平时学生的上机表现作为平时成绩。然后将成绩综合,作为学生的考试成绩,并将期末考试成绩排名靠前着推荐进入竞赛小组,也解决了竞赛选拔人才的问题。

4 结束语

针对应用型人才培养目标,本文对C程序设计课程教学提出了改革。现在正在不断尝试实践中,从学院21个班的期末考试成绩分析,初步显示,期末考试成绩在稳步上升,

该教学模式有利于调动学生的积极性,使学生了解了学习《C程序设计》的重要性,在不断的练习中,使学生有效地将理论和实践结合起来,提高了学生程序设计能力,并且在最近几年的竞赛中,教往年涌现出了更多地优秀学生,竞赛成绩也在稳步上升。

参考文献:

[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.

[2] 吴永辉,王建德.数据结构编程练习[M].北京:机械工业学出版社,2012.

[3] 谭浩强.C程序设计(第4版)[M].北京:清华大学出版社,20010.

[4] 王晓东.计算机算法设计与分析[M]. 2版.北京:电子工业出版社,2004.

猜你喜欢
C程序设计竞赛改革
2020丝绸之路数学竞赛
改革之路
我看竞赛
改革备忘
C程序设计趣味教学初探
改革创新(二)
接轨全国等级考试,探讨高校C语言课程教学改革
论中职生C程序设计学习兴趣的培养
瞧,那些改革推手