论文部分内容阅读
摘要:“C语言程序设计”课程是各大高等院校理工科专业学生必修的一门基础课程[1],基础也意味着其具有一定的难度,该文通过对非计算机专业学生学习本课程的现状,特点,以及相应的教学方法进行研究。通过实践并探讨使用何种方法教学能让教学效果有所提高,达到学生易学,爱学,学会并应用此知识。
关键词:C语言程序设计;教学方法;非计算机专业;示例教学法
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)17-4064-03
C语言是一种通用的计算机程序设计语言,对于计算机专业的学生来说,它是最重要的一门基础课程。学习C语言之后,可以为后面继续学习其他的高级程序设计语言打下坚实的基础。通过对C语言的学习,可以培养学生的提出问题、分析问题、解决问题的能力。在计算机专业的课程设计中,C语言程序设计是数据结构、操作系统、面向对象程序设计等多门课程的先修课程,对这些课程的教学有着直接的影响[2]。
学习C语言不止对计算机专业的学生来说重要,对非计算机专业的学生也是相当的重要。随着社会的发展,科技的进步,用人单位对员工的要求等的越来越高,加上应届毕业生的求职门槛越来越高,很多非计算机专业的学生也纷纷学习C语言,因为它不仅可以证明其具有一定的计算机操作的能力,如果拿到国家计算机等级考试C语言二级证书的话,还能在求职过程中,占据相当大的优势,赢得面试官的亲睐。所以大量的非计算机专业的学生学习C语言,而因为其计算机基础很弱,甚至有的为零,那么怎样才能让其将C语言学会,学好,并能灵活运用呢?这就是本文的探讨所在。
目前,在各大高校的非计算机专业都会设置相应的C语言程序设计课程,不仅如此,还有大量的培训机构招收非计算机专业的学生进行培训,以达到获得国家C语言二级证书,或使其具备一定的编程能力以备求职所用,可见C语言的重要性。
1 存在的问题
1.1 学生的问题
在近几年的教学实践中,发现学生普遍认为这门课难度很大,不容易学,而且即使懂了理论也不会做题或编写程序。究其原因,主要有:
1)很多学生的学习目的是不明确的[3]。经过相应的调查,发现在高等院校中,很多学生只是顺从学校或学院的安排,盲目地去上课,根本就不清楚自己为什么要学习C语言,所以一旦遇到困难,就会觉得难学,甚至会觉得学了也没用,导致学习兴趣以及热情的下降,这样就会缺乏学习的积极性和主动性。
2)学生的实践动手能力不高。C语言是一门逻辑性和操作性都很强的计算机语言,而很多学生都不明确上机实验的目的,甚至有的学生连实验的内容都不清楚,到了机房就是一盘散沙,不知道要做什么,导致动手能力不高。当然在上机的过程中,也难免会出现某些学生玩游戏等这样的情况,所以这也是实践课程中管理的疏忽。
3)對于高等院校的非计算机专业的学生来说,他们对学校安排的计算机课程的重视度不高。认为本门课程不是主课,仅仅是为应付考试而去学习,所以学习积极性不高,有时可能会发生上课不听讲,下课不看书的现象[4]。
4)教学过程中,发现在学生中存在一种普遍现象,即程序设计能力和调试能力都比较弱。究其原因,主要是因为其对于算法不够熟练,灵活运用知识的能力比较弱,编程的时候程序结构不清晰,标点符号等语法错误较多,不够细心。
1.2 教师的问题
教学的过程是教与学的过程,是教师的教与学生的学相结合的。国内著名的教育技术专家何克抗教授提出来“主导-主体”教学理论[5],他认为教学活动应该以教师为主导以学生为主体,突出教师在教学活动中主导者地位的同时,要注重对学生创新思维和创新能力的培养,避免学生被动学习。
1)在课堂教学过程中,太重理论的讲解,而忽视了对学生实践操作的引导。这就要求教师在备课过程中,必须清楚整个教学大纲的内容,做到有的放矢,理论讲解的同时,注重对锻炼学生动手能力的实践做相应的指导。
2)在上机实践时,容易放心让学生自己练习,导致学生动手能力未能得到确切的提高。这样就可能会导致很多学生在实验课上玩耍而不做任何实验。所以这就要求老师事前必须得做好实验课内容的设计,并严格要求学生达到什么样的效果,让学生自己动手操作,以达到锻炼提高的目的。
2 解决方案
基于上述问题的存在,并结合近几年的教学经验,该文提出一些改进的教学方法,以达到提高非计算机专业的学生学习C语言的学习效果。做到尽量让学生感觉学习C语言很轻松,很有趣,且能将其学会并灵活应用。
2.1首因效应
作为一名教师,应该很清楚第一堂课是非常重要的。首先应该与学生互动,相互了解,建立良好的师生关系,拉近彼此间的距离,如果一个老师的气场足够吸引学生的话,后面的教学过程中的任何问题都能很好地解决,缺课现象也会少之又少。其次要消除学生对于C语言程序设计课程的陌生感和神秘感,使其明白C语言对于我们而言,其实并不陌生,它存在于我们的日常生活中。举例如计算器、手机等电子产品、各种游戏软件、操作系统、智能电器等的功能都可以由C语言程序设计实现。最后充分调动学生学习的兴趣,使其明白学习C语言并没有想象中的那么难。
在第一堂课时,可以少讲课程内容,必须得让学生明白其学习目的,可以通过现场调查法了解学生的想法,并引导其明白学习本课程的目标。这样能使学生具有更大的学习动力。充分调动学生的积极性,激发其兴趣,这有利于日后的教学工作的进行,以及改变学生学习的氛围。
2.2 教学方法
要想提高学生的学习效果,就必须得注重教学方法的使用。只有方法对,使用得当,才会达到事半功倍的效果。针对非计算机专业的学生来说,该文总结出下面几种方法。
2.2.1 示例教学法
项目教学法在文献[6]中阐述得很清楚,它是通过实施一个完整的项目而进行的教学活动,使学生通过对所选项目的完成来完成对C语言的学习。这样的方法有一定的效果,但是在实施方面的难度比较大,比如所选项目的难易如何把握,时间如何分配(尤其是在高等院校的日常教学中),达到的效果如何衡量等。这些都很难有一个标尺来衡量。有两种效果,一是对C语言掌握得非常的好,应用能力很强;二是对C语言一头雾水,云里雾里,不知所云。所以对此本文提出一种结合项目教学法的优势与高等院校特点于一体的示例教学方法。此方法是在传统教学方法的基础上,对于课堂的设计有所改变。传统教学注重理论的讲解,而此方法是在简要讲解理论的基础上,针对某些重点知识的运用,例举一些具体的有趣且贴近生活的实例,做出相应的讲解后,加以演示,让学生对此程序的运行结果等有一个直观的感受;而且在演示的过程中,还可以教学生相应的一些调试程序找错的方法,这样学生自己上机练习的时候,调试能力会大大的增强。通过示例教学法,可以使学生对知识点的掌握以及运用能力得到很大的提高。 2.2.2 诱导法
传统教学模式是针对什么内容就很直白的讲解相应的内容,这样会使学生觉得枯燥乏味,久而久之会产生相应的厌学情绪,导致学习效率低下,学习效果低。该文针对此现象提出相应的改进方法,即诱导学习法。在课堂上,学生是主体,教师应该设计好所讲授内容的先后连接顺序,做到连贯有序。比如引入一个新的知识点之前,先提出问题,引导学生思考相应的解决方法,或让学生相互讨论,最终引出知识点进行讲解。这样更能提高学生课堂上学习的积极性。比如在学习数组之前,先提出问题,如果用一般的变量存放学生的年龄,需要存放几万学生的年龄,则需要几万个的变量,这样的编程量是非常大的,引导学生思考解决方法,并引出数组的概念和作用,这样学生比较容易接受,而且也不会觉得很突然或陌生,更能轻易得接受并学习。
2.2.3 对比法
根据人类认识事物的规律,在课堂上采取对比教学法会得到的非常好的效果。从常理出发,人们习惯性地会对比身边的事物,从而认识相应的事物。所以在课堂上讲解知识点的时候,恰到好处地运用好此方法的话,教学效果是非常好的。比如在学习数组的时候,当学习完一维数组之后,学习二维数组的时候,就可以以类比的方法来介绍二维数组,学生会很快学会并吸收二维数组的内容。这样的效果是非常显著的。
2.2.4 抽象具体化
C语言中,有很多抽象的专业性描述的概念理论,而对这些理论的讲解是比较难的。对于学生而言,这些内容在头脑里是很抽象难以理解的。所以这时就需要教师在讲解内容时,少用专业术语进行解释。比如讲解C语言充有且只能有一个main函数,且程序从main函数开始到main函数结束时,很多学生不是很理解,教师就可以举例说一个学校只有一个大門,学生要想进入学校逛耍就只能通过大门走进,而逛耍完后想要走出学校时,也只能通过大门才能出去。学校的大门就类似于main函数,要想进入学校只能从大门进或出,而C语言程序的开始结束也只能从main函数开始或结束。这样的话,学生比较能接受并理解此知识点,而且会觉得有趣。
2.2.5 组队上机法
此方法主要是针对上机实验课。传统的实验课是学生进入机房之后,个人练习,各练各的,学生之间缺少交流沟通。对此,该文提出的组队上机法可以有效地改善此现象,并得到相应的效果的提高。事先将学生进行分组,然后对每个小组分配任务,并提出要求及实验结果,还可以制定一些相应的奖惩制度,当然奖惩制度得切实可行。上机实践时,小组成员之间相互探讨问题,互动地学习,这样可以激发学生的求知欲,也能锻炼学生的团队协作能力。相互之间有竞争,就可以刺激学生的学习欲望。
2.3 课后沟通
因为高校的老师和学生之间见面的机会最多的就是上课时间,而学生有问题又不可能在课堂上问。针对这种现象,如果老师能和学生打成一片,加入学生的QQ学习群里,课后有任何的问题,大家都可以通过互联网在QQ群里讨论,老师也可解答问题。这样的学习效率是很高的,学生觉得老师负责,他的学习激情会更大,潜能也会被激发。
3 总结
教学实践证明,针对目前非计算机专业的学生学习C语言的现状,该文所提出的解决方案教学方法是切实可行的,且教学效果得到了确切的提高。利用这些方法,不仅可以激发学生的学习兴趣,更能增强学生分析处理问题的能力。学生在一种快乐融洽的氛围中学习,学习效率是非常高的。
参考文献:
[1] 谢竞博.C语言程序设计教学中的问题及改革建议[J].重庆邮电大学学报:社会科学报,2008(2).
[2] 王继东,赵瑞斌,陈桂林.计算机专业C语言程序设计课程教学改革探索[J].计算机时代,2012(2).
[3] 牛熠,董阿妮,吴燕玲.C语言教学中学生兴趣的培养[J].东莞理工学院学报,2006(1).
[4] 冀振川,谷飞.计算机C语言教学方法初探[J].新课程学习(中),2011(9).
[5] 何克抗,郑永柏,谢幼如.教学系统设计[M].北京师范大学出版社,2002.
[6] 张学林,陈齐超,段珊,等.项目教学法在“C语言课程设计”中的研究与应用[J].实验技术与管理,2011(2).
关键词:C语言程序设计;教学方法;非计算机专业;示例教学法
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)17-4064-03
C语言是一种通用的计算机程序设计语言,对于计算机专业的学生来说,它是最重要的一门基础课程。学习C语言之后,可以为后面继续学习其他的高级程序设计语言打下坚实的基础。通过对C语言的学习,可以培养学生的提出问题、分析问题、解决问题的能力。在计算机专业的课程设计中,C语言程序设计是数据结构、操作系统、面向对象程序设计等多门课程的先修课程,对这些课程的教学有着直接的影响[2]。
学习C语言不止对计算机专业的学生来说重要,对非计算机专业的学生也是相当的重要。随着社会的发展,科技的进步,用人单位对员工的要求等的越来越高,加上应届毕业生的求职门槛越来越高,很多非计算机专业的学生也纷纷学习C语言,因为它不仅可以证明其具有一定的计算机操作的能力,如果拿到国家计算机等级考试C语言二级证书的话,还能在求职过程中,占据相当大的优势,赢得面试官的亲睐。所以大量的非计算机专业的学生学习C语言,而因为其计算机基础很弱,甚至有的为零,那么怎样才能让其将C语言学会,学好,并能灵活运用呢?这就是本文的探讨所在。
目前,在各大高校的非计算机专业都会设置相应的C语言程序设计课程,不仅如此,还有大量的培训机构招收非计算机专业的学生进行培训,以达到获得国家C语言二级证书,或使其具备一定的编程能力以备求职所用,可见C语言的重要性。
1 存在的问题
1.1 学生的问题
在近几年的教学实践中,发现学生普遍认为这门课难度很大,不容易学,而且即使懂了理论也不会做题或编写程序。究其原因,主要有:
1)很多学生的学习目的是不明确的[3]。经过相应的调查,发现在高等院校中,很多学生只是顺从学校或学院的安排,盲目地去上课,根本就不清楚自己为什么要学习C语言,所以一旦遇到困难,就会觉得难学,甚至会觉得学了也没用,导致学习兴趣以及热情的下降,这样就会缺乏学习的积极性和主动性。
2)学生的实践动手能力不高。C语言是一门逻辑性和操作性都很强的计算机语言,而很多学生都不明确上机实验的目的,甚至有的学生连实验的内容都不清楚,到了机房就是一盘散沙,不知道要做什么,导致动手能力不高。当然在上机的过程中,也难免会出现某些学生玩游戏等这样的情况,所以这也是实践课程中管理的疏忽。
3)對于高等院校的非计算机专业的学生来说,他们对学校安排的计算机课程的重视度不高。认为本门课程不是主课,仅仅是为应付考试而去学习,所以学习积极性不高,有时可能会发生上课不听讲,下课不看书的现象[4]。
4)教学过程中,发现在学生中存在一种普遍现象,即程序设计能力和调试能力都比较弱。究其原因,主要是因为其对于算法不够熟练,灵活运用知识的能力比较弱,编程的时候程序结构不清晰,标点符号等语法错误较多,不够细心。
1.2 教师的问题
教学的过程是教与学的过程,是教师的教与学生的学相结合的。国内著名的教育技术专家何克抗教授提出来“主导-主体”教学理论[5],他认为教学活动应该以教师为主导以学生为主体,突出教师在教学活动中主导者地位的同时,要注重对学生创新思维和创新能力的培养,避免学生被动学习。
1)在课堂教学过程中,太重理论的讲解,而忽视了对学生实践操作的引导。这就要求教师在备课过程中,必须清楚整个教学大纲的内容,做到有的放矢,理论讲解的同时,注重对锻炼学生动手能力的实践做相应的指导。
2)在上机实践时,容易放心让学生自己练习,导致学生动手能力未能得到确切的提高。这样就可能会导致很多学生在实验课上玩耍而不做任何实验。所以这就要求老师事前必须得做好实验课内容的设计,并严格要求学生达到什么样的效果,让学生自己动手操作,以达到锻炼提高的目的。
2 解决方案
基于上述问题的存在,并结合近几年的教学经验,该文提出一些改进的教学方法,以达到提高非计算机专业的学生学习C语言的学习效果。做到尽量让学生感觉学习C语言很轻松,很有趣,且能将其学会并灵活应用。
2.1首因效应
作为一名教师,应该很清楚第一堂课是非常重要的。首先应该与学生互动,相互了解,建立良好的师生关系,拉近彼此间的距离,如果一个老师的气场足够吸引学生的话,后面的教学过程中的任何问题都能很好地解决,缺课现象也会少之又少。其次要消除学生对于C语言程序设计课程的陌生感和神秘感,使其明白C语言对于我们而言,其实并不陌生,它存在于我们的日常生活中。举例如计算器、手机等电子产品、各种游戏软件、操作系统、智能电器等的功能都可以由C语言程序设计实现。最后充分调动学生学习的兴趣,使其明白学习C语言并没有想象中的那么难。
在第一堂课时,可以少讲课程内容,必须得让学生明白其学习目的,可以通过现场调查法了解学生的想法,并引导其明白学习本课程的目标。这样能使学生具有更大的学习动力。充分调动学生的积极性,激发其兴趣,这有利于日后的教学工作的进行,以及改变学生学习的氛围。
2.2 教学方法
要想提高学生的学习效果,就必须得注重教学方法的使用。只有方法对,使用得当,才会达到事半功倍的效果。针对非计算机专业的学生来说,该文总结出下面几种方法。
2.2.1 示例教学法
项目教学法在文献[6]中阐述得很清楚,它是通过实施一个完整的项目而进行的教学活动,使学生通过对所选项目的完成来完成对C语言的学习。这样的方法有一定的效果,但是在实施方面的难度比较大,比如所选项目的难易如何把握,时间如何分配(尤其是在高等院校的日常教学中),达到的效果如何衡量等。这些都很难有一个标尺来衡量。有两种效果,一是对C语言掌握得非常的好,应用能力很强;二是对C语言一头雾水,云里雾里,不知所云。所以对此本文提出一种结合项目教学法的优势与高等院校特点于一体的示例教学方法。此方法是在传统教学方法的基础上,对于课堂的设计有所改变。传统教学注重理论的讲解,而此方法是在简要讲解理论的基础上,针对某些重点知识的运用,例举一些具体的有趣且贴近生活的实例,做出相应的讲解后,加以演示,让学生对此程序的运行结果等有一个直观的感受;而且在演示的过程中,还可以教学生相应的一些调试程序找错的方法,这样学生自己上机练习的时候,调试能力会大大的增强。通过示例教学法,可以使学生对知识点的掌握以及运用能力得到很大的提高。 2.2.2 诱导法
传统教学模式是针对什么内容就很直白的讲解相应的内容,这样会使学生觉得枯燥乏味,久而久之会产生相应的厌学情绪,导致学习效率低下,学习效果低。该文针对此现象提出相应的改进方法,即诱导学习法。在课堂上,学生是主体,教师应该设计好所讲授内容的先后连接顺序,做到连贯有序。比如引入一个新的知识点之前,先提出问题,引导学生思考相应的解决方法,或让学生相互讨论,最终引出知识点进行讲解。这样更能提高学生课堂上学习的积极性。比如在学习数组之前,先提出问题,如果用一般的变量存放学生的年龄,需要存放几万学生的年龄,则需要几万个的变量,这样的编程量是非常大的,引导学生思考解决方法,并引出数组的概念和作用,这样学生比较容易接受,而且也不会觉得很突然或陌生,更能轻易得接受并学习。
2.2.3 对比法
根据人类认识事物的规律,在课堂上采取对比教学法会得到的非常好的效果。从常理出发,人们习惯性地会对比身边的事物,从而认识相应的事物。所以在课堂上讲解知识点的时候,恰到好处地运用好此方法的话,教学效果是非常好的。比如在学习数组的时候,当学习完一维数组之后,学习二维数组的时候,就可以以类比的方法来介绍二维数组,学生会很快学会并吸收二维数组的内容。这样的效果是非常显著的。
2.2.4 抽象具体化
C语言中,有很多抽象的专业性描述的概念理论,而对这些理论的讲解是比较难的。对于学生而言,这些内容在头脑里是很抽象难以理解的。所以这时就需要教师在讲解内容时,少用专业术语进行解释。比如讲解C语言充有且只能有一个main函数,且程序从main函数开始到main函数结束时,很多学生不是很理解,教师就可以举例说一个学校只有一个大門,学生要想进入学校逛耍就只能通过大门走进,而逛耍完后想要走出学校时,也只能通过大门才能出去。学校的大门就类似于main函数,要想进入学校只能从大门进或出,而C语言程序的开始结束也只能从main函数开始或结束。这样的话,学生比较能接受并理解此知识点,而且会觉得有趣。
2.2.5 组队上机法
此方法主要是针对上机实验课。传统的实验课是学生进入机房之后,个人练习,各练各的,学生之间缺少交流沟通。对此,该文提出的组队上机法可以有效地改善此现象,并得到相应的效果的提高。事先将学生进行分组,然后对每个小组分配任务,并提出要求及实验结果,还可以制定一些相应的奖惩制度,当然奖惩制度得切实可行。上机实践时,小组成员之间相互探讨问题,互动地学习,这样可以激发学生的求知欲,也能锻炼学生的团队协作能力。相互之间有竞争,就可以刺激学生的学习欲望。
2.3 课后沟通
因为高校的老师和学生之间见面的机会最多的就是上课时间,而学生有问题又不可能在课堂上问。针对这种现象,如果老师能和学生打成一片,加入学生的QQ学习群里,课后有任何的问题,大家都可以通过互联网在QQ群里讨论,老师也可解答问题。这样的学习效率是很高的,学生觉得老师负责,他的学习激情会更大,潜能也会被激发。
3 总结
教学实践证明,针对目前非计算机专业的学生学习C语言的现状,该文所提出的解决方案教学方法是切实可行的,且教学效果得到了确切的提高。利用这些方法,不仅可以激发学生的学习兴趣,更能增强学生分析处理问题的能力。学生在一种快乐融洽的氛围中学习,学习效率是非常高的。
参考文献:
[1] 谢竞博.C语言程序设计教学中的问题及改革建议[J].重庆邮电大学学报:社会科学报,2008(2).
[2] 王继东,赵瑞斌,陈桂林.计算机专业C语言程序设计课程教学改革探索[J].计算机时代,2012(2).
[3] 牛熠,董阿妮,吴燕玲.C语言教学中学生兴趣的培养[J].东莞理工学院学报,2006(1).
[4] 冀振川,谷飞.计算机C语言教学方法初探[J].新课程学习(中),2011(9).
[5] 何克抗,郑永柏,谢幼如.教学系统设计[M].北京师范大学出版社,2002.
[6] 张学林,陈齐超,段珊,等.项目教学法在“C语言课程设计”中的研究与应用[J].实验技术与管理,2011(2).