论文部分内容阅读
摘要:程序设计课程目前几乎是高校所有理工科专业的基础课。为了提高教学质量,本文基于作者多年的教学经验和软件开发经验,从学生、课程内容、能力培养等几方面出发,以C语言为例,对程序设计语言的教学方式进行了探索。
关键词:C语言;教学改革;教学质量;软件开发
C语言是国内外广泛使用的计算机语言,它兼顾了高级语言的易用性、可移植性好等优点,又具有低级语言效率高、可直接对硬件进行操作等大部分功能,是计算机应用人员应掌握的一种程序设计工具,同时也是高校理工科一门重要的课程。谭浩强的《C程序设计》教材发行量高达800万册,从这个数字上可以看出学习C语言的人数之多。
在C语言的教学中笔者经常考虑如何提高C语言的教学效果和学习效率问题。下面根据教学实践和软件开发经验谈谈在C语言教学中的体会。
兴趣培养是首要任务
做好一件事情的前提是要有兴趣去做。如何提高学生学习C语言的兴趣,一直是大家探讨的问题。在开课的时候教师需要做的最重要的事情就是调动学生学习的积极性。目前很多老师常用的做法是讲C语言的优点。笔者认为这样做不能很好地达到目的,因为学生没有接触过其他语言,根本理解不了老师所讲的优点。我们不妨从以下几方面尝试:
(1)给出生动具体的例子,通过实例告诉学生C语言可以做什么,我们可以用C语言做什么。
(2)强调能力的培养,告诉学生本课程除了可以学到C语言的知识外,还可以学到什么。
(3)告诉学生随着计算机技术的发展,计算机应用于各行各业,大到国防工业,小到医院挂号,餐馆点餐。
(4)谈谈当前流行的各种语言。
(5)插入一些软件行业成功人士的介绍,起到对学生“励志”的作用。
当然,兴趣培养不是简单的说教,在整个课程的教学中时刻要注意如何激发和保持学生的学习兴趣。
根据C语言的特性进行教学
由于程序设计语言的逻辑性强,语法、句式结构抽象。如果在教学方法上,沿袭传统的教学模式,即以语言的语句体系为脉络展开教学,详细地讲解其语句、语法,甚至一些细节内容,没有注重程序设计的方法和算法的设计思想,必然使课程枯燥无味,而且造成学生理论基础差,动手能力不强和缺乏创新思想。
C语言这门课程不同于数学类课程和一般的工科类课程,有其自己的独特性。程序设计需要对问题作高水平的抽象,设计过程中又要考虑变量的存贮等很具体的问题。这是此课程的难点所在,也是我们在教学中必须强化的两点。
尽管语言本身描述的是语法规则,但学习语言的直接目的是能够使用它进行程序设计。所以如果紧紧围绕如何设计程序来组织教学,必然收到事半功倍的效果。
(1)强化存贮概念——联系编译原理讲解变量的定义和使。
(2)弱化公式表述——采用实例化方式讲述语法。
(3)强化抽象能力的培养——程序设计始于对处理过程的本质抽象。
结合软件开发经验安排教学
C++的创始人Biame Stroustruv在《c++语言程序设计》一书中的致读者部分指出:“在编程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想”。做过软件开发经验的人对这句话都深有体会。当我们编写程序解决某个问题时,首先要考虑的是这个问题的解决方案是什么,如何用程序实现这个解决方案。既要考虑如何处理数据,又要考虑采用什么样的程序结构。
谈到如何学习C++时Sjame Stroustrup指出:“在学习C++时,最重要的事情就是集中关注概念,不要迷失在语言的技术细节中。学习语言的目的是成为一个更好的程序员;也就是说,使自己在设计和实现新系统、在维护老系统时,能够工作得更有成效。为此,掌握编程技术和设计技术远比理解细节更重要;随着时间和实践,会理解细节的”。我认为对于C语言的学习也是这样。经常见到许多的C语言学习指导书中大量的篇幅用于描述语言的细节,一个简单的运算符“++”占据了很多篇幅,从不同的角度,不同的使用方法上讲解这个运算符。这样的安排会引导学生陷入细节中不能自拔,花费很多时间和精力去学习,但是仍然没有学会编写简单的程序。
Bjame Stroustrup的这些观点适合于任何一种程序设计语言的初学者。教师在安排C语言教学时,也应该注意这些,应该强调编程技术和设计技术,结合自己的软件开发经验安排教学。
(I)不能单纯地讲解语法,要注重程序流程的构造,合理处理细节问题。
(2)针对具体问题,注重数据结构的构造。
(3)强调软件开发中经常遇到的知识点。
重视实践提高学生的应用能力
程序设计语言是软件开发的工具,教学中必须注重实践,使学生学到的理论知识和实际密切结合,这样不仅有利于知识的掌握,也利于学生兴趣的提高。上机实践不是简单地输入程序运行程序,还应该包含程序调试纠错等过程。
C语言的教学效果直接影响到后续专业课的学习,也影响到学生对软件开发的兴趣,还能为学生学习其他高级语言奠定良好的基础。这要求教师不断探索积累,针对课程特点和学生现状总结出更好的教学方法,提高C语言的教学质量。
参考文献:
[1]谭浩强,C程序设计,北京:清华大学出版社,2005,ISBN:7302108536
[2]谭浩强,C语言程序设计上机指导,北京:清华大学出版社,2009,ISBN:7302112177
[3]Stroustrup,BjatTle.The C++Programming Language[M],3rd ed,Addison-Wesley,Reading,MA,1997
[4]齐治昌,从“计算机”到“计算”:计算机教育的发展与思考,中国大学教育,2004(11)
关键词:C语言;教学改革;教学质量;软件开发
C语言是国内外广泛使用的计算机语言,它兼顾了高级语言的易用性、可移植性好等优点,又具有低级语言效率高、可直接对硬件进行操作等大部分功能,是计算机应用人员应掌握的一种程序设计工具,同时也是高校理工科一门重要的课程。谭浩强的《C程序设计》教材发行量高达800万册,从这个数字上可以看出学习C语言的人数之多。
在C语言的教学中笔者经常考虑如何提高C语言的教学效果和学习效率问题。下面根据教学实践和软件开发经验谈谈在C语言教学中的体会。
兴趣培养是首要任务
做好一件事情的前提是要有兴趣去做。如何提高学生学习C语言的兴趣,一直是大家探讨的问题。在开课的时候教师需要做的最重要的事情就是调动学生学习的积极性。目前很多老师常用的做法是讲C语言的优点。笔者认为这样做不能很好地达到目的,因为学生没有接触过其他语言,根本理解不了老师所讲的优点。我们不妨从以下几方面尝试:
(1)给出生动具体的例子,通过实例告诉学生C语言可以做什么,我们可以用C语言做什么。
(2)强调能力的培养,告诉学生本课程除了可以学到C语言的知识外,还可以学到什么。
(3)告诉学生随着计算机技术的发展,计算机应用于各行各业,大到国防工业,小到医院挂号,餐馆点餐。
(4)谈谈当前流行的各种语言。
(5)插入一些软件行业成功人士的介绍,起到对学生“励志”的作用。
当然,兴趣培养不是简单的说教,在整个课程的教学中时刻要注意如何激发和保持学生的学习兴趣。
根据C语言的特性进行教学
由于程序设计语言的逻辑性强,语法、句式结构抽象。如果在教学方法上,沿袭传统的教学模式,即以语言的语句体系为脉络展开教学,详细地讲解其语句、语法,甚至一些细节内容,没有注重程序设计的方法和算法的设计思想,必然使课程枯燥无味,而且造成学生理论基础差,动手能力不强和缺乏创新思想。
C语言这门课程不同于数学类课程和一般的工科类课程,有其自己的独特性。程序设计需要对问题作高水平的抽象,设计过程中又要考虑变量的存贮等很具体的问题。这是此课程的难点所在,也是我们在教学中必须强化的两点。
尽管语言本身描述的是语法规则,但学习语言的直接目的是能够使用它进行程序设计。所以如果紧紧围绕如何设计程序来组织教学,必然收到事半功倍的效果。
(1)强化存贮概念——联系编译原理讲解变量的定义和使。
(2)弱化公式表述——采用实例化方式讲述语法。
(3)强化抽象能力的培养——程序设计始于对处理过程的本质抽象。
结合软件开发经验安排教学
C++的创始人Biame Stroustruv在《c++语言程序设计》一书中的致读者部分指出:“在编程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想”。做过软件开发经验的人对这句话都深有体会。当我们编写程序解决某个问题时,首先要考虑的是这个问题的解决方案是什么,如何用程序实现这个解决方案。既要考虑如何处理数据,又要考虑采用什么样的程序结构。
谈到如何学习C++时Sjame Stroustrup指出:“在学习C++时,最重要的事情就是集中关注概念,不要迷失在语言的技术细节中。学习语言的目的是成为一个更好的程序员;也就是说,使自己在设计和实现新系统、在维护老系统时,能够工作得更有成效。为此,掌握编程技术和设计技术远比理解细节更重要;随着时间和实践,会理解细节的”。我认为对于C语言的学习也是这样。经常见到许多的C语言学习指导书中大量的篇幅用于描述语言的细节,一个简单的运算符“++”占据了很多篇幅,从不同的角度,不同的使用方法上讲解这个运算符。这样的安排会引导学生陷入细节中不能自拔,花费很多时间和精力去学习,但是仍然没有学会编写简单的程序。
Bjame Stroustrup的这些观点适合于任何一种程序设计语言的初学者。教师在安排C语言教学时,也应该注意这些,应该强调编程技术和设计技术,结合自己的软件开发经验安排教学。
(I)不能单纯地讲解语法,要注重程序流程的构造,合理处理细节问题。
(2)针对具体问题,注重数据结构的构造。
(3)强调软件开发中经常遇到的知识点。
重视实践提高学生的应用能力
程序设计语言是软件开发的工具,教学中必须注重实践,使学生学到的理论知识和实际密切结合,这样不仅有利于知识的掌握,也利于学生兴趣的提高。上机实践不是简单地输入程序运行程序,还应该包含程序调试纠错等过程。
C语言的教学效果直接影响到后续专业课的学习,也影响到学生对软件开发的兴趣,还能为学生学习其他高级语言奠定良好的基础。这要求教师不断探索积累,针对课程特点和学生现状总结出更好的教学方法,提高C语言的教学质量。
参考文献:
[1]谭浩强,C程序设计,北京:清华大学出版社,2005,ISBN:7302108536
[2]谭浩强,C语言程序设计上机指导,北京:清华大学出版社,2009,ISBN:7302112177
[3]Stroustrup,BjatTle.The C++Programming Language[M],3rd ed,Addison-Wesley,Reading,MA,1997
[4]齐治昌,从“计算机”到“计算”:计算机教育的发展与思考,中国大学教育,2004(11)