APP下载

《C语言程序设计》教学改革探讨

2012-11-22黑龙江八一农垦大学信息技术学院黑龙江大庆163319

长江大学学报(自科版) 2012年22期
关键词:C语言程序设计C语言程序设计

许 楠 (黑龙江八一农垦大学信息技术学院,黑龙江 大庆 163319)

《C语言程序设计》教学改革探讨

许 楠 (黑龙江八一农垦大学信息技术学院,黑龙江 大庆 163319)

为提高学生的学习效率,增强实践动手操作能力,并根据《C语言程序设计》课程特点,提出教学改革的几点建议:理论教学改革方面打破先讲授知识点,再讲解实际案例这一旧模式,提出“倒叙法”理论教学模式,该方法能够较好的调动学生学习的积极性,通过具体案例对该方法的可行性进行了验证;建议多媒体与板书相结合的授课方式,使两者的优点可以得到充分的发挥,共同使用更适合于编程语言类课程的讲解;实验课建议1名教师利用多媒体投影设备对共性问题或难点进行详细讲解,其他指导教师在台下对个性问题进行答疑。

《C语言程序设计》;理论教学; 授课方式;实验课

《C语言程序设计》是一门计算机编程语言类课程[1],其语言的特点有:①既具有高级语言的基本结构,又有低级语言面向机器较为实用的特点,这点从它可以对计算机的基本工作单元进行操作得以证实;②代码与数据彼此独立,用户面对的是各个函数,这种结构使程序层次清晰,易于理解,方便人们使用与调试;③数据类型齐全,通过引入指针,可以方便的对“位”、“字节”、“地址”直接操作,提高程序的运行效率;④C语言适用范围广泛。

对于从未接触过编程语言的学生,往往老师讲的很生动,但仍然有“不知所云”的感觉,似乎该门课程很抽象,不明白为什么几个语句就可以让计算机执行某些功能,还有很多疑惑使得学生们有心无力去深入学习该门课程。随着多媒体技术的不断发展以及网络的普及,该门课程的教学方法得到了一定程度的改善,但也同时存在不足之处。现根据上述该课程的特点以及目前的教学现状,提出以下几点教学改革的建议。

1 理论教学方法改革

1.1“倒叙法”理论教学

课堂理论教学往往先讲授知识点,然后给出实际案例,对知识点进行应用,学生往往对知识点的理解上就会出现困难,对于将其应用到解决实际问题自然从心理上就有一种抵触情绪存在,针对此现象可以探讨一种新的教学方法——“倒叙法”。“倒叙法”就是将授课顺序颠倒,即先给出比较贴近生活且较有吸引力的案例,从而给出解决该问题的方法即算法,由此引出所需用到的知识点。这样学生们对案例产生兴趣后就会主动开启思维解决问题,不但能较容易接受知识点的用法,而且印象深刻,对知识点的运用能达到举一反三的效果。

下面通过《C语言程序设计》课程的一个案例,来讲授较抽象的知识点——递归思想,从而分析该方法的可行性。首先在没有说明知识点的情况下,向学生阐述案例[2],以此吸引学生注意力。

案例1有3个人坐在一起,问第3个人多少岁?他说比第2个人大2岁。问第2个人多少岁?他说比第1个人大2岁。最后问第1个人多少岁?他说20岁。请问第3个人多少岁?

算法分析解决该问题的方法:

(1)

其中,age(n)表示第n个人的年龄;age(n-1)表示第n个人前1人的年龄。

由此可见n=1即第1个人的年龄是解决该问题的“切入口”,若第1个人的年龄未给出,那么无法求解第3个人的年龄。这就引出递归的一个“潜规则”:必须有条件控制递归的结束或继续,无终止的递归是不切合实际的,递归次数只能是有限的。

用选择结构语句来解决“切入口”问题,具体语句如下:

If(n==1)

c=20;

else

c=age(n-1)+2;

若要解决该问题,则必须经过2个过程,即回推和递推:

(1) age(3)=age(2)+2; age(2)未知,因此age(3)不可得;

(2) age(2)=age(1)+2;age(1)未知,因此age(2)不可得;

(3) age(1)=20;给出第1个人年龄20岁;

(4) age(2)=age(1)+2=20+2=22;age(1)在第(3)步已经给出,由此可计算age(2);

(1)~(3)步是“回推”过程,回推到“切入口”,此时所要求的第3人年龄仍然不可解;由切入口进入(4)、(5)步是“递推”过程,已知第1人年龄后,可以依次计算第2人以及第3人年龄,最终问题得以解决。

若使用一个函数解决这个案例,完成上述具体步骤,则可引导学生一同分析下面名为age的函数:

int age(intn)

{

intc;

if(n==1)

习近平总书记指出:“人民对美好生活的向往,就是我们的奋斗目标。”[14]4这一重要论断为我们理解和把握美好生活指明了学思理路。将美好生活置于马克思人的解放理论的视域中来考察,是深入探讨美好生活意蕴的前提性根据。由此观之,美好生活是凸显人民主体性的生活、是满足人的自由全面发展需要的生活、是构建人的共同体的生活。深入理解美好生活生成的理论与实践逻辑,不仅有利于彰显马克思人的解放理论的科学性和价值性,展现其理论穿透力和历史震慑力,而且有利于人们把握美好生活的丰富内涵,明确达成美好生活的理想图景的理论坐标与实践途径。

c=20;

else

c=age(n-1)+2;

return(c);

}

该函数的执行过程关键在于语句c=age(n-1)+2,这是一个调用语句,但特点在于其被调函数是名为age的函数,与主调函数名字相同,这是与以往的函数调用最大的区别,那么由此可以引出“递归调用”的概念,即在调用一个函数的过程中又出现直接或间接地调用该函数本身。让学生了解概念的同时,一同探讨它的每一步执行过程,可以发现与上述(1)~(5)步完全一致,这样该案例可通过递归调用得以解决,也可容易看出递归调用的函数体简短,结构清晰等优点。

可见这种方法从问题的提出就可以紧紧抓住学生的注意力,后续的每一步分析及推导都为解决案例而环环相扣,学生求知情绪不易松懈,最后给出函数引出递归概念及其思想,有了前面案例分析过程,同学们就不会感到这一知识点很抽象,难以接受和理解,相反,会很自然得理解甚至将其应用到其他实际问题的求解,这自然也就达到了教学的目的,从而也体现了“倒叙法”教学的可行性。

1.2多媒体与板书相结合

多媒体技术[3]有着吸引学生注意力的特点,不仅如此,利用多媒体授课还可以节省板书时间,便于案例的演示等。

板书是一种重要的教学手段,直接影响教学效果,它可以帮助学生记忆、理解、整理和运用所学知识,还可以突出重点、难点等等,这些优点使得板书在教学过程中成为一种不可或缺的手段。

一些高校对《C语言程序设计》授课完全采用单一的多媒体方式教学,这样虽然能够增强课程讲授的生动性,但这种授课方式对于程序的讲解似乎并不很合适。分析程序如何解决案例往往是学生们最不易理解的难点,若该过程采用多媒体方式,由于教师站在电脑前讲解,这样不方便突出所讲到的每条语句,如果某条语句学生没有跟上老师的思维,而每条语句都息息相关,不能理解接下来的各条语句的可能性很大,学生注意力很容易分散,因此建议该处使用板书详细分析,这就能使学生紧跟老师强调的每个细节,遇到不甚明白的地方还可以及时与老师沟通或讨论,这样不但可以及时解决问题,还可以使其他同学一同获益。如果怕书写程序会浪费时间,可以牺牲课前或课间几分钟来将程序写到黑板,这样既可以节省时间,又可以向学生详细讲解程序的执行过程,便于同学们理解并消化知识点的运用。讲解后可以通过多媒体投影向学生做直观的演示。

对于编程语言类课程的讲解,单纯的多媒体授课不利于程序的分析,单纯的板书授课容易使学生感到枯燥乏味,这2种方式单独使用均不能完全吸引学生的注意力。将多媒体与板书相结合,可以发挥各自的优点,取长补短,从而尽量使课堂效果达到最佳状态。

2 实践教学方法改革

《C语言程序设计》实验课[4]上,现在通常采用的授课手段是学生每人一台计算机进行编程操作,每30个学生配1名教师,对遇到困难的同学进行指导。这种授课方法虽然贴近学生,能够更加详细的做个别指导,但经常有多名同学问相同的问题,这样教师就要重复对每个学生进行讲解,比较浪费时间。

针对这一问题,建议实验课上在条件允许的情况下,1名或几名教师在台下对学生进行个别指导,1名教师在讲台上利用多媒体投影设备对共性问题进行统一讲解,这就可以在该问题上节省时间,方便台下指导教师对其他问题进行答疑,对该问题没有疑问的学生可以继续着手其他实验。讲台上教师还可以通过该手段对典型案例进行重点强调和再次分析,加深学生对知识点的理解和掌握,这实质上是复习的过程,学生一边听讲解一边进行操作,对知识的掌握可以更加深刻、扎实。

编程语言类课程的实验尤为重要,仅仅纸上谈兵远远不够,必须付诸实践才能对知识点理解透彻,因此实验课对学生学习该门课程的质量起到非常关键的作用,上述实践改革方法是几年教学经验的一点心得,仅供探讨。

3 结 语

根据目前学生《C语言程序设计》课程学习过程中存在的问题,从理论与实践2方面提出教学改革的具体方法。提倡多媒体与板书相结合的授课方式,通过对具体案例的分析,说明“倒叙法”理论教学的可行性,最后对如何提高实验课质量总结一点体会,这些建议希望能够对该门课程今后的教学起到一定的帮助。

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

[2]刘帅,张星.基于案例的C语言程序设计教学改革[J].教育教学论坛,2011(20):162-163.

[3]宫婷.对高校计算机教学改革的探讨[J].黑龙江科技信息,2011(33):243.

[4]肖伟才.理论教学与实践教学一体化教学模式的探索与实践[J].实验室研究与探索,2011(4):89-92.

10.3969/j.issn.1673-1409(N).2012.08.061

N4

A

1673-1409(2012)08-N180-03

2012-05-12

许楠(1980-),女,2003年大学毕业,硕士,讲师,现主要从事混沌神经网络方面的教学与研究工作。

[编辑] 洪云飞

猜你喜欢

C语言程序设计C语言程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
以“学生为中心”的《C语言程序设计》教学设计探究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
PLC梯形图程序设计技巧及应用
论子函数在C语言数据格式输出中的应用