论文部分内容阅读
【摘 要】本文通过分析高职非计算机专业的必修课程C语言教材中存在的若干问题,针对该课程为后续课程提供的核心服务,提出了相应的调整对策。
【关键词】高职院校;编译环境;教学案例
C语言是理工科非计算机专业学生必修的一门公共基础课程,笔者在教学中感到高职院校所用的C语言教材存在较多问题。目前,市场上的C语言的教材非常多,其中专门的高职院校教材的也不少,笔者在教学中使用过多种教材,作为参考,笔者几乎翻遍了书店的所有的入门教材,发现所用教材水平不一,适合高职学生非计算机专业工科类使用的极少,具体表现如下。
一、高职C语言教材存在的问题
(一)在高职这一层次上没有一本权威的教科书。
一本权威的教科书是很有必要的,客观地说,教书的教师应当没有编书的学者水平高,教师上课时,教材本身应当是一本很好的参考书,教师往往按教材组织教学,高职尤其如此。因此寻找一本适用教材至关重要,然而高职的C语言教材的出版,似乎仍处于战国时代,众多的教材让教师无所适从。
(二)教材内容重复且无针对性
各出版社出版的C语言教材很多,但大部份是低水平上的重复,各教材的抄袭痕迹明显,无论是教材形式的编排还是教学内容,大多雷同,内容陈旧,书中错误很多。当前本科层次的教材首推谭浩强教授编写各种版本的《C语言程序设计》,無庸置疑它是一本极全、极经典的C语言教材,但也因为通用性强,其内容成为诸多同类教材的模板,且所有专业均可通用,未针对不同专业进行编写。
(三)习题侧重解决数学问题
许多作者在编写教材时,仅仅把C语言当作一种更好的FORTRAN 这种观念是否正确,本文不作讨论 ,书中的多数习题都是数学问题。在把C语言引入大学教学的早期,这样做并不奇怪。因为在我国计算机科学发展的早期,计算机主要是为大规模数值运算服务的。许多教授C语言的老师都有用FORTRAN解决数学问题的经历,所以他们在编写教材时,自然把注意力集中在数学领域。而且,Matlab和Maple等数学软件那时尚未进入我国,使用C语言解决数学问题可以说是顺应环境的。但是同10年前相比,现在的大学生很容易得到各种数学工具软件,在这种情况下,C语言教材的习题仍然没有多大变化,这就有些耐人寻味了。在书店里,随意翻阅几本C语言教材,几乎总可以发现求最大公约数、矩阵转置等“经典”习题。一些所谓“创新”的教材,不过是在引入数学问题时转换了一个角度。可以说,这些C语言教材仅仅是在教授学生用C语言解决数学问题,而书中的数学问题用Matlab甚至EXCEL只需一个命令就能得到结果。这样的习题对学生能有多少意义呢?C语言的设计者Ritchie说过,学习一种语言的最好方法是编程。而一味地让学生编程解决没有吸引力的问题,恐怕他们的学习热情很快会被耗尽。在这方面,作者们应该多多参考国外的优秀教材。例如Kernighan和Ritchie写的《C程序设计语言》(The C Programming Language 2ndEd),在设计习题时,始终考虑C语言的特性:它确实是一种通用性极强的语言,但它的各种特点使它在编写操作系统和编译器时具有极大的优势。因此书中大多数习题都与这几个
领域的重要概念密切相关,而纯粹的数学题只在第1章出现了几道。国外还有一些较新的C语言教材,全书习题以编写一个小型的语言编译器为主线,学生把习题从头到尾做下来,一个较简单的编译器也就构造出来了。这样更容易让学生掌握C语言的精髓,同时也能让他们更快地获得“专业感”。
非计算机专业开设C语言常为将来工业控制中自动化程序编程需要打基础的,但几乎很少见到控制类的案例在教材中体现。
(四)与后续课程结合较少
高职非计算机专业需要开设《C语言程序设计》的专业一般如机电一体化、电子、电气自动化等,笔者曾分析过这些专业,发现其并未再开设后续的编程开发类课程,如C#、JAVA、ASP等课程,而更多开设的紧密相关课程是《单片机应用》,而在该课程中实际上使用的是扩展的C语言--C51,其对C语言程序设计的要求有其本身的特点:与单片机硬件结合紧密、以控制为主、输入输出与外接电路紧密相关、对编程中一些经典算法要求较少或者几乎不需要;而当我们使用通用的《C语言程序设计》来授课,是可以给学生一定的知识印象,但与后续课程极少有联系,让以实用为特点的高职学生感觉学习无用,从而自学兴趣较低。
以上问题,虽是以C语言教材为例来谈,其实许多其它高职教材存在着同样的问题,那么如何来解决这问题呢?
笔者认为可以从以下几个方面着手。
二、高职C语言教材使用对策
(一)以讲稿为主,大胆增删教材内容。
教师不能被现有教材所束缚,从目前情况来看,许多教材名不符实,如果在教学中发现教材不能满足要求,就应当毫不犹豫地让教材‘降格’,降为‘参考教材’,教学以讲稿为主。甚至如果认为教学大纲的部份内容不合适,也可以不遵从这部份内容。一切以让学生真正学到知识和真正培养学生能力为准。当然,不遵从教学大纲应当慎重考虑,请教专家,并得到学校的同意。
(二)选用由讲稿演变出的自编教材
学校应当放开手脚,不要将教师完全束缚于大纲,鼓励教师编写讲稿详案,并尽量让一位教师多次上本门课程,一份讲稿在多次修改后、完善后,就成了一本书,且它各部份内容的安排较为妥当,各部份的重点、难点都能较为突出,教法上也会有一定的体现,这样的教材,肯定好于那些东拼西凑、相互抄袭的书。在一定的时候,学校可予以审定,校内出版,如果确实好,还可以向有关出版社推荐。事实上有些高校的教材就是如此编写出来的,使用效果较好。
(三)采用窗口界面的编译环境
在当前所有人都在使用Windows操作系统的情况下,再去接触DOS界面的Turbo C 2.0实在会让充满活力的学生讨厌,这里推荐在入门时使用WinTc,小巧而易用,只要会用记事本就会用WinTC,在学习到一个阶段后可让其了解VC++(计算机专业)或Keil中C51编译环境(机电、电子、电气专业)。本文更多讨论的是非计算机专业,更推荐使用Keil,它就是一个为适应单片机应用而改造的C语言编译器。
总之,在当前高职教材越来不越不成为学生学习重点之际,希望不要让C语言教材成为学生讨厌学习C语言的核心因素。
【参考文献】
[1]《职教课程编制原则探索》雷正光 《职教通讯》2008/6
[2]《单片机C语言轻松入门》周坚编著 北京航空航天大学出版社
[3]《C语言程序设计》谭浩强著,清华大学出版社
[4] C51 单片机应用与 C 语言程序设计, 秦志强 等 编著, 电子工业出版社
[5]《十天学会单片机和C语言编程》,http://xidong.net/File001/File_54834.html,郭天祥主编
【关键词】高职院校;编译环境;教学案例
C语言是理工科非计算机专业学生必修的一门公共基础课程,笔者在教学中感到高职院校所用的C语言教材存在较多问题。目前,市场上的C语言的教材非常多,其中专门的高职院校教材的也不少,笔者在教学中使用过多种教材,作为参考,笔者几乎翻遍了书店的所有的入门教材,发现所用教材水平不一,适合高职学生非计算机专业工科类使用的极少,具体表现如下。
一、高职C语言教材存在的问题
(一)在高职这一层次上没有一本权威的教科书。
一本权威的教科书是很有必要的,客观地说,教书的教师应当没有编书的学者水平高,教师上课时,教材本身应当是一本很好的参考书,教师往往按教材组织教学,高职尤其如此。因此寻找一本适用教材至关重要,然而高职的C语言教材的出版,似乎仍处于战国时代,众多的教材让教师无所适从。
(二)教材内容重复且无针对性
各出版社出版的C语言教材很多,但大部份是低水平上的重复,各教材的抄袭痕迹明显,无论是教材形式的编排还是教学内容,大多雷同,内容陈旧,书中错误很多。当前本科层次的教材首推谭浩强教授编写各种版本的《C语言程序设计》,無庸置疑它是一本极全、极经典的C语言教材,但也因为通用性强,其内容成为诸多同类教材的模板,且所有专业均可通用,未针对不同专业进行编写。
(三)习题侧重解决数学问题
许多作者在编写教材时,仅仅把C语言当作一种更好的FORTRAN 这种观念是否正确,本文不作讨论 ,书中的多数习题都是数学问题。在把C语言引入大学教学的早期,这样做并不奇怪。因为在我国计算机科学发展的早期,计算机主要是为大规模数值运算服务的。许多教授C语言的老师都有用FORTRAN解决数学问题的经历,所以他们在编写教材时,自然把注意力集中在数学领域。而且,Matlab和Maple等数学软件那时尚未进入我国,使用C语言解决数学问题可以说是顺应环境的。但是同10年前相比,现在的大学生很容易得到各种数学工具软件,在这种情况下,C语言教材的习题仍然没有多大变化,这就有些耐人寻味了。在书店里,随意翻阅几本C语言教材,几乎总可以发现求最大公约数、矩阵转置等“经典”习题。一些所谓“创新”的教材,不过是在引入数学问题时转换了一个角度。可以说,这些C语言教材仅仅是在教授学生用C语言解决数学问题,而书中的数学问题用Matlab甚至EXCEL只需一个命令就能得到结果。这样的习题对学生能有多少意义呢?C语言的设计者Ritchie说过,学习一种语言的最好方法是编程。而一味地让学生编程解决没有吸引力的问题,恐怕他们的学习热情很快会被耗尽。在这方面,作者们应该多多参考国外的优秀教材。例如Kernighan和Ritchie写的《C程序设计语言》(The C Programming Language 2ndEd),在设计习题时,始终考虑C语言的特性:它确实是一种通用性极强的语言,但它的各种特点使它在编写操作系统和编译器时具有极大的优势。因此书中大多数习题都与这几个
领域的重要概念密切相关,而纯粹的数学题只在第1章出现了几道。国外还有一些较新的C语言教材,全书习题以编写一个小型的语言编译器为主线,学生把习题从头到尾做下来,一个较简单的编译器也就构造出来了。这样更容易让学生掌握C语言的精髓,同时也能让他们更快地获得“专业感”。
非计算机专业开设C语言常为将来工业控制中自动化程序编程需要打基础的,但几乎很少见到控制类的案例在教材中体现。
(四)与后续课程结合较少
高职非计算机专业需要开设《C语言程序设计》的专业一般如机电一体化、电子、电气自动化等,笔者曾分析过这些专业,发现其并未再开设后续的编程开发类课程,如C#、JAVA、ASP等课程,而更多开设的紧密相关课程是《单片机应用》,而在该课程中实际上使用的是扩展的C语言--C51,其对C语言程序设计的要求有其本身的特点:与单片机硬件结合紧密、以控制为主、输入输出与外接电路紧密相关、对编程中一些经典算法要求较少或者几乎不需要;而当我们使用通用的《C语言程序设计》来授课,是可以给学生一定的知识印象,但与后续课程极少有联系,让以实用为特点的高职学生感觉学习无用,从而自学兴趣较低。
以上问题,虽是以C语言教材为例来谈,其实许多其它高职教材存在着同样的问题,那么如何来解决这问题呢?
笔者认为可以从以下几个方面着手。
二、高职C语言教材使用对策
(一)以讲稿为主,大胆增删教材内容。
教师不能被现有教材所束缚,从目前情况来看,许多教材名不符实,如果在教学中发现教材不能满足要求,就应当毫不犹豫地让教材‘降格’,降为‘参考教材’,教学以讲稿为主。甚至如果认为教学大纲的部份内容不合适,也可以不遵从这部份内容。一切以让学生真正学到知识和真正培养学生能力为准。当然,不遵从教学大纲应当慎重考虑,请教专家,并得到学校的同意。
(二)选用由讲稿演变出的自编教材
学校应当放开手脚,不要将教师完全束缚于大纲,鼓励教师编写讲稿详案,并尽量让一位教师多次上本门课程,一份讲稿在多次修改后、完善后,就成了一本书,且它各部份内容的安排较为妥当,各部份的重点、难点都能较为突出,教法上也会有一定的体现,这样的教材,肯定好于那些东拼西凑、相互抄袭的书。在一定的时候,学校可予以审定,校内出版,如果确实好,还可以向有关出版社推荐。事实上有些高校的教材就是如此编写出来的,使用效果较好。
(三)采用窗口界面的编译环境
在当前所有人都在使用Windows操作系统的情况下,再去接触DOS界面的Turbo C 2.0实在会让充满活力的学生讨厌,这里推荐在入门时使用WinTc,小巧而易用,只要会用记事本就会用WinTC,在学习到一个阶段后可让其了解VC++(计算机专业)或Keil中C51编译环境(机电、电子、电气专业)。本文更多讨论的是非计算机专业,更推荐使用Keil,它就是一个为适应单片机应用而改造的C语言编译器。
总之,在当前高职教材越来不越不成为学生学习重点之际,希望不要让C语言教材成为学生讨厌学习C语言的核心因素。
【参考文献】
[1]《职教课程编制原则探索》雷正光 《职教通讯》2008/6
[2]《单片机C语言轻松入门》周坚编著 北京航空航天大学出版社
[3]《C语言程序设计》谭浩强著,清华大学出版社
[4] C51 单片机应用与 C 语言程序设计, 秦志强 等 编著, 电子工业出版社
[5]《十天学会单片机和C语言编程》,http://xidong.net/File001/File_54834.html,郭天祥主编