您现在的位置: 论文网 >> 教育论文 >> 学科教育论文 >> “C语言”实验教学的探讨论文

“C语言”实验教学的探讨

作者:涂刚
出处:论文网
时间:2007-01-26
摘 要:学生通过学习C语言,主要是掌握程序设计的一些基本方法和技巧。因此,在重视理论教学的同时,必须加强实验环节。只有在上机实践中学生才能正真学会如何编写程序和调试程序,体会到“优化”程序;也只有通过上机实践才能更好地掌握程序设计的理论知识。本文在分析了C语言实验中普遍存在问题后,探讨了C语言实验教学改进,并提出了具体的改进方法。

关键词:C语言 程序设计 实验教学 程序优化 协作学习
一、引言

许多院校的计算机专业开设了C语言课程,将其作为学生学习程序设计技术的入门课程,这与C语言的特点是分不开的。C语言不但可以编写系统软件,而且可以根据用户的需要编写出满足用户要求的应用软件,尤其是C语言具有很好的对计算机的硬件编程能力。同时,C语言具有逻辑性强、处理问题周密、严谨的特点,是集知识和技能于一体,实践性很强的课程。学生通过学习C语言可掌握程序设计的一些基本方法和技巧。然而C语言的数据类型较多、表达式丰富、语法结构较复杂,使它成为一门教师难教、学生难学的课程。因此,在重视理论教学的同时,必须加强实验环节。只有在上机实践中学生才能正真学会如何编写程序和调试程序,体会到“优化”程序;也只有通过上机实践才能更好地掌握程序设计的理论知识。可实际在C语言实验中,受“在学校里牢固掌握基础知识,毕业后在实践中积累经验”这种传统的教学理念的影响,加上现有C语言教材主要是在本科教材上的缩写,因而普遍存在以下几个问题:

第一,学生没有明确的实验目标,实验兴趣不大。上机时一些学生无所事事或玩游戏,不但害了自己,还影响其他同学。第二,现有教材中上机实验都立足于C语言本身的一些语言规则,和实际开发脱节,没有较容易理解和生动有趣的范例,比较死板、枯燥。第三、现有实验大多注重语句、语法等,没有把编程解题思路和程序测试等放在首位,对学生分析问题和解决问题的能力训练不够。

二、实验教学探讨

职业技术学院的职业性教学过程中更注重职业岗位能力与职业技能的训练,注重解决问题、分析问题和自学等能力的培养。在C语言实验中,主要是引导学生突破传统的思维方式,培养学生读、写程序和调试程序的能力以及提高上机的学习兴趣和自主实验的方法技巧等。

1.简化入门实验,提高学生实验兴趣

学生大多已习惯于计算机的图形操作界面,且基础比较薄弱,动手能力相对也差,加上或多或少的惰性,而开始学习C语言后,突然进入的是一个纯英文的界面和纯键盘操作,这种反差很大。为减轻学生畏惧压力,让学生容易上手,可简化C语言的入门实验操作:

(1)在桌面上创建TC的快捷方式,双击后可直接进入TC编辑环境。(2)在编辑、编译、连接及运行C语言程序时,教学生直接按F2键进行存盘操作,Ctrl+F9运行程序,Alt+F5看到运行结果。而没必要让学生先认识TC的菜单中每个英文单词的意义等,将TC环境的细节认识和程序的编译、连接等单步操作留到后面实验中逐步了解。学生一上机就能体会到成功。并利用发音和动画程序引起学生的兴趣。

2.设计针对性的实验

x=x/a

x=x+1

a>1&&b= =0

a= =2||x>1

A

B

C

D

n

y

y

n

E

加强学生对程序错误的诊察和校正能力、测试关系和逻辑表达式的能力、程序代码优化能力等方面的培养。从输入输出语句上机开始,我们有意设计了相应的上机实验。如在选择结构中,设计如下过程:(1)实验内容和步骤:

















图1

①例:有如下程序段(让学生填写成完整的程序):

{……

if (a>1 && b= =0) x=x/a;

if (a= =2 || x>1) x=x+1;

}

为了更容易看明白程序的逻辑结构,用图1所示的流程图来加以描述。要求增加一些输入语句和输出语句,以便使上述程序段能在不同a,b和x值下运行,并且能观察程序流程经过(覆盖)了哪些语句、哪些分支及哪些路径。

②实验步骤:记下分别使用下列各组数据运行时的操作流程。⑴a=1,b=1,x=1;⑵a=1,b=1,x=2;⑶a=3,b=0,x=1;⑷a=2,b=0,x=4;⑸a=2,b=1,x=1;⑹a=1,b=0,x=2;⑺a=2,b=1,x=1;⑻a=3,b=0,x=2;

(2)分析讨论:①用哪一组数据就可以使程序段中的每个处理语句都执行一次?为了找出程序中各条处理语句中的错误,应该使用什么样的数据对程序进行测试?请上机验证自己的结论。②用哪两组数据就可以使程序段中的每个分支都至少运行一次?这种情形与上面的讨论有何不同?如果为了找出程序中各分支中的错误,应该使用什么样的数据对程序进行测试?请上机验证自己的结论。③用哪两组数据就可以把判定框中的每个条件都运算一次?如果为了测试出判定条件中的错误,应使用哪些数据对程序进行测试?请上机验证自己的结论。④用哪四组数据才可以把各种条件的组合都检测一遍?如果为了测试各种条件组合的情形,应该使用什么样的测试数据?请上机验证自己的结论。⑤用哪四组数据才可以把从起始到终止的各条路径都覆盖一次?如果为了测试出程序在不同路径下的错误,应该使用什么样的测试数据?请上机验证自己的结论。

 [1] [2] [3] 下一页

论文搜索
关键字:C语言 实验教学 教学
最新学科教育论文
软件工程专业“计算机网络”课程实验教学研
“赛教学训”四位一体化的物联网工程专业人
浅议幼儿美术趣味教学及创新能力的培养
如何利用奥尔夫音乐教学法培养幼儿的创造力
解读体育游戏在初中体育教学中的应用及影响
如何在美术教学中营造快乐的氛围
微积分慕课教学资源与应对策略探究
浅析在德育课教学中如何灌输团队观念
MOOC引领下中学历史课程多元化教学模式研究
“情感过滤”假设对大学英语听力教学探讨
热门学科教育论文
浅谈语文教学中学生创造力的培养
变“教师教,学生学”为“教师教学生学”
素质教育与小学语文教学
小学“语文综合性学习”实践初探
素质教育和小学语文教学改革
现代体育课堂教学重在创新
浅谈《体育课程标准》与体育教师观念的转变
电教手段优化体育教学
陶行知健身思想研究
简论现代游泳技术与训练的发展方向