APP下载

重程序、轻语法理念在高校C语言教学中的巧妙应用

2016-05-19谢颖

电脑知识与技术 2016年8期

谢颖

摘要:随着我国计算机的发展和普及,计算机软件设计也在不断地发展,加大了我国对计算机软件设计人才的需求,很多高校和技术院校都设立了相关的专业,以培养专业人才,从而满足社会的需求。C语言作为计算机软件设计的一门学科,它具有很强的抽象性和实践性,所以在日常的专业教授中,老师要贯彻“重程序,轻语法”的理念,强调程序的重要性,把语法放在次之的地位,正确地引导学生对程序设计的认识和了解,让学生抓住重点。该文则对重程序,轻语法理念在高校C语言教学中的巧妙应用展开探讨。

关键词:重程序;轻语法;C语言教学

中图分类号:G64 文献标识码:A 文章编号:1009-3044(2016)08-0106-02

随着我国计算机的快速发展,软件设计也有了很大的进步,并且在高校和高校中都设置了相应的课程,以此培养相关的技术人员以满足社会发展的需要。在C语言的传统教学中,大部分老师都只注重学生C语言语法的学习,忽视了学生学习程序的重要性,颠倒了二者的轻重地位,所以要在今后的教学中逐渐让它们回归原位,“重程序,轻语法”在高校C语言教学中是非常重要的,并且在这一理念的指导下促进了高校C语言教学的改革。

1 教学方式从教室授课转向机房授课

在以往的C语言设计的教学模式上,往往都是在普通教室进行授课,老师跟着课本或者教案在黑板上编写一些教程或者是利用多媒体教学,原本是课堂主体的学生却处于被动地位,学生只是单纯地看着老师写编程或者是在多媒体上操作,虽然老师讲得很详细,但是一节课下来能记住的寥寥无几[1]。C语言是一门实践操作性很强的学科,老师对理论的教授无法满足学生学习的需要,所以就要逐渐转变原有的授课方式,使教室授课向机房授课转变。在机房授课每个学生都有一台电脑,随着老师的讲解,学生可以一步步地跟着操作,在操作的过程中逐渐学会了C语言编程的过程,一节课下来通过自己的实际操作能记住大部分内容,并且对本节课的知识进行了消化吸收,机房授课不再是老师一人讲,学生也不再是纸上谈兵,在机房他们可以大胆实践,在计算机上编写程序要比在教室里学语法更能学好C语言,机房授课可以让学生更多地接触计算机,在计算机上多多练习程序的编写,这样才能更好更快地学习C语言,通过多次的练习与实践,学生就能慢慢掌握相应的语法规则和一些基本句式,多实践才能有所提高[2]。

这种授课方式的改变也直接影响了C语言的考核方式,使考核方式更加注重学生的实际动手操作能力,考核方式的改变会直接促进学生的上机练习。

机房授课不仅能增加学生的实战能力,提高学生的编程能力,更重要的是可以改变以往课堂的沉闷,打破老师一言堂的现象,学生在机房里充分发挥了自己的主体作用,充分调动了学生的积极主动性,激发了学生的学习兴趣,使学生喜欢编程,喜欢通过计算机获取成就感,从而提高学生的操作能力和专业能力。

2 加大“读程序”教学引导学生自主学习

在学习C语言的时候,编程对于学生是很难的,很多学生不知如何下手,所以在日常教学中,老师要引导学生去“读程序”,这是促进学生掌握C语言程序设计的基本知识最有效的方法,它能最快地促进学生学会C语言程序设计,这也是“重程序”的一个重要的表现[3]。

在刚刚接触C语言的时候,学生对于C语言的语言逻辑和语言环境都不是很熟悉,要熟悉这些知识就必须多读程序,从而使学生能够尽快地适应程序代码,加快学生读代码的速度,这样不仅能加深学生对代码的理解,还能促进学生对程序的理解。

3 淡化语法细节加大学生编程能力培养

“重程序,轻语法”理念在高校的影响最直接的表现就是老师在教授C语言的时候尽量淡化语法的细节,把重点放在了编程能力的培养上。

C语言是计算机设计软件的一门课程,它的本质是很抽象的,而且涉及很多的知识点,所以就导致很多C语言老师在授课时过分注重C语言的语法细节,这种做法会给学生形成一种误解,从而使学生在老师的所谓的“重点”下,认识不到C语言的程序设计的基本思想和方法,只注重语法的学习,忽略了编程的重要性。随着软件开发的不断发展,软件开发的环境也不断更新,学生必须将程序设计的基本思想和方法作为自己学习的指导,这样才能提高自身的学习效率,促进学生学习新的知识[4]。在C语言的教学中,老师要从基本的概念出发,不断强调C语言编程思想,而不要过分的强调一些细节问题,给学生造成重点错觉,对一些比较难的编程老师可以多举一些实际例子来帮助学生理解和运用,打开学生的思路,促进他们举一反三。

在教学活动中老师要时刻注重培养学生在编程方面的能力,培养他们相关的编程思想,以及解决问题的相关思路,从而淡化对语法的学习。在学生编程的过程中,对于学生的一些格式、语法等细节问题,不要太过责备,反而要注重编程风格这件大事,培养出学生自己的编程风格有利于学生的学习和工作的进步[5]。编程整体很重要,先强调编程的重要性,然后再强调细节,细节决定成败,不强调并不意味着不重要。

4 实现语法算法并重提高学生学习兴趣

在程序软件学习中C语言属于入门课程,主要任务为讲解程序设计基本思想、C语言语法,并且还需要重点培养学生的计算机应用能力。以《C++程序设计(第2版)》为例,内容可以分成4个方面,分别是程序设计基本概念和方法、控制结构及结构化程序设计方法、数据结构表示以及面向对象程序设计,其中前三个方面则为C语言及C++语言两者共同学习的内容,其中包括程序设计基本类型、结构语法知识以及各种查找、排序算法等等。在C语言传统教学中通常都是教师机械性的讲解知识点,让学生死记硬背,通常学生学习积极性不高,知识掌握质量较差[6]。想要解决这一问题,那么也就需要在教学过程中应用案例教学,以此激发学生对变成的兴趣,在实施实验教学过程中,应该将重点放在学生练习上面。但是在进行教学过程中普遍能够积极引导学生应用C语言设计程序解决实际问题,但是对于C语言程序设计语言中的计算思维普遍忽视。基于这一情况在进行C语言教学过程中,必须要实现语法学习及算法设计同等位置,以能够让学生可以将设计者在进行C语言设计一开始的思维脉络逐步还原。这样不但有助于引导学生对C语言本身设计思路有一个全面深入的理解,以此减少学生语法类错误的出现,并且还能够促进学生在其他领域对C语言程序设计的应用能力。

5 加大启发式案例应用引导学生积极探索

我们以字符集、标识符以及关键字为例,这些均是C语言学习的基本语法规则。在传统语法教学过程中,一般情况下都会将这些知识点机械地认为C语言规定,对于学生来讲这就是必须要严格遵守的规则。这种教学方式也就为学生C语言学习开了一个枯燥的头,必定大部分学生都讨厌死记硬背。其实在这些死板的语法规则中也蕴含着一定的计算思维确定性及机械性特点,那么对其实施启发式案例教学,则更有助于提高学生学习兴趣[7-8]。首先可以提出问题:怎样才能够让计算机帮助你完成加法功能?这一问题的答案则是“写出一个程序”,但是我们本次教学采用的是启发式教学,也不必要求学生能够给出正确答案。其次,则可以再次提出问题“关于我们想要计算机完成的事,我们是不是也应该写个程序告诉计算机?那么到底应该怎么写呢?”那么在这一问题提出之后,对于已经预习过课文的学生也就能够知道通过“字符”或者“字符集”,那么在这个时候也就可以追问“什么字符都能够写在程序中呢?”有些学生也就可以通过课本内容给出答案“不是”。在这个时候也就可以开始和学生讨论字符集的整整含义,并指出学生的答案也并不是全面的,基于广义角度来看,任何字符均可以书写在程序中,同时也能够用于注释或字符串中。但是在教材中所规定的字符集和程序执行密切相关,因此不是所有字符均写在程序中。之后可以继续提出问题“如果想要告诉计算机程序中涉及3个数,应该怎么书写字符?”“怎样才能够知道这3个数均是整数呢?”等等问题,关于学生的则可以依照实际情况加以引导,最终引出C语言的解决方案即可。总之通过一系列的问题启发式案例教学,学生不但能够对C语言程序设计不同知识点概念有一个全面的理解,并且还能够熟练掌握计算思维中的确定性及机械性,提高学生对C语言的理解,以此显著提高高校C语言教学的有效性。

6 结束语

随着计算机应用的范围越来越广,我国的计算机软件也有了长足的发展,在很多高校中都设立了C语言课程,对于一些基础比较差的学生来说C语言是比较难学的,再加上很多学校的教学理念不合适,颠倒了C语言教学的重点与非重点,容易给教学和学生的学习带来困难,因此要树立“重程序、轻语法”的理念,加强对程序的教与学。老师通过要转变授课方式,以上机授课为主要的教学方式,让学生在计算机上实际操作,从而激发学生的兴趣,提高学生学习的积极主动性,促进学生对专业知识的把握,从而加强学生的专业能力、提高学生的专业素质,培养出高素质的专业人才。

参考文献:

[1] 徐新海,林宇斐.注重计算思维的启发式C语言语法教学[J].计算机教育,2014(17):1-4.

[2] 丁海燕,袁国武,周小兵,等.高级语言程序设计案例教学模式的探讨[J].计算机教育,2011(8):65-68.

[3] 李晔,卢冰,王捷,等.ACM竞赛平台在C语言程序设计教学中的应用研究[J].中国校外教育(上旬刊),2013,(8):164.

[4] 丁群,文明瑶.项目教学法在C语言教学中的应用[J].电脑知识与技术,2012,8(7):1686-1687.

[5] 杨劭君,苏小红,王甜甜等.C语言词法语法分析工具CParser的设计与实现[J].智能计算机与应用,2014,4(5):69-71,75.

[6] 张连成.浅析C语言与C++的异同[J].福建电脑,2005(9):70-71.

[7] 李沫沫,夏姜虹,商宇,等.《C语言程序设计》教学探索与实践[J].科技创新导报,2012(24):163-164.

[8] 顾思思,杨杰.提高C语言课程学习兴趣的方法探索与实践[J].湖南科技学院学报,2014(5):135-136.