基于NCRE的《C语言程序设计》课程教学方法探究

2019-05-24 14:12高葵李蔚妍付晓翠
电脑知识与技术 2019年9期
关键词:C语言程序设计

高葵 李蔚妍 付晓翠

摘要:根据全国计算机等级考试(NCRE)的大纲要求,针对《C语言程序设计》课程的特点,提出了相应的教学方法改革,着重论述夯实理论基础,掌握细节知识;重视实践环节,实现学用结合;实行多措并举,提高课程效率;改革考核方式,强化应用能力。通过教学方法的改进,使学生在掌握C语言语法知识的同时,也掌握程序设计的基本思想和方法,真正学会编程序,提高课程学习效率和等级考试通过率。

关键词:NCRE;C语言程序设计;经验和体会

中图分类号:TP311.13 文献标识码:A

文章编号:1009-3044(2019)09-0138-02

全国计算机等级考试(National Computer Rank Examination,以下简称 NCRE),是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。是根据社会不同部门应用计算机的不同程度和需要、国内计算机技术的发展情况以及中国计算机教育、教学和普及的现状而确定的;它以应用能力为主,划分等级,分别考核,为人员择业、人才流动提供其计算机应用知识与能力水平的证明。

《C语言程序设计》是高校普遍开设的计算机通识课程。该课程是一门实践性与应用性较强的课程,目的是培养学生算法设计的基本思想和程序设计的基本技能。课程的内容主要涉及C语言的基本概念、基本语法以及C语言程序设计的基本方法等,其内容与NCRE中的考试大纲一致,在当今就业形势严峻的情况下,能够通过学习顺利获取计算机的等级证书,无疑会增大就业的竞争力,加大自己的就业机会,提高自身的含金量。

学生的基础不同,在学习过中总会有这样那样的问题,造成学习的困难。因此在教学中需要既要重视严谨的系统理论教学,又要重视实践性环节。以下是结合NCRE在《C语言程序设计》课程教学过程中的一些经验和体会。

1 夯实理论基础,掌握细节知识

C语言课程的语法比较烦琐,琐碎,但是为了成功编写程序,我们必须掌握这些基本理论知识。

C语言课程的运算符和数据类型丰富,有34种运算符和37个关键字,数据类型有基本数据类型整数型,实数型,字符型和构造型等,还有9种控制语句。如此多量的语法知识,只有牢牢掌握,夯实理论基础,才能顺利进行下面的程序设计,否则寸步难行。

为了掌握这些知识,我们提出细节法,由点及面的掌握。如运算符的掌握,C语言的运算符丰富。首先熟练掌握每种运算符的符号和运算规则及优先级,如算术运算符有“+ - * / % ++ --”这些运算符符号,其中“++ --”的优先级最高,规则为实现变量的自增或自减,其后为“* / %” 规则为实现乘除和取余运算,而优先级最低为“+ -”,规则为实现加减。掌握这些细节后,由点及面,可以掌握其他的运算符如关系运算符,逻辑运算符,条件运算符,赋值运算符,逗号运算符等的相关语法知识了。

2 重视实践环节,实现学用结合

C语言课程是应用性很强的一门课程,既有理论,又有实践,既讲方法,又讲动手能力。NCRE是通过上机考试来完成的,重点考核学生的实践动手能力,所以我们必须重视实践环节,实现学用结合。在教学中改变“满堂灌”的做法,将学生的眼、手、脑全部调动起来,培养学生的学习兴趣。

在上课过程中,依据教学课件,将课程内容分为若干个主题,以程序设计作为贯穿各主题的主线,每个主题的教学过程由“要点讲解”“实例分析”和“疑难解答”三个阶段组成。要点讲解,重点讲述程序设计的思想和方法,辅以语法知识的介绍;实例分析,结合要点进行分析,实践;疑难解答,结合实例分析,总结难点和出错点达到掌握知识点的目的。

如在讲解输入语句的用法时,要点是我们强调输入格式和运行时输入格式的匹配,实例分析如下:int x,y;scanf(“%d,%d”,&x,&y); 运行时输入1 2 是不对的,输入1,2时正确的。疑难解答为输入格式和运行时输入格式的必须严格匹配。通过以上分析可以加深对知识点的理解和掌握。

加强实验课与理论课的联系。实验课程分为两部分完成,第一部分实验任务作为理论课的内容在课堂上讨论、讲述,确定实现算法;第二部分在实验课上验证调试确定的算法。

对于同样的算法,可以用不同的语句结构实现,比如循环结构的三个语句,很多时候可以互换,帮助学生加深理解与记忆。比如实验题目求1+2+3+…+100的累加值。可以实现如下:int i,sum=0;

for(i=1;i<=100;i++) sum+=i; //for 语句实现

i=1;while(i<=100) {sum+=i;i++; } //while语句实现

i=1;do{ sum+=i;i++;}while(i<=100); //do while语句实现

通过比较对比可以加强对循环控制语句的理解和掌握。

实践中确定若干不同的算法,比较其优劣,分析其效率。比如实验题目求任意2个整数的最小公倍数(或最大公约数),除了常用的算法外,以下算法更好理解:

int a,b,t1,t2,i,min,max

if(a

else {t1=b;t2=a;} //获取两者中的小数t1和大数t2

for(i=2;i<=t1;i++)

if(a%i==0&&b%i==0) { max=i;break;} //求最大公约数

for(i=t2;;i++)

if(i%a==0&&i%b==0) { min=i;break;} //求最小公倍數

在算法的探索和不断改进中,可以让学生体会到学习的乐趣,促进知识的掌握。

通过实验课与理论课的紧密联系,让学生真正掌握语言知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法,学会利用计算机解决实际问题。

3 实行多措并举,提高课程效率

结合不同专业、不同班级学生的具体情况,实行分层次教学,制定各有特色教学课件。例如有些专业学生偏文科方向,在讲课过程中算法就要精讲详讲,把算法原理讲明白,多进行模块实践训练;有些专业是理科方向,逻辑思维能力强,算法可以略讲多讲,拓宽数量提高质量,多进行综合实践训练。

利用多元化的教学手段,实现师生线下线上的交流和互动。本课程设立微信群,QQ群,教师会把教学资源及时更新上传,学生也会把课程作业及时上交,也可以把自己的疑惑在课下及时与老师交流,加强知识的吸收和消化。

4 改革考核方式,强化应用能力

以往的考核方式采用卷面笔试考核形式,有些学生光靠死记硬背来考试,侥幸能通过也不能反映程序设计的真实能力水平。考试形式改革后,与NCRE相结合,《C语言程序设计》的考核采用上机形式考核学生的知识掌握程度和实践能力,强调实际操作技能。上机考试使用能自动组卷和评分的考试平台,能更有效地考核学生的实践技能。

通过以上多措并举,提高了学生的学习效率,大大改进了课程学习效果。在NCRE实战中,收获颇丰,提高了等级考试成绩和通过率。

参考文献:

[1] 全国计算机等级考试二级教程——C语言程序设计[M].高等教育出版社,2018.

[2] 谭浩强.C语言程序设计[M].清华大学出版社,2016.

[3] 徐英俊.教学设计[M].北京:教育科学出版社,2001.

[4] 叶进,张向利,吴璩莉.基于问题的学习及其教学策略的设计[J].计算机教育,2007(15).

[5] 高倩,贾乃宝.基于微课模式下计算机基础课程教学研究.电脑知识与技术,2018(12).

【通联编辑:王力】

猜你喜欢
C语言程序设计
翻转课堂在C语言程序设计课程中的应用
基于幻影围棋的C语言课程教学案例设计
基于能力培养的“C语言程序设计”教学改革研究
大专院校“C语言程序设计”课程建设改革
普通高校C语言程序设计课程无纸化考试改革与实现