当前位置:无忧公文网 >范文大全 > 征文 > 本科生程序设计能力培养的探讨与研究

本科生程序设计能力培养的探讨与研究

时间:2022-03-22 10:48:11 浏览次数:

摘 要:对本科院校学生程序设计教学的模式进行了研究,指出了该课程的重要地位,并归纳了教学中出现的问题,研究了该门课程教学方法的改进,提出了引入兴趣教学、自信心培养教学、编程能力和编程习惯的培养、树立以算法为中心的教学理念,注重理论与实践相结合等教学思维。

关键词:程序设计语言 算法 编程能力

中图分类号:G642.0 文献标识码:A 文章编号:1672-3791(2014)03(a)-0192-02

程序设计是高校本科生的一门重要基础课,计算机专业和非计算机专业都开设了这门课程,例如:《C程序设计》《Pascal》等高级语言程序设计,其目的是培养学生学会使用计算机语言编写适合自己专业特色的应用程序。这些课程与后续专业课程都有紧密的联系。例如:C语言程序设计课程不但是计算机学科的必修课程,而且更是《数据结构》《算法设计与分析》等其专业核心课程的先修课程。程序设计的水平在很大程度上决定了学生专业基础知识是否扎实,并直接影响到后续课程的学习和专业兴趣的培养。

程序设计语言可以培养学生运用算法来解决实际问题的能力,这种解决问题的方式是计算机所独有的。学生通过程序设计课程,可以掌握程序设计的基本方法并逐步形成正确的程序设计思想,能够熟练地使用某种程序语言进行程序设计并具备一定调试程序的能力,从而为后续课程打下坚实的基础,同时也为工程技术人员用计算机解决实际问题提供了方法。

1 程序设计课程教学中的问题

1.1 学生缺乏学习热情

程序设计语言课程的学习需要较强的逻辑思维能力和一定的数学、英语基础,因此一些基础较差的学生会显得力不从心,更有大部分学生在学习的过程中会感到枯燥、乏味,加上教师教学方法的单一,更使得一些学生对缺乏学习的热情,甚至对程序设计产生恐惧感。这种学习状态下,学生不可能很好地掌握程序设计的基本方法,当然也就谈不上学习效果了。

1.2 忽视实践课

计算机语言教学通常先讲概念,讲语法,讲例子,然后上机做练习,教学死板不利于将知识转化为能力。教师在理论课上常常是唱“独角戏”,学生被动地学习,缺乏主动思维。而上机实验课许多学生只对书本上现有的一些实例进行编辑调试。这种教学方法使得学生缺乏解决实际问题能力。

2 教学方法探讨

为了提高教学效果,我们提出了一下几点建议。

2.1 兴趣教学

学生在学习程序设计语言之前,大多存在对计算机语言的认识误区,刚开始的时候知道这是一门计算机软件的关键课程,还有部分学生以为学习了C语言等课程就可以设计开发整个企业的软件,可以开发游戏软件,甚至还可以像黑客一样随意侵入他人的电脑,因而兴致勃勃,然而在学习的过程中,接触了大量难以理解和抽象的新概念、新名词、新术语、新规则的介绍,枯燥乏味的例题分析后,逐渐失去学习的兴趣。语法的单调枯燥容易使学生陷入到冗繁的语法规则之中。还有大部分学生在学习程序设计语言时觉得学习程序设计语言很枯燥,上机只会照着书本上的例子进行验证,这样的上机操作仅仅只是对书本上现成的程序例子做简单的验证,而程序设计这门课程的精彩之处恰恰是要求学生开发思维,进行有创造性的学习,验证性的上机操作极大地限制了学生的思维,于是很多学生对独立编写程序常常感到无从下手,也有部分学生眼高手低,别人编写的程序能够看懂,但是自己却不能编写程序,这样更使学生丧失了对程序设计语言的兴趣。传统的教学模式长时间使用会使学生的思维惰性化,不利于学生对知识的巩固和深化。通过培养学生学习的兴趣,可以使学生改变对程序语言的认识——从神秘到认为通过努力可以掌握,从索然无味到充满兴趣,从而完成学生心理从外部驱动到内在自愿。因此,要想教好程序设计语言课,在加大教学与研究力度的同时,还要先给学生进行兴趣教育。

在方法上,可以采用自然语言的思维建构程序设计语言的基础知识,例如,在C语言变量的教学中,要学生理解变量的实质是“被命名的存储单元”。可以将变量比喻成一个容器,这些“容器”依据其中的内容不同而不同。在讲解交换两个变量的值时,先让学生写出程序语句,但是学生很容易造成A=B;B=A的错误,这时可以举一个生活中的例子:一杯牛奶,一杯水果珍,如何互换?问题一提出,学生马上得出结论:引入第三杯子(变量),C=A;A=B;B=C,这样两个变量的值顺利互换。

例如:在C语言的教学中,C语言的关键字一般是英文单词或其缩写形式。例如:整型变量的关键字是int,可以向学生介绍int是英文单词integer(整数)的缩写,这样学生也就自然而然掌握了int这个关键字,并能够用int定义C语言的一个整型内存变量。如果按照这样的方法,首先将某种程序设计语言关键字的功能讲授清楚,再提示相应的英文单词,学生便将自然语言与程序设计语言的词汇表之间建立某种对应关系,这样有助于理解,也有助于记忆,进而在学习伊始就揭开了程序设计语言的神秘面纱,并建立起学习程序设计语言的兴趣。

2.2 自信心培养

学习了编程语言的语法,并不代表能开发良好的应用程序,正如学好了汉字,并不代表能写出好的文章。这就要求学生在学习编程语言的同时,需要加强编程练习。开始练习写程序、调试程序时,学生很容易犯各种低级错误,这也是他们的信心最容易受挫的时候,如何正确地引导他们从失败的困境中走出来是非常关键的。

在教学方法上,可以采用错例教学法来提高学生的自信心。

一般情况下,在课堂教学中,教学大纲要求把正确的知识传授给学生。为了加强学生对知识的理解,以及针对学生一错再错的问题,我们可以利用相应错例,如设计一段程序,在该程序中故意设计语法错误、语句错误、算法错误及在调试出现的错误,然后组织学生分组讨论,找出程序出错的位置和错误的原因,这样可以使错误率下降,还可以激发学生的求知欲,更好掌握学习内容。

2.3 算法为中心

程序设计不是仅仅要求学生学习语法规则,而是引导学生如何针对问题找出解题方法,这个结题方法就是算法。从某种意义上说,用算法解决问题的能力甚至比数值计算的能力更为重要。程序语言的传统教学以是以语法为主线,而不是以算法语法为主线,不论实验课还是理论课,教学多数是强调语法语句练习。学生从掌握程序设计语言到真正实现程序,是从量变到质变的一个飞跃。在解决问题的过程中,算法是最重要的。只有树立这样的教学目的,才不会让学生陷入程序设计语言学习的误区,避免他们学习了程序设计语言,仍然解决不了实际的问题;目前的程序设计语言课程教学方法中,大多不能突出“算法为中心”,从而使得程序设计语言课程偏离教学重点。因此,在培养和形成学生的综合程序设计能力时,必须注重算法分析,突出算法设计,强化算法注释,点拨算法疑难。

在教学方法上,可以采用算法归类的方法来进行程序设计教学。

在程序设计中,某些算法是存在共性的,对于这类问题,教师应在授课过程中引导学生有意识的进行归类,以及对问题进行延伸,达到举一反三的效果。如累加、累乘,以及之类的问题都是重复进行某种基本操作,不同的是参加运算的数和操作方式。解决这类问题只要根据问题本身找到相应的变量以及其相应的运算规律就可以了。

2.4 编程能力的培养

学生只有掌握了算法和程序设计方法的技能,才会很好的进行学习迁移。在教学中,我们可以依照精讲多练的方式来进行讲授内容,根据相应章节的知识点多举例子,让学生读程序模拟运行的结果、多做习题等方法来逐步培养学生算法和程序设计的能力。

实践教学活动的设计思想是以分层次培养为基础,以掌握课堂教学内容为目标,系统设计实践教学内容。采用实践教学与传统的课堂教学相结合的方式,可以增强授课教师与学生的互动。以讲解程序为主线,使学生能真正学到好的编程思想、编程习惯、编程算法和程序组织方法。这样做,一方面可以加深学生对所讲课程的理解;另一方面激发学生的学习兴趣、学习积极性,活跃课堂气氛。

采取以“案例”驱动的方法组织教学,让程序设计始终贯穿于整个教学过程之中。

在实践教学中采用课堂实践、实验课、课程设计、科技活动小组的多层次教学模式。课堂上在讲授例题和习题;实验课学生自己动手完成布置的实验题,在传统程序设计教学的教学大纲上减少基础型、验证型实验,增加设计型、综合型、创新型实验项目的比例,并采用独立编制设计型和综合设计型实验指导书;课程设计以3人的小组方式进行,使用较大型的程序让学生深刻体会程序开发的全过程,让学生设计具有一定难度的小型系统,在实验报告中提供系统分析、数据模型、系统流程和程序的完整内容,以此促进学生全面掌握本课程的内容,并初步体验软件工程方法,并培养学生的团队精神。为了防止学生互相抄袭,在学生提交大作业时,可以通过当面提问、解释代码含义等方法;科技活动小组由学生自愿组成,参与教师的科研项目或由教师指导选题,在传统的实践教学体系之外,增设创新实践学分学生可以通过科技竞赛以及各类创新活动计划,培养学生的初级科研能力和创新能力。

2.5 编程习惯的培养

在现代软件工程中,培养学生良好的程序设计风格也是一个很重要的目标。编程习惯需要从初学程序设计语言就开始培养。教师在实验教学中,应该强调和贯彻专业的编程规范,通过这种方式,不仅可以减少程序设计中错误,更重要的是帮助学生树立良好的程序设计风格,培养学生的技术素养,为今后的软件工程实践项目打下坚实的基础。

3 结语

程序设计语言是高校素质教育的一个重要组成部分,对培养学生的综合能力起着重要的作用,探索程序设计课程教学方法,提高教学质量是计算机教育的工作者必须重视的问题,也是一个值得探讨的课题。教师应在自己的教学实践中认真观察、积极反思,将任务的设计原则与实际教学内容、教学对象相结合,设计出有效、实用的任务,从而帮助学生真正提高其程序设计语言运用能力,进而培养出对国家有用的人才。

参考文献

[1]谭浩强.C语言程序设计[M].2版.北京:清华大学出版社,2003.

[2]于清,吐尔根·依布拉音,阿里甫·库尔班.算法为先的C语言教学模式探讨[J].计算机教育,2009(20):96,106-108.

[3]方红萍,陈和平.C语言课程改革与实践[J].电气电子学报,2007,27(5):11-13.

[4]唐永红,龚安.程序设计实验教学探讨[J].电气电子教学学报,2006,28(3):85-86.

[5]廖文江,董南萍,郭文荣.以开源软件为平台改进C语言教学[J].计算机时代,2009(10):61-62.

推荐访问: 本科生 程序设计 探讨 培养 能力