C语言教学新思路

2024-06-25

C语言教学新思路(精选十篇)

C语言教学新思路 篇1

由于C语言的教学对象多数是大学低年级的学生, 很多学生在进入大学之前几乎没有接触过任何一门程序设计语言。为了使初学者能尽快地进入计算机的应用领域, 教师要特别注意教学方法。笔者作为一名讲授C语言程序设计基础的教师, 一方面感到C语言教学的重要性, 另一方面也深知C语言程序设计尤其是指针和文件操作编程教学的难度。本文将从以下几个方面总结C语言教学的特点, 提出C语言教学的新思路。

1 重视第一堂课

每学期教学的第一堂课很重要, 第一堂课讲好了, 会激发学生对这门课的兴趣, 如果第一堂课就让学生有了畏难情绪, 势必影响学生的学习热情。一般在每学期的第一堂课, 笔者从以下几个方面来介绍C语言的相关知识:

1.1 C语言的重要性

在讲授第一堂课的时候, 可以先讲授C语言在实际中的应用, 还可以先给学生看一下TIOBE编程语言排行榜[1]。从2002年开始, TIOBE公司每月从常见搜索引擎 (如google、MSN、雅虎等) 、商业应用、程序员等数据来源中评出编程语言排行榜。近年来, C语言一直保持在TIOBE排行榜上前3名的位置, 近几个月更是在TIOBE上高居榜首。虽然TIOBE排行榜只是反映某个语言在当前的热门程度, 并不代表某种语言是最好的编程语言, 但是, 这个排行榜却可以给学生一个信息:所学的并不是没有用的东西。这对增强学生的兴趣起到了很大的作用。

1.2 选择能够反映C语言较多知识点的例程

目前国内大多数C语言教材的第一个例子一般是输出一行字符串如“Hello World!”等, 只介绍了少数几个知识点如printf函数以及换行输出等, 这么少的知识点, 不足以让学生对C语言有较为全面的认识。笔者认为, 在第一堂课的时候可以精选一个比较能反映全面知识点的例子介绍给学生, 目的是在一开始就让学生对C语言有一个全面的、清晰的认识。笔者用下面的程序作为C语言程序的入门介绍范例[2]。

[例1-1]求阶乘问题。输入一个正整数n, 输出n!。源程序如下:

在这个例程中, 涵盖了输入输出、函数调用、循环等重要的知识点, 即使学生还不能全部理解, 但已对C语言有了一个感性的认识, 对日后的继续学习是有帮助的。

1.3 总结C语言的所有语句, 打消学生的畏难情绪

概括起来, C语言其实只有十四种语句。在第一堂课把这十四种语句告诉学生, 可以让学生对C语言有初步的全面的意识, 也能打消学生对C语言的畏难情绪。

C语言的语句概括起来只有以下十四种, 即定义变量的语句、赋值语句、返回语句、函数声明语句、函数调用语句、分支语句 (共三种分支语句) 、循环语句 (共三种循环语句) 、break语句、continue语句和复合语句。所有的C程序, 都是由这十四种语句中的某些语句组成的。特别注意在介绍这些语句的时候, 一定要把各种语句的语法格式完整清楚地列出来。以后每当讲述C程序的时候, 笔者经常会提问学生这个程序中包含有哪些C语句, 学生比较容易看明白C程序的语句组成, 对程序的语句不陌生, 能够帮助学生很快读懂程序, 也有利于消除初学者编写程序时的常见语法错误。

2 采用多样化的课堂教学手段, 培养学生自主学习的能力

大学生正处于一个思维活跃的阶段, 大学课堂如果还采取满堂灌的方式, 不能保证良好的教学效果, 培养大学生主动学习的能力比给他们灌输知识更重要。因此, 在上课时要特别注重学生的能力培养。

笔者在讲授分支语句的时候, 介绍了if语句、if-else语句的语法和程序例子后, 布置学生自学if-else if语句的内容, 并要求在下一堂课的时候随机抽查两至三名学生走上讲台给同学们介绍if-else if语句, 也就是这部分的内容是由学生来讲课;在讲授了循环语句的for循环和while循环后, 布置学生自学和讲授do-while循环语句的内容。在每次布置给学生讲课的内容前都给出讲课的要求, 比如时间的限制, 课件制作的要求, 以及讲解和回答其他同学问题等要求都要明确地给学生提出来, 并告诉学生他的讲课情况会计入平时成绩。从学生的反馈中得知, 这些训练可以提高学生的自学能力和表达能力, 锻炼学生在众人面前演讲的胆量, 另一方面也大大点燃了学生的学习热情。

为了开阔学生的学习视野和扩大学生的知识面, 上台演讲不限于讲课本的知识, 也可以讲述一些与所学内容相关的知识。如笔者曾给学生布置过诸如“Object-C的相关知识介绍”、“安卓软件的开发需要哪些知识”、“C语言在人脸识别中的运用”、“C语言在MP3播放程序中的运用”等一些与C语言有关的最新应用演讲题目, 要求学生应用各种资源查阅资料, 尽可能拓宽自己的知识面。学生对这些内容非常感兴趣。从刚开始由老师抽查学生上台演讲到后来是越来越多的同学自愿报名上台演讲, 这个过程表明了学生对这种方式的认可和喜爱。

在教学进程中, 笔者非常注意结合最新前沿知识和实际应用来融入C语言程序设计中。如在讲授数组时, 笔者给出一个由于数组下标错误而易引发的系统攻击问题, 并给出源程序代码;讲到字符串时, 给出一个strcpy函数引发的安全问题和代码[3];讲到循环指针时, 讲解了加密解密算法的原理[4], 并给出加密和解密算法的源代码由学生分析。通过分析这些源程序代码, 使学生更深入地了解了C语言在实际生活中的应用, 进一步提高了学习的兴趣, 也加深了学生对于课程的掌握与理解。

3 注重强化算法, 训练学生的编程思维能力

学习C语言, 目的不是为了仅仅懂得一门程序设计语言, 更重要的是要让学生的编程思维得到锻炼和提高。因此, 授课的重点不应该只是强调一些语法格式, 保证程序的语法没有错等方面, 而应该把重点放在解题的思路、方法和步骤上, 从而逐步培养学生正确的编程模式, 提高学生的编程思维能力。

笔者在多年的教学中, 发现部分学生在拿到程序题目时, 根本没有理清思路就马上动手敲代码, 所以, 这类学生写出来的程序虽然能运行, 也能达到预期目的, 但是效率非常低, 逻辑也很混乱。因此, 笔者要求学生在写每一个程序之前都要首先写出解题思路或算法。刚开始这样做的时候学生很不习惯, 都是敷衍着写一些自然语言形成的步骤, 时间长了, 学生的思路越来越清晰, 算法也越来越符合逻辑, 编程能力也得到不断的提高。

在讲授排序算法时, 笔者在讲授选择排序和冒泡排序时, 注重讲授两种算法的不同, 比较了两者的效率。此外, 布置学生写一篇有关排序算法的小论文, 要求学生要选择除了上课讲过的选择排序和冒泡排序算法以外至少一种排序算法作研究, 要求学生写出算法的思路和流程, 论文有字数要求。让学生从大一就开始写小论文, 不仅训练了学生的编程能力, 也培养了学生的写作能力和初步的科研能力。

4 总结

根据笔者多年来的教学实践表明, 本文提出的一些新的C语言教学方法有利于激发学生的学习兴趣和消除学生的畏难情绪, 提高学生自主学习的能力, 也训练了学生良好的编程思维, 为学生在后续课程的学习中打下坚实的基础, 有力促进了C语言教学的发展。

参考文献

[1]We Measure Your Quality[EB/OL].http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html, 2006-08-24.

[2]何钦铭, 颜晖.C语言程序设计 (第二版) [M].北京:高等教育出版社, 2012.

[3]Michael Howard, David LeBlanc.编写安全的代码[M].北京:机械工业出版社, 2005:95-96.

C语言教学新思路 篇2

1.人事代理有什么用处?我要不要花钱去办这个东西?

2.人事代理可以给做转正定级,这个转正定级有什么用处么?会影响到今后的什么?

3.如果我的档案继续放在人事局,会不会成为死档?

1.人事代理是指由政府人事部门所属的人才服务中心,按照国家有关人事政策法规要求,接受单位或个人委托,在其服务项目范围内,为多种所有制经济尤其是非公有制经济单位及各类人才提供人事档案管理、职称评定、社会养老保险金收缴、出国政审等全方位服务,是实现人员使用与人事关系管理分离的一项人事改革新举措。人事代理的方式有委托人事代理,可由单位委托,也可由个人委托;可多项委托,将人事关系、工资关系、人事档案、养老保险社会统筹等委托区人才服务中心管理,也可单项委托,将人事档案委托区人才服务中心管理。

如果你觉得这些对你不重要的话 可以不办。

2.“干部身份”就是所谓的“转正定级”手续。高校毕业生毕业后需持由当地毕业生就业主管部门或人社系统开具的报到证(派遣证)到接收单位工作,工作满一年并填写《大中专毕业生转正定级表》之后方可获得干部身份。报到证连同转正定级表一起,就成了“干部身份”的代名词。转正定级为干部是国企和事业单位的称呼。办理转正定级手续后就具备了国家干部身份,如果变动工作调入国有单位,转正定级将作为享受有关待遇的主要依据。转正定级在档案管理的意义上用处很大:不作转正定级,档案中就没有转正定级表,按档案不全处理。机关、事业单位和规范的大企业不收此档案,也就不能录用。大城市办理引进人才解决当地户口时也不收此档案,也就无法办理。一句话,反需要审查档案的,你都过不去。这有利于规范用人单位的人事管理,有利于办理对象的职业发展,同时也是确认办理对象的干部身份的必要手续。凡本科及以上(大专也算)学生毕业见习1年后需进行转正定级而成为干部。档案里面会装上转正定级表和干部登记表。转正定级是异地调动必备条件。

这个我觉得还是很重要的。

打造新课改下的C语言动态课堂 篇3

【关键词】任务驱动 自主学习

目前,计算机已经成为人们工作、生活中所不可或缺的一种智力工具,它的工作原理是存储程序控制。因此,程序设计语言是计算机专业的一门必修课。如何让学生对这门课感兴趣,让课堂变得轻松、活跃、愉快成了计算机教师一直关注的问题。下面我就如何让枯燥乏味的C语言课堂变成动态课堂,谈一些粗浅的看法。

一、 给学生学习的空间,营造一个自主学习的环境

要有效地实施以学生为主体的“做中学,学中做”教学原则,首先要给学生营造一个自主学习的环境,让学生参与到教学活动中来。要利用“项目教学法”和“任务驱动法”为学生制定一个目标,并要求完成这个目标。在这方面,我充分利用了计算机的可操作性、可实用性等特点,要求学生课程结束后每人完成一个项目,每人交一个小软件或应用程序,内容不限,但必须是利用所学的知识进行编写的。

其次,合理安排教学内容,把教学内容设计在一个个实际“任务”之中,让在完成任务的同时去学习新的知识,产生求知欲望。在学习rand()函数的用法时我就设计了一个小任务:模拟“扫雷”游戏程序,在30×40区域内随机埋藏50个地雷。

任务分析:这是一个WINDOWS自带的小游戏,我们也都玩过,今天我们用C语言来编程模拟如何“埋地雷”。

第一:我们可以利用一个二维数组划定区域。

第二:利用随机函数来确定每一个地雷的位置,在有地雷的地方填“*”,没有地雷的地方填“O”,地雷不能重复埋设。解决这个问题需要注意的问题有:定义一个二维数组、每一个地雷的行列具体位置由随机函数产生、两颗地雷之间位置不能重复等。

通过分析,学生结合课本写出产生某一范围内随机数的表达式:

i=rand()%30+1

j=rand()%40+1

也可由例子随机产生50个两位正整数之间的随机数,引出如何产生一定数量的某一范围内的随机数。

两个例子一样的道理,但我们如何控制产生不相同的随机数据,需不需要对产生的数进行判断呢?我们要引导学生找到产生互不相同数的算法:将产生的一个数与之前的所有数进行比较,若有相同则重新产生一个,这样周而复始,直到产生的个数符合要求为止。

例如:随机产生50个互不相同的[10,99]之间的随机整数,该如何产生。

学生板书(程序段):

for(i=0;i<50;i++)

{l:a[i]=rand()%91+10;

for(j=0;j

if (a[i]==a[j])

goto l }

结合以上程序段,可以引导学生编写埋地雷程序。类似的任务还有“累加求和”等典型的题目,让学生在完成任务的过程中产生求知欲,自主地去寻求解题方法,从而掌握知识、解决任务。

二、 循循善诱,引导学生在探究过程中解决问题

在完成任务的过程中,要引导学生进行独立思考,主动地去探索,学会在探索的过程中找出解决问题的方法。

例如,我们在讲“排序法”时(四种排序法),让学生完成这样一个任务:编程序让计算机给全班同学按总分来排名次。(题目已知每个同学的总分)

在分析问题时,我用了一个小事例:从同学中找出高矮不同的10个人来进行排队,看怎样才能让这10个同学按从矮到高的顺序进行排队,看看有几种方法。

同学们各抒己见,气氛很活跃,方法也很多。就拿其中的一种方法来说,原理是这样的:先让第一个同学分别和他后面的其他同学进行比较,在比较过程中如果第一个同学比其他同学高则两同学交换位置,这样一轮下来最矮的同学就排在了第一。然后,用同样的方法让第二个同学和他后面的同学去比,如果比其他同学高就交换位置,这样第二轮下来,第二矮的同学就排在了第二。依次类推,找到第三、四个同学,直到第九轮,用第九个同学和第十个同学比时,如果高则交换,找到排到最后的两个同学。这就是我们说的“顺序比较法”。

学生板书,程序段如下:

for(i=0;i<9;i++)

for(j=i+1;j<10;j++)

if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;}

其他三种方法类似。这样,学生很快就能按实例将排队原理转化成程序语言。有很多这样的例子都可以用这种方法引导学生自己完成从文字语言到程序语言的编写过程。

C语言程序设计教学与考试改革思路 篇4

关键词:c语言程序设计,教学改革,实践教学

1 C语言程序设计的教学现状

1.1 高职院校学生现状

通过对重庆科创职业学院和多所高职院校的调查和了解, 发现大多数学生一方面学习自觉性不高、依赖性强, 往往满足于课堂上所学, 学习过程中一遇到困难就立即放弃, 缺乏刻苦学习精神。但另一方面他们对自己感兴趣的课程又十分喜爱, 且对于实践性课程较为喜爱, 只是缺少行之有效的学习方法。学生们一般对对教学过程中的纯数学抽象案例特别畏惧, 同时大部分学生外语基础与逻辑思维能力较差。

1.2 教学与考试现状

(1) 理论知识抽象, 实践滞后脱节

C语言概念复杂, 规则繁多, 使用灵活。在c语言程序设计课程中, 开始的几堂课主要是介绍数据类型、语法规则、基本函数等, 内容较单调、枯燥、信息量较大, 学生觉得乏味, 无聊, 缺乏学习兴趣和学习信心。目前很多学生在学习该课程之后, 感觉读程序容易, 编程序难上加难。部分学生甚至根本没有自已的编程思想, 仅仅是为应付考试而死记硬背, 完全背离了高职教育的初衷。因此, 如何在C语言教学中启发并训练学生的编程思维, 是每位教师应深思的问题。目前, 许多高校中C语言程序设计课程多以课堂理论讲授为主, 只注重知识体系的完整, 忽略了学生编程能力以及创新能力等综合素质的培养。因此, 理论与实践并重, 培养学生的逻辑思维能力以及解决问题的能力, 培养学生的钻研精神, 是急需解决的问题。

(2) 学生难以建立抽象的逻辑思维能力

利用计算机语言解决实际问题时, 既有抽象的数学思维, 又与传统的数学思维不同, 对逻辑思维能力要求较高。学生常常感到课堂上听懂了, 可是自己编程解决问题时, 又觉得无从下手。因此, 如何帮助学生建立计算机语言抽象思维方式是上好C语言程序设计课程的关键所在。

(3) 缺乏科学合理的考核方案

传统考核往往延续了中学期末试卷的考核模式, 缺乏对学习过程中的监考核。部分学生为了得到高分, 往往临近期末才开始突击复习, 只注重语法等细节知识或者延续中学式的题海战术, 只做题背题而不独立思考, 这样将不利于对学生解决实际问题能力的培养。此外, 由于学时有限以及机房硬件条件等因素的限制, 也影响着c语言课程的实际教学效果。

2 教学改革措施

下面作者结合多年的教学经验, 针对C语言程序设计课程教学过程中常见的问题, 提出了一些改革措施。

(1) 激发兴趣, 介绍方法, 上好第一堂课

任何一门课程对初学者来说都是神秘的, 老师要在第一堂课充分激发起学生强烈的学习兴趣。让学生明白:C语言是什么、有什么、能干什么。首先要让学生知道C语言的强大功能, 利用它能编写各种软件, 并通过幻灯片向学生展示各种结果画面以及C语言应用的成功案例图片, 这样可以初步调动学的的学习积极性。这时应接着强调C语言的重要性, 让学生明白:C语言是学好后继课程的基础, 比如数据结构、C++、JAVA等;学好C语言可以考取国家等级考试的相关证书, 拿到以后就业的第一块敲门砖, 从而激发起学生主动学习的意愿。有了意愿接下来要告诉学生用什么方法去学才可以事半功倍, 强调动手能力的培养。成功上好第一堂课。

(2) 采用多种教学手段, 充分调动学生学习积极性

首先, 对于c语言繁多的语法、语句等比较枯燥的理论知识, 教师要充分利用现代化多媒体教学设备, 制作生动的电子教案, 并配以一定的实际生活中的实例, 如电子菜单制作、百钱买百鸡问题等, 可以进行现场编程, 使学生在解决实际问题的过程中, 逐步掌握理论知识。对于一些有趣的实例, 比如说汉诺塔等, 可以制作多媒体课件, 寓教于乐, 增强课堂内容趣味性, 从而充分调动学生的学习积极性, 以及培养学生的主动学习能力与探索知识的能力。

(3) 采用理实一体化教室授课

采用理实一体化教室授课, 可以使学生听完教师所讲授的一个理论内容之后马上上机实践, 加深理解并真正掌握课堂内容, 同时也提高了学生的动手编程能力。这种授课方式, 正好可以使理论与实践相结合, 使学生对课堂内容马上理解并掌握, 所以教学效果良好。授课教师精心准备上机的例题, 在课堂组织上, 先要求学生认真听课, 然后再布置习题, 让学生当场编制、调试并运行程序, 尽量让学生把当堂课的授课内容在课内就完全掌握, 并能够熟练运用。对于学生编制的优化性能较好的程序, 教师要给予积极的鼓励和表扬, 使学生体验到成功的乐趣, 从而增强学生的学习和探索问题的热情。

(4) 嵌入式系统实验平台——智能小车实验室

学完C语言所有知识以后, 学生可在这个实验场所利用C语言从事智能小车开发与应用。综合运用本课程所学知识, 完成一个较大的设计性实验, 以加深对所学知识的理解, 提高运用知识的能力, 激发学生创新灵感, 培养学生综合编程能力。

(5) 改革考核评价方式, 提高综合素质

学校采用平时成绩+期末考核的考核方式, 平时成绩主要由平时测验、平时作业、平时出勤等综合给出。而期末考核由笔试考试+C语言上机系统考核两部分组成。笔试考核主要考察学生基础知识和基本理论的掌握情况, 而上机系统考试主要考核学生动手能力和运用知识的综合能力。通过引入平时监管, 就要求学生认真对待每一堂课, 避免期末为了应付考试而突击复习的现象。通过引入上机考试系统考核, 充分培养了学生的编程能力、解决实际问题的能力及创新能力。对以往上机考试进行了改革。现在上机考试改为采用《C语言程序设计上机考试系统》, 系统具有自动出题、随机组卷、计时收卷、实时评分和记录成绩功能, 大大提高了考试效率。每名学生的3道考题是随机产生的, 与周围学生的考题均不相同, 所有考题取自国家二级考试模拟题题库, 具备针对性, 同时《C语言程序设计上机考试系统》具备平时练习和正式考试两种使用方式, 学生平时练习时可以生成参考答案, 这样学生可以在练习过程中, 逐步提高编程水平。因为是实时电脑评分, 所以迫使学生必须经常练习, 在不知不觉中也就提高了对C语言程序设计的理解和掌握。

3 结束语

我们通过对c语言程序设计公共基础课程的教学改革, 有效增强了学生的学习热情, 激发了学生自主学习的积极性, 提高了学生编写、调试程序的能力以及编程解决实际问题的能力, 培养了学生逻辑思维能力与团队合作精神, 教学效果得到显著提高。

参考文献

[1]蔡晓丽.陈舜青.丁志云, 计算机c语言实验教学改革探讨[j].电脑知识与技术, 2010 (5) :4191-4192

[2]周欣欣, 程序设计类课程教学改革探索与实践.科技信息[j], 2012 (2)

[3]余冬梅, 基于c语言的计算机语言类课程的教学方法研究与实践.现代计算机[j]2020 (8) :67-69

[4]单方, 李美村.计算机语言课程教改探究.福建电脑[j].2010 (7) :184-185

C语言教学中存在问题 篇5

C语言课程的地位

C语言是最重要和最流行的编程语言之一,无论在中国还是在世界各国,“C语言程序设计”始终是高等院校的一门最基本的计算机类基础课程。虽然在过去的十余年中,许多人从C转而使用更强大的C++语言,但C仍然有其自身的优势,而且它还是通往C++的必由之路。

作为面向过程的程序设计语言的代表,C语言是一门非常好的教学语言。通过学习C语言,学生可以掌握自顶向下、逐步细化的结构化编程方式,以及模块化的设计,这一点是至关重要的。可以毫不夸张地说,学不好C语言课程,也就难以学习理解后续的“面向对象程序设计”、“数据结构”等一系列计算机类相关课程的内容。因此,理工科相关专业学生必须掌握使用C语言进行程序设计的基本知识和技能,为进一步学习与应用计算机打下坚实的基础。

教学中的存在问题及探讨

在C语言教学过程中,学生普遍认为C语言概念复杂、语法细节繁琐,解题常常没有思路,一上机写程序就出错,出错了也不知问题所在。结合近几年的教学经验,笔者归纳出当前C语言教学中存在如下几个方面的问题。

课程设置缺乏科学性。C语言课程主要包括顺序、选择、循环结构程序设计,数组、指针、结构体等数据类型,函数的调用,以及文件操作等内容。总的来说,内容相对繁多,细节较为繁琐。且对于初学者来说,数组、指针类型的使用等内容概念复杂(尤其是指针),理解比较困难。笔者认为,合理的课时安排应为64学时。在实际情况中,考虑到C语言课程作为计算机类课程的主要先修课程,往往设置在本科一年级。而同时进行的还有数学、英语等重要的基础课程,也需要占据大量的课时。所以,对于本科一年级学生的教学计划和课时安排往往是非常紧凑的,部分高校对于C语言课程的设置仅为48学时。由于理论学时和上机学时不充足,教学效果自然也就难以得到保障。

如何在学时不足的情况下达到教学目的,这就要求教师改进教学方法,运用现代化的教学手段。注重自身业务素质的提高,切实提高教学效率和教学质量。教师应充分备课并明确教学重点及教学难点,在课堂上主要介绍编程思路和怎样用c语言去实现算法,不要孤立地逐一介绍语法的细节,对于一些非教学重点内容(诸如运算符的优先级等知识点),应引导学生自学完成。因此,有必要对授课计划精心组织,本着强化算法、弱化语言的原则,即把解题思路、方法、步骤当做授课的重点,培养学生分析与解决实际问题的能力。

学生的算法设计能力薄弱。编写一个C程序,首先需要设计算法,然后再考虑适合的数据结构,并用C语言将算法实现。程序的灵魂是算法,而算法的设计是灵活且富有技巧的,需要学生主动思考,这对于初学C语言的学生来说极具挑战。

教学过程中,应改变传统灌输式教学模式,转而采用问题启发式教学,活跃学生思维,引导学生积极思考,而不是被动地接受和理解课本中的算法步骤。应遵循以下四个步骤来解决问题:一是分析问题,明确要做什么;二是给出求解问题的算法流程图;三是根据流程图编写程序代码,四是运行程序,输出最终结果。值得注意的是,流程图对于算法的分析与表示至关重要,教学中必须要求学生看得懂流程图、会画流程图,并且根据流程图能够顺畅地写出程序代码。对于递推、递归、穷举等基本方法,及常用的查找、排序等算法,应让学生有所了解并适当记忆。

学生的上机编程水平亟待提高。学生的上机编程能力普遍不能令人满意,遇到编写程序(尤其是规模稍大一些的程序),往往无从下手。一些学生学习完C语言课程,仍然停留在只会照抄或记忆课本中程序的水平,抑或自己写的寥寥几行代码,根本不考虑编程规范,编译报错看不懂英文提示信息,运行出错也不懂得如何打断点调试程序。这样的情形是非常常见的。

教师在给学生讲解示例程序时,应重点指出关键之处,以及容易出错的地方,要求学生通过自己上机实践来理解程序设计方法。对于常见的编译时错误,可以做一次归纳讲解,但应注意培养学生根据错误提示信息独立分析错误的能力;对于运行时错误,教师应演示并详细讲如何打断点、跳断点、单步执行等常用的调试步骤,必须要求学生掌握程序的调试方法。殊不知,编程水平就是在不断的调试程序、修改错误的过程中潜移默化地不断提高。

此外,笔者由于在从教前具有多年的软件开发从业经验,深知养成良好的编程习惯的重要性。平时应多提醒学生注意变量命名、程序缩进与对齐、添加必要的注释等问题,对于学生今后从事软件开发行业是必须的准备工作。

应该说,提高上机能力也终究还是一个孰能生巧的过程,大量的编程实践是根本。应强调学生多写程序(争取每天编程一小时),并鼓励学生自己写程序,从最简单的程序开始,从而循序渐进,积小胜为大胜。遇到复杂问题应逐步细化,采用模块化设计方法,通过编写函数来解决问题。

C语言教学新思路 篇6

关键词:新培养方案,C++语言教学,教学考一体化

《程序设计语言C/C++》是中国石油大学 (华东) 信息与控制工程学院四个电气信息类专业学生学习程序设计语言的入门课程, 也是学习后续专业课的先修课程。该课程教学内容包括面向过程的程序设计与面向对象的程序设计两部分, 涉及内容多, 语法、规则繁多, 实践性强, 对于初学程序设计的学生来讲, 具有一定的难度, 学生普遍反映比较抽象、难学。

一、新培养方案下课程教学出现的新变化

在旧版培养方案中, 本课程安排在第一学年第二学期, 以《计算机文化基础》作为先修课程, 理论授课48学时, 实验课32学时。从2013级开始, 按照学校“三三三”本科人才培养体系的新要求, 开始执行新版培养方案。依照计算机系列课程的“BUS”培养模式, 该课程出现了以下新变化:第一, 开课学期提前。由第一学年第二学期提前至第一学年第一学期;第二, 缺少先修课程铺垫。取消先修课程《计算机文化基础》, 开设《计算机应用技术实验》课程;第三, 学时缩短。理论授课缩减为32学时, 实验课学时缩减为24学时。

经过两个周期的教学实践, 发现新培养方案下本课程教学中的一些新问题, 主要包括以下几点。第一, 学生基础参差不齐, 部分学生基础薄弱。由于取消了《计算机文化基础》课程, 且《计算机应用技术实验》作为一门自学课程, 与本课程同步进行, 导致部分学生没有掌握好计算机及信息技术的基本知识, 增加了学习难度。第二, 学时少, 内容多。为了保证教学内容的系统性和完整性, 授课内容仅在48学时的基础上进行了微调, 内容安排稍显紧张, 进度较快, 增加了学生的学习难度。第三, 与专业结合不强, 特色不突出。目前的教学内容侧重讲解语法、程序设计结构等基本知识, 没有跟专业学习紧密结合, 导致学生感觉比较抽象, 不知道为什么要学, 学了以后在各自的专业中该怎么应用。

二、课程教学新举措

针对课程教学过程中出现的上述新问题, 结合本课程、面向学生群体以及四个电气信息类专业的特点, 从“教”“学”“考”三个方面积极推进教学改革, 逐渐形成了一系列行之有效的新举措。

1. 优化调整教学内容。

在保证授课内容完整性的前提下, 进一步优化调整教学内容。教学内容上, 之前授课时首先讲解面向过程的程序设计, 再进入面向对象的程序设计方法学习, 让学生感觉两部分内容是独立的, 尤其在学习面向对象的程序设计时, 大部分学生都会感觉抽象和疑惑, 导致这部分内容教学效果较差。为此, 对教学内容进行优化调整, 采用分专题教学的方式, 将整个教学内容划分为六个专题, 包括基础知识、程序设计中数据的表达、数据的运算、程序设计的基本结构、高级编程技巧、程序设计综合应用, 注意梳理各专题之间的逻辑关系。这样, 一方面能够让学生从宏观上理解程序设计涉及到的基本知识模块;另一方面也利于学生理清各个知识点之间的关系, 较好地掌握各个知识模块的内容。

2. 改革教学方法。

以工程应用为目标导向, 改革教学方法。教学方法上, 之前一般是围绕某个知识点讲解其概念、格式、用法等, 如运算符及表达式部分, 会顺次讲解各种运算符的格式、功能、优先级及结合性等。一方面, 由于知识点繁多, 学生记忆困难, 学习起来感觉枯燥乏味;另一方面, 只是笼统地进行用法讲解, 没有跟实际应用结合, 让学生感觉很抽象。对此, 采用项目驱动或任务驱动的案例教学方法, 将抽象的知识点融入到具体的专业案例中, 让学生体会到所学知识点的具体使用方法, 更容易理解和掌握, 并且与各自的专业结合, 提高学生的学习兴趣。

3. 革新考试方式。

顺应课程特点, 革新考试方式。考试方式上, 围绕上述教学内容及教学方式的变化, 积极开展考试方法改革, 使其更适合该课程的特点, 实现教学考一体化。在试卷命题上, 注重与实际应用结合, 与学生身边的事件结合, 侧重考查学生对知识点的理解与运用能力;在考试方式上, 将基础知识与程序设计类的题目分开, 程序设计类的题目采用大作业+口试或者上机考试的形式, 参考平时实验成绩, 对学生给出综合评价。

三、结语

本文针对新培养方案下C++程序设计课程教学过程中出现的新问题, 提出一系列行之有效的新举措。教学实践表明, 这些方法的运用能够有效地解决课程教学中遇到的问题, 增强本课程在专业学习中的实用性, 教学效果良好。

参考文献

[1]谭浩强.C++程序设计[M].北京:华大学出版社, 2011.

[2]赵怡.项目驱动在程序设计教学中的应用[J].计算机教育, 2013 (8) .

C语言教学新思路 篇7

一、把握学情,激发学习动力

“学情”,指学生的实际特点,主要是指学生的知识和智力发展水平,学生的学习动机、年龄等心理特征,也包括学生的认知方式和学习习惯。“学情”的差异,决定了教师教学方式、方法的差异。所以在实施课堂教学之前,深入的“学情”分析是十分必要的,能否准确把握“学情”,决定了教学的成败。

职业中学要参加对口单招考试的高三学生有其特殊性,例如,C语言在高二阶段已经教过一遍,但学生学得如何,掌握到什么程度,教师心中要有把尺,同时对于学生已养成的学习习惯和学习方式也要深入了解。我在教学中发现,很多学生虽然在高二阶段学习了这门课,但并没有真正理解程序的算法,绝大部分学生是死记程序,根本不具备分析程序、编写程序的能力。同时很多同学由于高二基础没打好,对C语言这门课已经失去兴趣,缺少学习动力,甚至有极少数同学已经放弃了这门课的学习。因而,要搞好C语言教学,我们首先要帮学生树立学习信心,形成学习动力。要让学生了解学好C语言的重要性,让学生了解C语言在单片机、工业控制、现实生活中的应用。例如可以向学生展示一款用C语言编写的俄罗斯方块游戏程序,它的界面可以做得比市面上买的游戏机更好看,功能更强大,从而让学生了解C语言不仅是一门教学语言,而且是一款功能非常强大的开发语言,学好C语言能解决生活中许多实际问题,从而帮助学生树立学习目标,产生学好C语言的学习动力。

二、多读程序,提高分析能力

程序编写是一项比较复杂的工作,非一日之功,需要循序渐进,不可操之过急。写程序如同写文章,大凡能写出优美文章的作者,都是饱读诗书的人,因为好的文采、结构、思路、优美的词语等都是来自平时阅读的积累。同样,要写出算法精妙、结构紧凑、格式规范的程序,首先要学会欣赏别人优秀的程序,只有学会读程序,才能借鉴别人优秀的编程思想、算法、风格。通过大量阅读程序,学生可以逐步培育起编程的思想,提高C语言编程的分析能力。可以说,每一个优秀的程序员都是从读程序开始的。同时学会读程序,也是程序运行结果分析、程序填空、程序改错解题的必备能力。事实上,从2010年对口高考起,C语言在技能考试和综合理论考试中只有一道是编程题,其它均为运行结果分析、程序填空、程序改错三种题型,由此可见学会阅读程序尤其重要。

三、独立编写,锤炼编程能力

“眼高手低”是很多同学学习C语言的通病,上课时听老师讲,看老师写,都觉得很简单,所以不愿意再花时间去写,但真正轮到自己独立编程时,却又不知道如何编写,从哪里入手。还有很多同学写程序时,一边写,一边看书、看课堂笔记,并不是真正地独立思考、独立编写,而是找相似的程序模仿写,只要题目稍作改变,就不会了。其实这些同学并没有真正理解程序的算法,仅仅是在模仿,一旦养成边写程序边看书的习惯,就会对课本产生依赖性,考试时脱离课本就不会写了,有的甚至连基本的语句格式都记不住。学写程序就像小孩学走路,刚开始扶着东西慢慢走,渐渐地就要丢掉东西走,后来才能越走越快,健步如飞。写程序也一样,要从最简单的程序开始编写,不要一边写一边看书,这样不但可以熟悉语句格式,掌握程序结构,而且能够培养逻辑思维能力和独立分析问题、解决问题的能力。只有通过严格的训练,独立编写程序,学生才能锤炼出优异的编程能力。

四、先过后验,培养思维能力

前面已经阐述了学会阅读程序的重要性,要读懂别人的程序,首先要读懂自己的程序,这一点看似简单,其实很难。很多学生程序写完后,根本不知道程序能不能运行,有没有问题,有的甚至明显的语法错误都读不出来,所以我认为,程序写完后,学生至少先在自己头脑中“运行”三遍,将实际的值代入程序进行分析。例如在用while语句实现1到100累加的程序设计,尽管这个程序很简单(见程序1),但很多学生程序写完后,没有阅读分析的习惯,很容易发生错误,例如很多学生将while (i<100)写成while (i<=100),这样就会将101也加到s中,但如果将程序在自己大脑中“过”三遍,看看能不能将1加到s中,是不是加到100就结束,1到100中间的数能否加到s中,经过这样分析,一般的错误都是能发现的,只有这样才能逐步提高分析程序的能力。

五、注重实践,夯实调试能力

C语言是一门实践性较强的课程,在教学过程中,教师应以实用性、熟练性为基本要求,重视学生分析问题和解决问题能力的培养,强调程序设计的训练。只有学生通过大量的练习,才能真正掌握语言知识,逐步理解和掌握程序设计的思想和方法。单招技能考试时,三道C语言上机试题,对学生解题的熟练程度和速度有很高的要求,大部分学生都感觉时间不够,所以在平时的教学中教师要合理分配理论教学和实践教学的时间,在上机实习时,最好要求学生在调试程序时不要边调试边看书,而要脱离课本,整个过程以学生独立完成为主,教师只提供必要的辅导,这样不但可以使学生在学习上得到充分的发展,培养综合运用所学知识的能力、问题求解和编程能力,而且能够培养学生的自主学习能力和探索创新的能力,从而夯实学生的程序调试能力。

六、综合训练,形成综合能力

在C语言教学过程中,教师不能一味只强调学生的程序编写能力,还要注重程序阅读、改错等能力的综合培养。事实上,在单招技能考试和综合专业理论考试中,程序编写只有一道题,其余均为运行结果分析、程序填空和程序改错三种题型。不同题型对考生能力的要求也不同,程序设计题主要要求考生根据题目要求,自己设计算法编写程序,而程序填空、运行结果分析、程序改错则要求考生有较好的程序阅读能力,要能读懂别人的算法,熟练掌握语句语法,这样才能较好地完成解题任务。所以,在平时的教学中教师要有意识地综合各种题型让学生练习,使学生形成综合解题能力,从而以“全能王”“多面手”的角色迎接对口单招C语言考核。

七、双边交流,突破课堂界限

传统教学的双边交流主要是指课堂上的师生交流、生生交流,但随着省教育厅的“五严”规定,学生在校时间大大缩短,上课时间也大大减少。如何积极响应省“五严”规定,在有限的时间里提高教学效率,而不是占用学生的休息时间,搞疲劳战,这是我们必须研究的课题。我认为教师要不断学习和创新,特别要不断学习和运用新教育教学技术,比如网络在各行各业已经得到广泛的应用,例如电子政务、电子商务、电子校务等。在这种情况下,教师可以建立自己的教学博客,将课后的作业、补充的内容、学生普遍发生的错误等相关信息放到自己博客上,学生在家可以浏览教师博客,获取自己想要的信息,同时学生也可以将自己的疑问通过博客向老师提问,教师在博客上可以解答这些问题。另外还可以通过留言系统、QQ、MSN等进行交流,而不是只局限于课堂。这样就能突破时间和空间的限制,建立一个与学生随时、随地全面交流、全员互动的网络平台,可以及时全面掌握学情,科学调整教学计划和教学方法,提高教学效率,从根本上实现学生应用能力的全面提升,使其在对口单招C语言考核中立于不败之地。

摘要:本文从C语言在计算机专业对口单招考试中的重要性和考试题型入手, 阐述了教师如何搞好对口单招C语言教学, 提高教学效率, 从而使学生在高考中立于不败之地。

关键词:计算机专业对口单招考试,C语言,教学实践

参考文献

[1]谭浩强.C语言程序设计 (第三版) .清华大学出版社.

[2]徐新华.C语言程序设计教程.中国水利水电出版社.

C语言教学新思路 篇8

一、任务驱动教学法与项目驱动教学法

任务驱动教学法, 是以老师引导学生自主学习地一种新兴地教学方法。它是老师们根据教学内容、教学目标、学生特征等综合因素来考虑如何设计教学任务, 学生们要通过自己独立探究, 从而完成任务, 以此实现技能和知识、方法与过程、价值观与情感态度三者一体目标地教学法。此方法要求:学生们地学习过程必须与所给的任务或者问题相结合;以此来探究问题, 来维持和引导学生们学习地兴趣。

项目驱动教学模式与任务驱动教学法有一定地相似之处, 其模式一般为“老师在整个地教学过程中起组织及指导地作用, 以学生们为中心, 利用情境、会话、协作等学习地环境要素, 充分发挥学生们地积极性、主动性和创新精神, 最终使学生们有效的掌握所学知识地目的。”在此模式中, 教学所关注地重点是学生们达到地程度, 指导老师地任务是根据学生们已有地知识、水平、经验和兴趣去选取适合其完成地项目, 使学生们置身于探索知识地情景中, 即在现实世界中运用所学知识去解决问题。从而在根本上将传统教学中老师满堂填, 变为“教师主导, 学生主体”的教学模式。

二、教学过程安排及教学实例应用

应用新教学方法以C语言地for语句教学这一节为实例, 可列出三个步骤地具体过程如下:

第一步:老师先提出一个任务。根据for语句循环这一节地教学目地, 要求让学生们掌握for语句地执行步骤、语法结构和功能, 其重点是怎样使用for语句对循环结构进行正确的描述。老师给学生们安排地学习任务为:用for语句循环体来实现求1+2+3…+100地总和, 并让学生们在编写程序前, 首先画出该程序地流程图, 再根据流程图编程, 对此任务中地循环结构进行具象化。

第二步:让学生们交流讨论并独立完成相关任务并总结仍存在地问题。因为学生对1+2+3…+100求总和地这个例子较熟悉, 且对完成这种简单任务地各种算法也较了解, 因此比较容易完成这样地任务。对比多组学习者完成任务地情况看, 学生们基本能够完成此学习任务。但在完成过程中, 因涉及到了学生们刚接触到的部分for循环语句内容, 还要先学习且掌握for循环语句地结构、功能和执行步骤。在上机地过程中, 学生较易出错的地方是fo语句中三个表达式地使用, 故而学生们把更多地重点放在掌握for循环语句地语法结构上, 却忽略了for循环语句如何对循环结构地描述。而且, 还有少部分学生对for循环语句地执行步骤认知还较为模糊。

第三步:老师继续引导学生们拓展这些简单地学习任务, 逐步加深学习内容。引导学生们将for循环语句中三个不同地表达式进行变换或删除, 再将得到地结果进行分析比较, 加深学生对for循环语句地执行步骤和语法结构地理解。同时, 将for语句和do…while语句及while语句进行横向比较, 并使用for语句代替do…while语句及while语句来实现相同的循环结构。

三、实施过程中地注意事项

第一, 任务及项目设计地学习目标要适当。项目的设计应该涵盖C语言课程教学尽量多的知识点, 并且能激发起学生的兴趣与求知欲。任务地难度要适中, 要确保大多数学生能完成, 在任务完成之后应该能看到其具体效果, 这样才能调动学生们学习知识地主动性和积极性。

第二, 老师要做好教学过程中应尽地职责。新教学方法在C语言课程教学中初步应用, 老师地任务是引导学生们完成教师提出地任务, 让学生们能更好地掌握学习内容。简单地对学生灌输内容难以达到此种效果。这就需要改变老师们讲, 学生们听地陈旧教学模式。老师应作为教学当中地引导者, 帮助学生们独立找寻解决问题地途径及方法, 提高学生们自主学习地能力, 培养他们地创新意识。

C语言编程思路与方法的探索与实践 篇9

题目:输入一个不超过五位的K (2/8/16) 进制正整数, 将其转化为对应的十进制整数输出

C语言程序由函数组成, 函数由函数首部和函数体组成, 独立完成某个特定功能。函数体又有变量说明、输入、处理和输出四部分, 程序中用到的变量确定变量说明部分, 已知条件确定输入部分, 题目目的确定输出部分, 题目要求确定处理部分。程序设计如同写作文, 首先审题确定算法, 接着根据算法写出对应程序, 然后大脑模拟运行, 最后上机编程、调试运行、测试验证。

第一步:审题, 确定算法 (从已知条件、目的和要求三方面来分析)

已知:输入一个不超过K (2/8/16) 进制正整数。

输入一个未知数, 通常可以用scanf () ;语句实现。本程序中, 首先书写printf (“k (2/8/16) =?”) ;scanf (“%d”, &k) ;语句, 通常首先给出输入提示, 提示用户从键盘输入2或8或16以确定进制。接着输入对应整数。若k=16, 可输入32767或C2D3, 但存入何种类型变量?若存入整型变量, 对第一个数可以, 对于第二个数则不行。因此, 我们所定义的变量应能存储符合题目要求的各种数据, 故应选用字符数组。本题中用char zs[6];定义字符数组zs存入输入的数据。

那么, 如何保证长度不超过5位呢?先输入, 再用求串长函数检查, 若长度超过5B, 则要求重新输入。如,

do{printf (“n请输入一个长度不超过5位的K进制正整数:n”) ;

scanf (“%s”, zs) ;

}while (strlen (zs) >5||strlen (zs) <0) ;

目的:输出与K进制数相对应的十进制数。

要求:将从键盘输入的K进制数转化为十进制数。

我们可用《计算机原理》学过的按位权 (Ki) 展开求和法来实现数制转换, 即将串中的字符一一取出后转成对应数字, 再乘以K的n次方 (n与字符位置有关) 。设串长为len, 最左边字符位于第1位, 则第i位应乘以K的 (len-i) 次方, 乘积加入累加器, 即得到K进制数所对应的十进制数。

如何将字符转化为对应的数值?我们分两种情况:

一是数字字符0~9的转换。因’0’的ASCII码值为48, 则可用数字字符直接减去48或’0’, 得到对应数值0~9。

二是字母字符A-F的转换。A-F对应于数值10~15, 又因’A’的ASCII码值为65, 则把字母A-F的ASCII码值减去55, 得到对应数值10~15。当然, 还应考虑输入小写字母的情况, 此时我们可在转换前用函数strupr (zs) 将串zs整体转换, 以保证程序的正确性。

第二步:根据算法写出对应的程序 (主要代码如下)

void main ()

{int i, k, len, x;double s=0;char zs[6];

printf (“k (2 or 8 or 16) =?”) ;scanf (“%d”, &k) ;

do

{printf (“n请输入一个长度不超过5位的K进制正整数:n”) ;

scanf (“%s”, zs) ;

}while (strlen (zs) >5||strlen (zs) <0) ;

len=strlen (zs) ;strupr (zs) ;

for (i=0;i<len;i++)

{x=isdigit (zs[i]) ? (zs[i]-48) : (zs[i]-55) ;

s=s+x*pow (k, (len-1-i) ) ;}

printf (“%d进数数%s对应的十进制数为:%.0lfn”, k, zs, s) ;}

第三步:大脑模拟运行 (考虑各种可能性的存在)

程序编写完毕, 要考虑各种可能性的存在, 首先要用大脑模拟运行, 不要急于上机。我们可举几种特殊情况分析, 不仅有利于检查程序的结构和逻辑错误, 还能促进用户分析、解决问题和编程能力的提高。

第四步:上机编程、调试运行、测试验证

上机输入, 编译连接, 运行调试, 用多种输入检验结果的合理性与正确性, 直至符合题意。

本道C语言题目不算太难, 可能还存在其他解法, 笔者通过本文和大家一起交流C语言编程的基本思路及方法步骤:认真审题—分析已知条件—思考解题思路确定算法—根据算法写出程序—模拟运行检验结果—上机编程测试验证, 直至程序通过、结果正确。

摘要:C语言对编程零起步的中职学生来说确有一定的难度。通过一个实例给出C语言编程的思路与方法, 望能给中职生以启迪。

关键词:编程,审题,思路

参考文献

C语言教学方法创新研究 篇10

关键词:C语言 教学方法 创新

中图分类号:G710 文献标识码:A 文章编号:1674-098X(2014)08(b)-0134-01

C语言课程是高校计算机和核心课程之一,从这门课程的实际内容上看,学生只有在上机操作中才能真正掌握所学理论知识,只有通过长时间的上机操作,学生才会学会一些编制程序和调试程序的基本技巧,也只有通过实践操作才能让学生发现自己哪部分知识比较欠缺,进而进行有针对性的学习和实践。然而,在大多数高校内,一些老师还是应用理论讲授为主的传统教学方法,这种方法已经不太适应时代发展的需求,因此,高校要与时俱进地实施教学方法改革,培养学生的操作能力。

1 C语言课程的重要性

C语言是计算机专业学生进行深入学习计算机知识的基础课程,只有系统掌握了这门课程的基础知识,在后续学习时才会得心应手。

1.1 C语言课程是学习程序设计的入门课程

计算机专业最主要的目的就是教学学生进行程序设计,程序设计领域中应用的最广泛的语言就是C语言。这种语言满足高级程序设计语言的需要,还具备对计算机的底层硬件进行方便、直接地控制的优点,是程序员深入系统底层进行编程的入门课程。

1.2 C语言是学习其他编程语言的基础

C语言具备了功能强大、效率高、简洁灵活和可移植性强的特点,编程人员在从事软件开发工作时最喜欢使用这种语言,在学校中学生系统地学习完这种语言,就可以掌握编程的基本思想,为学习其他编程语言奠定基础。

1.3 C语言是学生深入学习计算机知识的基础

在语法表述上,C语言具有简洁精妙的优势,注定了这门课程很方便进行描述算法,比如计算机专业另外一门核心课程《数据结构》,在其算法上,绝大多数都是采用C语言或C++语言来描述的,可见,加强对C语言的学习,是计算机专业的学生进行深入学习计算机知识的基础。

2 目前C语言课程的通行授课方式

一些高校的计算机授课教师仍然按照传统的教学方式来从事这种教学,严重影响了教学效果,也影响了学生的学习兴趣。

2.1 授课方式上,一些老师还采用理论讲授为主

在一些高校内,讲授这门课程的计算机老师,喜欢采用传统灌输式的教学模式,教学重点不是培养学生的动手能力,而是讲授程序设计语言的基本语法, 要求学生通过课堂学习来掌握一些理论知识,当然,这种教学方式有一定的优点,可以保证所讲授知识的系统性与完整性,但更大的缺点是轻视了对程序设计能力与思维的培养,因而造成学生学习的积极性不高,没有起到预期的教学效果。在学习内容上,一些老师很少讲授比较流行的程序开发语言如ava和C#,这就与学生的学习需求差别较大,导致学生对学习该门课程没有明确的学习目的与兴趣。

2.2 在实验操作方式上,实验的内容比较陈旧

C语言程序设计的实践性很强,这门课程教学效果的实现,离不开学生长时间进行独立的实践操作,科学、系统的实验内容是必不可缺的。然而,现实教学中,一些老师忽视教学实践环节,有的学校是教学老师和实验老师各自独立,导致了实验课环节效果较差,甚至使教学内容和实验内容相脱节相分离,根本起不到巩固所学的理论知识的效果。具体实验环节中,老师布置的任务相对简单,导致了学生在上机操作过程中,参照教科书的案例就可以完成实验任务,这种实验课是有名无实,导致了学生缺乏独立编写程序的有效训练。

2.3 考试方式上,仍然重视卷面成绩

当前高校对课程结课考核中,最常用的方法还是按照书面考试的成绩来决定,而没有充分考虑各门课程的实际情况,C语言也不例外,老师只能按照学校的要求,出一张书面书卷来让学生答题,根据成绩是否及格来判定学生能否过关,这种应试教育阶段的考试方式,对C语言进行考核时,存在大量的弊端,导致了对在对这门实用编程语言的考试时,动手能力考的少,理论知识考得多,而且理论知识中的测试内容过多拘泥于繁琐语法细节,这种陈旧的考试方式使得学生不得不通过做题、背题等方法来应对试卷,动手能力的高低、好坏程度几乎没法衡量。

3 C语言教学方式的创新途径

社会上对毕业生动手能力的要求也越来越高,如不加强对计算机专业学生动手能力的培养,势必影响这类学生的顺利就业。因此,教育部门和相关高校对C语言课程传统授课方式进行改革、创新教学方式已经势在必行。

3.1 加大授课方式的创新力度

高等院校应根据计算机专业课程的实际需要,建设一些多媒体教室,把多媒体网络机房设为主要学习场所,不再单纯依赖课堂教学,改变理论学习和上机实践相脱节的教学模式,在学生实践操作时教师再进行适当的理论指导,弱化教师教学的主体性地位,把课堂的主动性交给学生,使得学生能及时上机,及时验证,及时理解本节所学的基本理论和基本方法。在时间分配上,应适当增加操作时间,压缩授课时间,保证每个学期学生有2/3的时间学习掌握基础知识,另外1/3的时间完成一个实用性的C语言程序,在学生的实践操作中锻炼应用所学知识来解决现实问题的能力,进而培养学生动手能力。

3.2 鼓励改革结课的考核方式

目前,一些高校对C语言课程的结课考核方式,应采用传统的笔试考试方式,这张方式存在很大弊端,一张试卷并不能完全反应出学生的真实水平。因此,高校应把考核的主动权交给老师,鼓励老师应用综合、系统的考核方式。有些院校尝试运用了平时考核、期末理论考试、上机考试、课程设计、项目考察多种手段相结合考核方式,在实践中这种方式效果还不错,挺受学生的欢迎,教育部门可以适当推广这种考核方式,使这种方式更加完善,更能全面反映出学生的真实能力。

3.3 加大教材的改革力度

目前一些高校内计算机专业采用的主流教材都是传统的编排模式,先是入门总体介绍,然后是基础语法知识、程序结构、数据类型、文件的读写,这种教材过于强调各个知识点和语法细节,对程序的重要性表述的不到位,使得学生在学完了 C 语言后,却不能完整地解决一个具体编程问题。因此,高校应加大教材的改革力度,组织一些经验丰富的教师组成教材编制小组,编制出一本以程序设计为主线、兼顾基本理论基础的阐述、结合实际教学和学科竞赛的实际情况、能充分激发学生的学习兴趣的教材。

总之,改革目前C语言课程进行教学方法,不是一件简单的事情,需要教育部门、高等院校、各授课和实验教师、学生的共同努力,只要方法得当,各个部门和教师勇于创新,新式C语言的教学方式肯定会得以广泛运用。

参考文献

[1]何元惠,高占国,杨静.C程序设计语言教学方法探讨[J].中国科技信息,2007(3).

上一篇:滴管栽培下一篇:汽车运输行业