论文部分内容阅读
摘要:C语言时高校理工科的一门重要基础课,本文是在多年的C语言教学实践中,总结得出的一些C语言的理论和实验的教学经验,通过细致的实例讲解,提出一些行之有效的C语言教学方法。在理论教学上,提出对教材全局认识来关联各章节的知识,在关联中强化理解语言中的相关专业术语;掌握学习语言的思路,同时对教材内容要有所轻重取舍,避免讲解过细的语法,从简到难;并激发同学们学有所思,多提为什么。对实验强调背思改的练习过程,背程序是学习的基础,思是对编写程序的理解,最后通过改程序来强化学生们对计算机执行程序过程的理解和灵活应用能力,最终能自如的编写程序。
关键词:C语言 程序设计 教学
中图分类号:TP311.1 文献标识码:A 文章编号:1674-098X(2012)08(c)-0163-02
目前,随着计算机的广泛应用,人们无论是生活还是学习,对计算机的使用和利用日益增多,新世纪对大学生不仅仅要求掌握计算机操作,如学习Windows和Office等工具软件的使用,还要具备一定的实际应用编程能力。C语言是理工科专业的一门重要的基础课程,学好C语言,为今后借助计算机解决理工科的各个专业上的问题打下坚实的基础。C语言一般开设在大学一年级或大学二年级的上学期,由此可见其重要性和基础性。
在学习过程中,一开始,同学们非常重视C语言的学习,表现得积极主动,认真听讲,但是,几堂课后,这样的状态难以维持,普遍认为学习难度过大,枯燥,特别是上机实验,严格1的语法让同学们几行代码换来十多行英文错误信息提示,本来英语就不是强项,再加上专业性词汇掺杂其中,能看懂错误提示的同学寥寥无几,更查不出错误,失败感油然而生,学习兴趣2和学习信心倍受挫折,很多同学开始放弃学习C语言。除了这个,C语言难学还有很多原因,首先,C语言本身不是一门简单的课程;其次,学生们自身的基础知识不牢固,数学和英语都涉及到;第三,学生学习能力不强;最后教师教授的方式方法也会影响到C语言的学习。C语言对初学者来说,是一个全新的天地,就如同学习一门新外语,它有自己的专业词汇,语法和语序。就C语言这门课程的名字,很多同学都无法理解,因为它和生活中的语言相差极大,但也被称为语言。这些都使同学们学习起来困难重重,如何帮助同学们克服困难学好C语言,需要我们作为教师的认真思考教学方法。
1 C语言理论教学的方法探讨
传统的教学方法已经讨论过很多,主要是激发同学们的兴趣,加强实践等等,这些对于任何一门计算机课程都是至关重要的。但是不同的计算机课程有自己的特点,本文想从自身多年教学C语言的经验提出一些更具体和更实用的方法,以期共享和共勉。
1.1 初学C语言时,要对教材内容有一个全局的认识
每次面对初学者,我首先要求看目录,了解本教材的教学内容大概有哪些章节,然后讲解章节之间的联系。我常在教学时提出一个问题,如果要写一本关于人的书,请问该书该如何分章节写?同学们马上就会回答,人是由头和四肢,以及各个部件组合起来的,等等。同样,这本书是写C语言,那么C语言又该如何写,章节有哪些,章与章之间有什么联系。我们的C语言是用来设计程序的,那么程序是什么,同学们可能都知道程序是一系列指令的集合,但再问指令是什么呢,指令就是指挥机器工作的指示和命令,是计算机能识别和理解的最小操作,通常由操作符和操作数构成。而C语言就是要编写一系列的指令,而每条指令都由操作符和操作数构成,那么操作数有哪些,这样就可以联系到为什么教材一开始有一章专门是数据类型,这一章的内容,不仅是C语言,其它所有语言都有这章。操作符又有哪些呢,这样教材又会专门讲到算术运算符、关系运算符、逻辑运算符等,这样一条指令的两个组成部分分别讲清了它们的构成。一条指令讲清楚了,那么一系列的指令又要涉及什么呢,一系列的指令涉及到的是执行顺序,也就是流程控制,是顺序执行还是选择或重复执行。这样一系列的指令加上流程控制就形成了我们的程序。程序也就是这样被设计出来了。例如,以谭浩强的教材为例,第二章讲数据类型,第三章讲运算符与表达式,第四五六章开始讲三大结构,也就是流程控制,这样,从语言是设计程序以及程序的定义得出了前六章之间的联系。至于后面的函数,是用模块化程序的思想构造更复杂的程序。指针是在前几章的基础上更灵活的设计程序。
1.2 对于理论教学,要克服抽象的讲解,尽量用通俗的语言和实例进行教学,主动引导同学们提出为什么,激发同学们学有所思
C语言是一门语言,同学们首先对语言的概念要有拓展,不能局限于生活中的语言概念。语言是用来交流的,我们生活中的语言是人与人之间交流使用的,现在所遇到的计算机语言是人与计算机交流使用的工具,因此它也被称作语言。在教学中,C语言有很多抽象的概念。例如数据类型不同的变量,同学们刚接触变量,理解有些困难,可以形象的打比方,不同的变量就像不同的盒子,大小尺寸不同,装载能力就不一样,所以变量一定要先定义类型,后使用等。其次在讲解知识时,多提些为什么,比如为什么要学数据类型,运算符,表达式等等,这些我们开始就强调过,指令就是由操作数和操作符构成的,操作数就是各种各样类型的数据,操作符就是对数据进行算术、关系和逻辑的算符,而算符和数据合在一起就形成各式各样的表达式,这样,知识就关联起来了。同学们也明白为什么学。
1.3 对于教学内容,要把握好轻重和取舍,避免讲解过细的语法
初学者不能要求什么知识都全面的学,这样会让学生们不得不知难而退。我们在教学中应该讲解常用和基本的知识,学一点会一点。例如数据类型,同学们常遇到的就是整型、字符型,虽然也会遇到浮点型和双精度型等,但一开始应重点强调整型和字符型。对于函数也是,如scanf和printf函数,它们有很多参数,功能强大而全面,但在教学时,一开始只要求同学们掌握如何输入输出整型和字符型,够用即可。也就是在认识C语言的语法时,先认识C语言的典型个例,再通过个例认识抽象的一类,再从对类的认识过渡到全面认识这一类的所有个例。一开始只能反复强调经典个例,从个别案例慢慢的认识和接受C语言的语法,语义和语序。 2 C语言实验教学探讨
实验对学习语言是必不可少的一部分,C语言是一门验证型实验,但如果只是照搬照抄代码,运行完事,是不可能学会编程的。在实验方面,体会比较深刻的是以下两方面:
2.1 强调背代码
学习C语言的同学大多数都是理工科的,按照以往的学习方法,他们是看不上死记硬背,认为这是文科的学习方法,但对C的学习,背时必须的。就像学英语背单词一样,在背的基础上,才可能把代码从书本搬到大脑里,到了大脑才可能被同学们掌握并学着灵活使用。
2.2 强调实践的技巧,以模仿和改程序为主
C语言的实验很多都是验证型的,同学们一般照书输入,然后运行,这样上实验,同学们不可能学会编程。对于初学C语言的同学,常常误以为把程序输入计算机,调试和编译通过,那么实验的目的就达到了,毕竟初学者能把书上的程序正确的输入计算机已是不容易了,但真正要学会编程,仅仅练习了输入、运行通过是远远不够的。实验一定要有技巧。我们这里强调背程序到改程序相结合的方式。一开始,对一些简单的程序要求背代码,在背的基础上进行验证性的实验,然后要改程序,每改一次就运行观察结果的变化,让同学们体会掌握语言后计算机是怎样的按你的意思去完成,这样反复训练,同学们才会爱上与机器交流。例如一个简单的屏幕显示欢迎的程序,一开始,只要求输出“Hello World!”,接着要改成交互式的,输入名字,再输出名字+“Hello World!”,或者让程序多输出几行“Hello World!”等等。这些都是同学们与机器交流的开始,体会机器如何理解同学们的要求。在循环的教学上,我们更是要求同学们首先把自己当成是计算机,把循环的整个执行的过程模拟写出来,变量值的变化,循环条件的变化,每循环一次就要求把这些变化全部写出来,这里一般控制循环的次数在6次左右。这样反复的训练,才能真正让同学们把到计算机的思维学到脑里,才能真正的学会编程。
3 结语
以上几点教学实践是从实际的《C语言程序设计》课程教学中得出的,当然,不同的学生和不同的教学内容,还有更为具体和实际的方式方法,笔者所写是希望对大学计算机基础教学有一定借鉴作用,在今后还将继续探索,以期更好的教学效果。
参考文献
[1] 谭浩强.C程序设计[M].3版.北京:清华大学出版社,2005.
[2] 周强.C语言教学方法探讨[J].滁州学院学报,2004(4).
[3] 陈仲民.关于C语言教学方法和程序设计的探讨[J].计算机教育,2007(6).
[4] 刘鑫,杨春燕.浅谈C语言程序设计教学方法[J].长春理工大学学报(高教版),2009(11).
关键词:C语言 程序设计 教学
中图分类号:TP311.1 文献标识码:A 文章编号:1674-098X(2012)08(c)-0163-02
目前,随着计算机的广泛应用,人们无论是生活还是学习,对计算机的使用和利用日益增多,新世纪对大学生不仅仅要求掌握计算机操作,如学习Windows和Office等工具软件的使用,还要具备一定的实际应用编程能力。C语言是理工科专业的一门重要的基础课程,学好C语言,为今后借助计算机解决理工科的各个专业上的问题打下坚实的基础。C语言一般开设在大学一年级或大学二年级的上学期,由此可见其重要性和基础性。
在学习过程中,一开始,同学们非常重视C语言的学习,表现得积极主动,认真听讲,但是,几堂课后,这样的状态难以维持,普遍认为学习难度过大,枯燥,特别是上机实验,严格1的语法让同学们几行代码换来十多行英文错误信息提示,本来英语就不是强项,再加上专业性词汇掺杂其中,能看懂错误提示的同学寥寥无几,更查不出错误,失败感油然而生,学习兴趣2和学习信心倍受挫折,很多同学开始放弃学习C语言。除了这个,C语言难学还有很多原因,首先,C语言本身不是一门简单的课程;其次,学生们自身的基础知识不牢固,数学和英语都涉及到;第三,学生学习能力不强;最后教师教授的方式方法也会影响到C语言的学习。C语言对初学者来说,是一个全新的天地,就如同学习一门新外语,它有自己的专业词汇,语法和语序。就C语言这门课程的名字,很多同学都无法理解,因为它和生活中的语言相差极大,但也被称为语言。这些都使同学们学习起来困难重重,如何帮助同学们克服困难学好C语言,需要我们作为教师的认真思考教学方法。
1 C语言理论教学的方法探讨
传统的教学方法已经讨论过很多,主要是激发同学们的兴趣,加强实践等等,这些对于任何一门计算机课程都是至关重要的。但是不同的计算机课程有自己的特点,本文想从自身多年教学C语言的经验提出一些更具体和更实用的方法,以期共享和共勉。
1.1 初学C语言时,要对教材内容有一个全局的认识
每次面对初学者,我首先要求看目录,了解本教材的教学内容大概有哪些章节,然后讲解章节之间的联系。我常在教学时提出一个问题,如果要写一本关于人的书,请问该书该如何分章节写?同学们马上就会回答,人是由头和四肢,以及各个部件组合起来的,等等。同样,这本书是写C语言,那么C语言又该如何写,章节有哪些,章与章之间有什么联系。我们的C语言是用来设计程序的,那么程序是什么,同学们可能都知道程序是一系列指令的集合,但再问指令是什么呢,指令就是指挥机器工作的指示和命令,是计算机能识别和理解的最小操作,通常由操作符和操作数构成。而C语言就是要编写一系列的指令,而每条指令都由操作符和操作数构成,那么操作数有哪些,这样就可以联系到为什么教材一开始有一章专门是数据类型,这一章的内容,不仅是C语言,其它所有语言都有这章。操作符又有哪些呢,这样教材又会专门讲到算术运算符、关系运算符、逻辑运算符等,这样一条指令的两个组成部分分别讲清了它们的构成。一条指令讲清楚了,那么一系列的指令又要涉及什么呢,一系列的指令涉及到的是执行顺序,也就是流程控制,是顺序执行还是选择或重复执行。这样一系列的指令加上流程控制就形成了我们的程序。程序也就是这样被设计出来了。例如,以谭浩强的教材为例,第二章讲数据类型,第三章讲运算符与表达式,第四五六章开始讲三大结构,也就是流程控制,这样,从语言是设计程序以及程序的定义得出了前六章之间的联系。至于后面的函数,是用模块化程序的思想构造更复杂的程序。指针是在前几章的基础上更灵活的设计程序。
1.2 对于理论教学,要克服抽象的讲解,尽量用通俗的语言和实例进行教学,主动引导同学们提出为什么,激发同学们学有所思
C语言是一门语言,同学们首先对语言的概念要有拓展,不能局限于生活中的语言概念。语言是用来交流的,我们生活中的语言是人与人之间交流使用的,现在所遇到的计算机语言是人与计算机交流使用的工具,因此它也被称作语言。在教学中,C语言有很多抽象的概念。例如数据类型不同的变量,同学们刚接触变量,理解有些困难,可以形象的打比方,不同的变量就像不同的盒子,大小尺寸不同,装载能力就不一样,所以变量一定要先定义类型,后使用等。其次在讲解知识时,多提些为什么,比如为什么要学数据类型,运算符,表达式等等,这些我们开始就强调过,指令就是由操作数和操作符构成的,操作数就是各种各样类型的数据,操作符就是对数据进行算术、关系和逻辑的算符,而算符和数据合在一起就形成各式各样的表达式,这样,知识就关联起来了。同学们也明白为什么学。
1.3 对于教学内容,要把握好轻重和取舍,避免讲解过细的语法
初学者不能要求什么知识都全面的学,这样会让学生们不得不知难而退。我们在教学中应该讲解常用和基本的知识,学一点会一点。例如数据类型,同学们常遇到的就是整型、字符型,虽然也会遇到浮点型和双精度型等,但一开始应重点强调整型和字符型。对于函数也是,如scanf和printf函数,它们有很多参数,功能强大而全面,但在教学时,一开始只要求同学们掌握如何输入输出整型和字符型,够用即可。也就是在认识C语言的语法时,先认识C语言的典型个例,再通过个例认识抽象的一类,再从对类的认识过渡到全面认识这一类的所有个例。一开始只能反复强调经典个例,从个别案例慢慢的认识和接受C语言的语法,语义和语序。 2 C语言实验教学探讨
实验对学习语言是必不可少的一部分,C语言是一门验证型实验,但如果只是照搬照抄代码,运行完事,是不可能学会编程的。在实验方面,体会比较深刻的是以下两方面:
2.1 强调背代码
学习C语言的同学大多数都是理工科的,按照以往的学习方法,他们是看不上死记硬背,认为这是文科的学习方法,但对C的学习,背时必须的。就像学英语背单词一样,在背的基础上,才可能把代码从书本搬到大脑里,到了大脑才可能被同学们掌握并学着灵活使用。
2.2 强调实践的技巧,以模仿和改程序为主
C语言的实验很多都是验证型的,同学们一般照书输入,然后运行,这样上实验,同学们不可能学会编程。对于初学C语言的同学,常常误以为把程序输入计算机,调试和编译通过,那么实验的目的就达到了,毕竟初学者能把书上的程序正确的输入计算机已是不容易了,但真正要学会编程,仅仅练习了输入、运行通过是远远不够的。实验一定要有技巧。我们这里强调背程序到改程序相结合的方式。一开始,对一些简单的程序要求背代码,在背的基础上进行验证性的实验,然后要改程序,每改一次就运行观察结果的变化,让同学们体会掌握语言后计算机是怎样的按你的意思去完成,这样反复训练,同学们才会爱上与机器交流。例如一个简单的屏幕显示欢迎的程序,一开始,只要求输出“Hello World!”,接着要改成交互式的,输入名字,再输出名字+“Hello World!”,或者让程序多输出几行“Hello World!”等等。这些都是同学们与机器交流的开始,体会机器如何理解同学们的要求。在循环的教学上,我们更是要求同学们首先把自己当成是计算机,把循环的整个执行的过程模拟写出来,变量值的变化,循环条件的变化,每循环一次就要求把这些变化全部写出来,这里一般控制循环的次数在6次左右。这样反复的训练,才能真正让同学们把到计算机的思维学到脑里,才能真正的学会编程。
3 结语
以上几点教学实践是从实际的《C语言程序设计》课程教学中得出的,当然,不同的学生和不同的教学内容,还有更为具体和实际的方式方法,笔者所写是希望对大学计算机基础教学有一定借鉴作用,在今后还将继续探索,以期更好的教学效果。
参考文献
[1] 谭浩强.C程序设计[M].3版.北京:清华大学出版社,2005.
[2] 周强.C语言教学方法探讨[J].滁州学院学报,2004(4).
[3] 陈仲民.关于C语言教学方法和程序设计的探讨[J].计算机教育,2007(6).
[4] 刘鑫,杨春燕.浅谈C语言程序设计教学方法[J].长春理工大学学报(高教版),2009(11).