论文部分内容阅读
[摘要]C语言作为当今最为流行的程序设计语言之一,不但成为计算机专业的必修课,而且也越来越多地成为非计算机专业的学习课程。但在《C语言程序设计》课程教学中,许多教师和学生都认为C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,教师教学和学生学习都感到困难,并不同程度产生畏难心理。因此,从优化教学方法,强化实践教学,培养学生求知兴趣方面,探讨如何提高《C语言程序设计》课程教学质量。
[关键词]C语言 理论教学 实践教学 教学方法
中图分类号:G42文献标识码:A文章编号:1671-7597(2009)0910174-02
一、优化教学方法
本课程是以高职高专计算机系列教材冉崇善主编的《C语言程序设计》为教材,传统的计算机程序设计教学方法在很大程度上存着单向性,使学生普遍产生学习只为了应付考试等厌学的情绪,不能积极地发展和挖掘学生的智力,甚至会扼杀学生的求真求新的天性,他们的创造力逐渐在枯燥无味的程序设计教学中消磨殆尽。如何能让学生能体会到学生程序设计的乐趣,并逐渐地像迷上“网络游戏”那样“迷上”程序设计的学习呢?教学方法很重要,一套好的教学方法能让学生爱上C语言课程,同时也能让学生迷上编程。
本人在教学中以“深入浅出,突出实用”的指导思想,对教学内容重新进行了归纳,将难点再次分散,以缩小台阶,达到循序渐进。
(一)形象比喻法
对于深硬的语言叙述,可以改用生动的比喻,进行详尽引导。譬如,在开始学习指针的概念时,教材对“间接存取”叙述比较深硬,学生难以理解,可以借用比喻:将A房间的钥匙放在B房间里,若要取A房间里的物品,就需要先打开B房间,取出A钥匙,再打开A房间,取出A房间的物品,这就是“间接存取”。学生很快就能理解,也加深了指针的概念。
(二)问题探究教学法
问题探究教学法在C语言教学中是一种相当有用的教学方法。这种教学法能够充分发挥学生的思维,突出学生的主体作用,能有效地培养学生的分析问题与解决问题的能力。以“冒泡排序”为例,先跟学生讲解什么叫“冒泡”,然后让学生思考冒泡排序的算法思路,进而让学生讨论并写出算法流程图,接下来讲解如何用for与if程序结构实现算法,最后再讲解为了减少交换次数而引入swap这一判定变量,直至整个程序编写完整。整个讲解过程结合板书,逐步引导,层层深入。
(三)归纳教学法
C语言有很多的定义、概念、语法规则,它们使用灵活、难以记忆,也特别容易出错。如果能够引导学生进行归纳,将会起到事半功倍的效果。C语言的定义、概念、语法规则有许多相似的地方,例如:printf()与scanf()函数,有很多语法规则是一样的,对它们进行归纳之后,学生只要记住其中一个,另一个自然就会使用了。
(四)因材施教法
由于学生学习的动机、兴趣、能力存在较大的个体差异,所以决定了C语言课程必须因材施教。在C语言教学中,培养学生的自学能力尤为重要,如果学生的学习完全依赖教师才能掌握,而没有一定的自学能力,其所学的知识很快就会被淘汰。对于学习能力较强的学生,鼓励他们自学,并给予方向性指导,让他们超前学习。对于多数学生,则把精力放在最基本、最常用的内容上,让他们学好基本功,掌握程序设计的方法,为后续课程的学习打下基础。
(五)学生主体法
让学生真正成为课堂的主体。本人针对C语言的部分章节,在准备上某章节时,提前给某些同学布置任务,然后在上课时,就请这些同学讲解。该方法不仅让学生在课前有了任务有了压力,而且在课堂上让学生成为课堂的主体,积极参与课堂的学习和讨论,同时也提高了学生语言表达能力。
(六)学生总结法
本人在理论课堂教学课堂结束前五分钟,要求学生对该次课简单总结理论知识。这样全体同学不仅对该次课的知识点有了掌握,同时也减少了同学上课开小差的几率,提高课堂教学效果和学生的学习效率。
通过以上授课方式可以引导学生把握程序设计的思路和方法,培养学生具备计算机语言方面扎实的基本功。在整个课程教学中以全国计算机等级考试二级C语言笔试的题型作为原型,为学生参加全国计算机等级考试二级C语言做准备。
二、强化实践环节教学
C语言程序设计是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。因此,C语言的教学特别需要重视实践环节,包括编程和上机实验。
在实验题目设置上,根据课时安排以及要掌握基本知识,设置必做与选做题,以满足各个层次学生的需要。同时针对每次学生的实验,在每次实验课中,都随机检查某些学生的实验情况,将学生实验成绩登记作为平时成绩的考核。在实验课中,遇到些同学不易理解的程序设计题,分组讨论,并且请该组某位同学给大家讲述该程序题的设计思路。在本课程结束后,安排一次综合的大实验,培养学生综合应用能力。同时也为全国计算机等级考试二级C语言上机考试做准备。
同时在实践教学过程中,学生独立编写程序时,本人一直坚持这样的程序设计思想:
1.追求简单。程序设计的目的是通过计算机来实现用户的各种要求,而这些要求需要由一定的算法来实现。一般来说,能够实现目标的最简单的算法,我们就认为是好的算法。在教学中过多的强调了一些实际应用中用不到的知识点,将简单的问题复杂化。比如在很多书上的自增运算部分,都有对j=i++ +i++ +i++这种表达式执行方法的介绍。我们为什么要用这样的表达式呢?大家都知道这种表达式在不同的编译器下可能会产生不同的执行结果,而且这样写出的程序是可读性很差的。可是我们的考试中却三番五次的出现这样的题目,这是在难为学生,也是在误导学生,因为在实际开发中几乎很少有人会这样去写。简单的程序是最安全的程序,是被所有编译器支持的最好的程序,因此,追求简单往往是最正确的。
2.避免背诵。现在的程序设计语言还在飞速的发展,依靠背诵获取的知识早晚会被遗忘。如果一个学生是依靠背诵学习C语言的,那么当他再接触到一门新的语言时,又会发现自己根本无从下手。教学生写程序,就要让学生把写程序变成骑自行车一样,一旦学会,就不会忘记。当然,这来自于不断的理解和实践。当他真正掌握了程序设计的基本思路,不管以后使用哪一门语言,都能轻易上手。
所以锻炼学生自己通过相关资料和网络获取知识的能力比让学生背下那些死的规定更有用。书上网上那么多资料,想不起来了哪儿都能找到答案,干嘛要去死记硬背呢?有些东西用多了自然就记住了,用的少的背了也会忘,何必把时间浪费在这种无意义的死记硬背中呢?
3.规范格式。写程序必须要讲究格式吗?这个问题的答案就像写作文是否必须要讲究文体一样。有人觉得程序是为了实现既定功能的,格式规范不规范并不重要,尤其是在C语言的教学过程中,由于通常写的程序都比较短小,因此一些教师往往忽略了对学生程序格式的要求,甚至认为只要程序写对了,格式有没有问题并不重要。这是非常不可取的。因为C语言的学习阶段也是一个养成书写程序习惯的阶段,在这个阶段如果养成了不好的习惯,以后将很难改掉。因此,在教学过程中,教师要注意引导学生必须遵守规范,同时也要求自己在给学生做演示时,绝不出现不符合规范的写法。
三、培养学生求知兴趣
苏霍姆林斯基说:“兴趣的源泉还在于把知识加以运用,使学生体验到一种理智高于事实和现象的权力感。”对于学生来说“兴趣是知识的源泉”。
职业教育的培养目标不同于普通教育,它是面向基层,面向生产服务一线,培养的不是学术型人才,而是技术应用型人才。学习C语言,重点是培养解决实际问题的能力。在教学中,注意找一些典型的、有生活趣味的程序来吸引学生。如,在讲C语言这门课前,可以先给学生展示几个例子:用C语言编程的小游戏(俄罗斯方块等),或者是编程的图形小动画(如升国旗、球碰撞等),让学生明白学习C语言的作用,从而激发他们学习的兴趣。
当然,除了通过形象的实例来培养学生的兴趣,同时师生关系也是学生学习某一课程的兴趣的原因。建立新型师生关系,重视师生情感交流,培养兴趣。新型师生关系可以分为:1.合作的师生关系:合作就意味着教师和学生在人格上是完全平等的。好多学生存在厌学的情绪,那就需要吸引学生参与到我们C语言的课堂。2.和谐的师生关系:和谐是指师生之间的情感联系,爱是其中的核心要素。当学生上课精神状态不好时,需要给予学生关心,其他学生也能感受到老师的这种关心,学生的学习的动力就有了。3.互动的师生关系:当教师教学有热情、有方法,学生学习就主动了,学习成绩也就提高了,教师也更受鼓舞与鞭策、教学上也更加精益求精。4.融洽的师生关系:朱小蔓曾说:“离开感情层面,不能铸造人的精神世界。”教育是充满情感和爱的事业,教师应多与学生进行情感方面的交流,做学生的知心朋友,让学生觉得老师是最值得信任的人,跟老师无话不说、无事不谈,达到师生关系的最佳状态。
在教学中,让学生在有压力,有目标,有思路的学习环境中学习,同时在非常好的师生关系环境中学习,学生的学习动力,学习兴趣,学习效率都会提高。
参考文献:
[1]冉崇善,C语言程序设计[M].北京:中国铁道出版社,2007年.
[2]胡远望,《用C语言模拟数独的人工解题思路》,电脑编程技巧与维护,2009年05期.
[3]田启明,《对高职计算机教学的几点看法》,温州职业技术学院教务科研网,2004年6月25日.
作者简介:
瞿苏(1982-),女,明达职业技术学院信息工程系教师,助教;张春生(1980-),男,明达职业技术学院信息中心教师,助理实验师。
[关键词]C语言 理论教学 实践教学 教学方法
中图分类号:G42文献标识码:A文章编号:1671-7597(2009)0910174-02
一、优化教学方法
本课程是以高职高专计算机系列教材冉崇善主编的《C语言程序设计》为教材,传统的计算机程序设计教学方法在很大程度上存着单向性,使学生普遍产生学习只为了应付考试等厌学的情绪,不能积极地发展和挖掘学生的智力,甚至会扼杀学生的求真求新的天性,他们的创造力逐渐在枯燥无味的程序设计教学中消磨殆尽。如何能让学生能体会到学生程序设计的乐趣,并逐渐地像迷上“网络游戏”那样“迷上”程序设计的学习呢?教学方法很重要,一套好的教学方法能让学生爱上C语言课程,同时也能让学生迷上编程。
本人在教学中以“深入浅出,突出实用”的指导思想,对教学内容重新进行了归纳,将难点再次分散,以缩小台阶,达到循序渐进。
(一)形象比喻法
对于深硬的语言叙述,可以改用生动的比喻,进行详尽引导。譬如,在开始学习指针的概念时,教材对“间接存取”叙述比较深硬,学生难以理解,可以借用比喻:将A房间的钥匙放在B房间里,若要取A房间里的物品,就需要先打开B房间,取出A钥匙,再打开A房间,取出A房间的物品,这就是“间接存取”。学生很快就能理解,也加深了指针的概念。
(二)问题探究教学法
问题探究教学法在C语言教学中是一种相当有用的教学方法。这种教学法能够充分发挥学生的思维,突出学生的主体作用,能有效地培养学生的分析问题与解决问题的能力。以“冒泡排序”为例,先跟学生讲解什么叫“冒泡”,然后让学生思考冒泡排序的算法思路,进而让学生讨论并写出算法流程图,接下来讲解如何用for与if程序结构实现算法,最后再讲解为了减少交换次数而引入swap这一判定变量,直至整个程序编写完整。整个讲解过程结合板书,逐步引导,层层深入。
(三)归纳教学法
C语言有很多的定义、概念、语法规则,它们使用灵活、难以记忆,也特别容易出错。如果能够引导学生进行归纳,将会起到事半功倍的效果。C语言的定义、概念、语法规则有许多相似的地方,例如:printf()与scanf()函数,有很多语法规则是一样的,对它们进行归纳之后,学生只要记住其中一个,另一个自然就会使用了。
(四)因材施教法
由于学生学习的动机、兴趣、能力存在较大的个体差异,所以决定了C语言课程必须因材施教。在C语言教学中,培养学生的自学能力尤为重要,如果学生的学习完全依赖教师才能掌握,而没有一定的自学能力,其所学的知识很快就会被淘汰。对于学习能力较强的学生,鼓励他们自学,并给予方向性指导,让他们超前学习。对于多数学生,则把精力放在最基本、最常用的内容上,让他们学好基本功,掌握程序设计的方法,为后续课程的学习打下基础。
(五)学生主体法
让学生真正成为课堂的主体。本人针对C语言的部分章节,在准备上某章节时,提前给某些同学布置任务,然后在上课时,就请这些同学讲解。该方法不仅让学生在课前有了任务有了压力,而且在课堂上让学生成为课堂的主体,积极参与课堂的学习和讨论,同时也提高了学生语言表达能力。
(六)学生总结法
本人在理论课堂教学课堂结束前五分钟,要求学生对该次课简单总结理论知识。这样全体同学不仅对该次课的知识点有了掌握,同时也减少了同学上课开小差的几率,提高课堂教学效果和学生的学习效率。
通过以上授课方式可以引导学生把握程序设计的思路和方法,培养学生具备计算机语言方面扎实的基本功。在整个课程教学中以全国计算机等级考试二级C语言笔试的题型作为原型,为学生参加全国计算机等级考试二级C语言做准备。
二、强化实践环节教学
C语言程序设计是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。因此,C语言的教学特别需要重视实践环节,包括编程和上机实验。
在实验题目设置上,根据课时安排以及要掌握基本知识,设置必做与选做题,以满足各个层次学生的需要。同时针对每次学生的实验,在每次实验课中,都随机检查某些学生的实验情况,将学生实验成绩登记作为平时成绩的考核。在实验课中,遇到些同学不易理解的程序设计题,分组讨论,并且请该组某位同学给大家讲述该程序题的设计思路。在本课程结束后,安排一次综合的大实验,培养学生综合应用能力。同时也为全国计算机等级考试二级C语言上机考试做准备。
同时在实践教学过程中,学生独立编写程序时,本人一直坚持这样的程序设计思想:
1.追求简单。程序设计的目的是通过计算机来实现用户的各种要求,而这些要求需要由一定的算法来实现。一般来说,能够实现目标的最简单的算法,我们就认为是好的算法。在教学中过多的强调了一些实际应用中用不到的知识点,将简单的问题复杂化。比如在很多书上的自增运算部分,都有对j=i++ +i++ +i++这种表达式执行方法的介绍。我们为什么要用这样的表达式呢?大家都知道这种表达式在不同的编译器下可能会产生不同的执行结果,而且这样写出的程序是可读性很差的。可是我们的考试中却三番五次的出现这样的题目,这是在难为学生,也是在误导学生,因为在实际开发中几乎很少有人会这样去写。简单的程序是最安全的程序,是被所有编译器支持的最好的程序,因此,追求简单往往是最正确的。
2.避免背诵。现在的程序设计语言还在飞速的发展,依靠背诵获取的知识早晚会被遗忘。如果一个学生是依靠背诵学习C语言的,那么当他再接触到一门新的语言时,又会发现自己根本无从下手。教学生写程序,就要让学生把写程序变成骑自行车一样,一旦学会,就不会忘记。当然,这来自于不断的理解和实践。当他真正掌握了程序设计的基本思路,不管以后使用哪一门语言,都能轻易上手。
所以锻炼学生自己通过相关资料和网络获取知识的能力比让学生背下那些死的规定更有用。书上网上那么多资料,想不起来了哪儿都能找到答案,干嘛要去死记硬背呢?有些东西用多了自然就记住了,用的少的背了也会忘,何必把时间浪费在这种无意义的死记硬背中呢?
3.规范格式。写程序必须要讲究格式吗?这个问题的答案就像写作文是否必须要讲究文体一样。有人觉得程序是为了实现既定功能的,格式规范不规范并不重要,尤其是在C语言的教学过程中,由于通常写的程序都比较短小,因此一些教师往往忽略了对学生程序格式的要求,甚至认为只要程序写对了,格式有没有问题并不重要。这是非常不可取的。因为C语言的学习阶段也是一个养成书写程序习惯的阶段,在这个阶段如果养成了不好的习惯,以后将很难改掉。因此,在教学过程中,教师要注意引导学生必须遵守规范,同时也要求自己在给学生做演示时,绝不出现不符合规范的写法。
三、培养学生求知兴趣
苏霍姆林斯基说:“兴趣的源泉还在于把知识加以运用,使学生体验到一种理智高于事实和现象的权力感。”对于学生来说“兴趣是知识的源泉”。
职业教育的培养目标不同于普通教育,它是面向基层,面向生产服务一线,培养的不是学术型人才,而是技术应用型人才。学习C语言,重点是培养解决实际问题的能力。在教学中,注意找一些典型的、有生活趣味的程序来吸引学生。如,在讲C语言这门课前,可以先给学生展示几个例子:用C语言编程的小游戏(俄罗斯方块等),或者是编程的图形小动画(如升国旗、球碰撞等),让学生明白学习C语言的作用,从而激发他们学习的兴趣。
当然,除了通过形象的实例来培养学生的兴趣,同时师生关系也是学生学习某一课程的兴趣的原因。建立新型师生关系,重视师生情感交流,培养兴趣。新型师生关系可以分为:1.合作的师生关系:合作就意味着教师和学生在人格上是完全平等的。好多学生存在厌学的情绪,那就需要吸引学生参与到我们C语言的课堂。2.和谐的师生关系:和谐是指师生之间的情感联系,爱是其中的核心要素。当学生上课精神状态不好时,需要给予学生关心,其他学生也能感受到老师的这种关心,学生的学习的动力就有了。3.互动的师生关系:当教师教学有热情、有方法,学生学习就主动了,学习成绩也就提高了,教师也更受鼓舞与鞭策、教学上也更加精益求精。4.融洽的师生关系:朱小蔓曾说:“离开感情层面,不能铸造人的精神世界。”教育是充满情感和爱的事业,教师应多与学生进行情感方面的交流,做学生的知心朋友,让学生觉得老师是最值得信任的人,跟老师无话不说、无事不谈,达到师生关系的最佳状态。
在教学中,让学生在有压力,有目标,有思路的学习环境中学习,同时在非常好的师生关系环境中学习,学生的学习动力,学习兴趣,学习效率都会提高。
参考文献:
[1]冉崇善,C语言程序设计[M].北京:中国铁道出版社,2007年.
[2]胡远望,《用C语言模拟数独的人工解题思路》,电脑编程技巧与维护,2009年05期.
[3]田启明,《对高职计算机教学的几点看法》,温州职业技术学院教务科研网,2004年6月25日.
作者简介:
瞿苏(1982-),女,明达职业技术学院信息工程系教师,助教;张春生(1980-),男,明达职业技术学院信息中心教师,助理实验师。