论文部分内容阅读
[摘要]本科计算机类专业在各种本科高校中已经普遍开设,整个教学工作也已比较有条理地开展,但是其中还存在很多不足之处,课程体系的设置存在着一定的问题。文章提出了自己的看法,以供广大计算机科学的教学工作者参考。
[关键词]计算机专业 课程体系 课程设置
[作者简介]田斌(1975- ),男,河南洛阳人,洛阳师范学院,讲师,硕士,研究方向为网络安全与图像处理。(河南洛阳471022)
[中图分类号]G642[文献标识码]A[文章编号]1004-3985(2010)20-0131-02
随着计算机在生活、工作中的普及,计算机科学的教育在各种本科院校中已普遍开展,各个本科院校基本上都设置有计算机类的专业。但是除了个别在20世纪50年代就设置有计算机类专业的院校外,大部分普通本科院校的计算机类专业是在改革开放后才开始设置的。在各类本科高校中,学生的学习水平存在很大差别,专业课程的教育也存在一定程度的差异。
计算机科学发展得很快,如何使学生跟得上计算机科学的发展,对计算机的最新发展方向、最新技术有所了解,并且对应用能很快入门,是计算机教育工作者应该考虑的问题。
笔者在普通本科院校任教,担任过本科计算机课程的教学工作,担任过网络类课程的教学任务,也担任过程序设计类课程的教学工作,并且承担了一定的教学管理工作,对计算机类专业的教学、课程设置有一定的了解。在此提出自己的一些看法,供大家参考。
一、课程设置不当给教学带来的问题
在计算机课程体系中,课程的先后顺序非常重要,某些课程的有无对后续课程的学习起着至关重要的作用,如果在这一方面培养方案的制订存在问题,那么势必影响学生的学习。
可以用一个例子来说明这一点。笔者所在的教研室是网络教研室,在任教期间讲授了几门网络类课程。计算机科学中的网络类课程,在没有学习一定的计算机基础类课程的前提下,可以说是没有办法开始的。目前讲授的“计算机网络安全”就存在很多问题。就“计算机网络安全”来说,对TCP/IP协议的要求比较高,而有些学校本科教学阶段就没有开设关于TCP/IP协议的课程,只是开设了计算机网络基础这门课程。计算机网络基础中对TCP/IP的讲解是很有限的,并不能满足我们学习“计算机网络安全”这门课程的需要。还有,“计算机网络安全”对编程能力的要求比较高,特别是对底层编程的要求较高。而在本科类课程中,大部分学校对程序设计只是讲授了有关管理系统方面的东西,对于底层编程方面的知识没有提及,这就为“计算机网络安全”课程的学习造成了一定的障碍。在讲授这门课之前,笔者专门把这个班的“高级语言程序设计”和“计算机网络基础”这两门课的成绩都调出来审查了一遍,发现学生的成绩都普遍比较高,但是在学习“计算机网络安全”这门课程的时候,还是遇到了不少困难,这表明计算机网络方向在教学的时候要考虑到TCP/IP协议有关课程的开设和底层系统编程有关课程的开设两方面的因素。
二、本科计算机课程设置的误区
1.认识的误区。现在的本科生,很多认为学计算机就是为了学习编程,认为编程很重要,包括一部分老师也是这样认为的。编程确实很重要,作为一名本科生来说,是应该很好地学习编程,但是我们不应该把编程提高到至高无上的地位,编程只是我们学习、研究计算机的一种工具。编写程序只是计算机科学中一个小的分支,目前的软件开发工具中,有几种主流的开发工具,都很有市场,在某些培养方案中,把这些开发环境都作为课程设置在培养方案中,使得学生学的高级语言很杂。而开发语言的学习应该是主抓一门,其他的融会贯通即可。计算机科学的应用方向、研究方向很多,我们在本科阶段要打好深厚的理论基础,并且具有一定的动手能力。
作为一名计算机专业的本科生,并不是只具有一种能力,而是在四年的学习阶段要对计算机科学有个整体的了解,不仅要具有各门功课的基础知识,还要把他们有机地结合起来,认识到计算机是干什么用的,用计算机科学可以解决什么问题。
2.课程设置的误区。目前,计算机类专业的课程设置问题很大。首先,课程数目过多,学生在一年级和二年级每天都在上课,从早到晚,没有什么空余时间,课程安排的过多,使学生没有时间自习消化学过的知识。同时,专业方向的课程特色不突出,很多课程都堆在一起,这样就使学生成为一个杂家,并没有在某一方面具有特长。
三、本科计算机课程的系统性
在现代科学技术中,不管什么领域都是自成体系的,计算机科学也不例外。我们培养本科生的目标就是要把他们培养成为具有一定理论基础、具有一定动手能力,并且对计算机科学有一定整体认识,有所特长的学生,这样的学生才能成为一个合格的本科毕业生。目前的计算机本科生中,很多学生的专业知识很不系统,可能对计算机的某一方面掌握得比较好,但对其他的知识了解得很少,对计算机没有形成一个整体、系统的认识。而在某些培养方案中,显然没有做到这一点,专业方向的课程设置不是太合理,某些方面的课程设置太多,应该有所了解的课程在培养方案里没有体现。
教师在讲授计算机课程的时候,不管教什么课程都要给同学们传授计算机课程的一整套体系。不能让学生认为某些课程很重要,要学;而另一些课程不重要,可以不学。课程与课程之间是有机地联系在一起的,如果一些课程没有学,或者学得很差,那么可能有些知识点就不了解,对学习其他课程就有障碍。洛阳师范学院的一些实训学生就遇到这些问题,在座谈会上,一些同学反映,在校期间认为一些课程不重要,没有怎么学,只是在考试的时候应付一下。在实际工作中用到有关知识的时候,只能临时补习,造成了一定的困难,如果在校期间认真地学习有关功课,就不会造成这种局面,可以轻松、顺利地通过实训。
计算机的经典基础课程,如数据结构、系统结构、组成原理、数据库概论、计算机网络等,只要计算机科学不发生革命性的变革,是永远不会过时的。而这些课程都是在大学一、二年级学习的,学生在这个学习阶段对计算机还是一知半解,对计算机还谈不上入门。很多同学认为这些功课不重要,甚至认为学习计算机不学这些课程也可以。在这个阶段,讲授这些课程的教师就要经常性地给学生灌输计算机课程的体系思想,没有数据结构,我们怎么编程?没有系统结构、组成原理,我们怎么知道计算机的工作原理?不知道计算机的工作原理,能称之为计算机专业的学生吗?不知道计算机的工作原理,能编写程序吗?没有计算机网络基础的知识,能学习好以后的网络课程吗?能编写出好的程序吗?而有些教师在授课时只是讲授本门课程知识,让学生只是学习了自己教的功课的内容,不是举一反三,让学生充分地了解有关课程之间的关系。
四、本科计算机课程体系的设置
1.本科计算机课程应遵循的原则。计算机类专业的课程在设置的时候就要遵循下面的原则:(1)课程不能过多,给学生足够大的自由度,使学生有时间消化吸收学过的内容,并且在自己感兴趣的方面有所探索,有一定的特长。(2)专业方向的课程应该体现自己的特色,不能将有关的课程都堆在一起,让学生学习,这样会起到相反的作用,使学生学不到很精的知识,而只是泛泛地学习。某个专业方向的课程必定有一门或几门核心课程,把这些核心课程提到一定的高度,而其他的课程在安排的时候可以弱化,学生的学习就可以比较轻松地完成。
我们以计算机网络方向为例介绍。首先,计算机基础方面的经典课程一门都不能少,如高级语言程序设计、数据结构、操作系统、数据库概论、计算机组成、计算机系统结构、计算机网路基础等基础课程都是不可或缺的。而作为计算机网络方向,课程必定要体现计算机网络方向的特色,如TCP/IP协议方面的课程,这门课程对于计算机网络方向来说是非常重要的,重要到甚至可以花费两个学期的时间来安排这门课程,有了TCP/IP知识,很多网络方面的课程,如网络工程、网络互联都不成什么问题,学生不用费什么工夫就可以很好地完成功课的学习。而一些偏重于软件方面的课程,像软件工程、系统分析等都可以弱化。
2.理论课程与应用课程的设置。在培养方案的制订过程中也要认真地考虑基础理论课程与应用课程之间的关系,经典性的理论课程,在培养方案中必须体现。应用课程怎么开设、开设的多少,都是我们需要认真对待的问题。在大部分学校的本科培养方案中,对基础性的理论课程开设的还是比较全面的,但是还是遇到了课程之间的开课顺序与是否开设的问题。如在某些高校中,C语言没有开设,这是个非常严重的错误,虽然说C语言是面向过程的语言,但是C语言在整个计算机语言方面的地位以及它在应用方面的地位,是任何一种语言都代替不了的。有些学校认为目前学高级语言程序设计就是学面向对象的程序设计语言,直接开设C++。在应用课程的设置中,对某些方面的课程设置过多,如编程方面的课程,设置了JAVA,DEPHI,Vc++等等,要想让学生在校期间把这些编程语言都学得非常精通,是不太现实的。培养方案的设置可以选定一种编程语言,让学生认真地学习,学到比较精通。其他的编程语言可以自学。
因此,我们在制订培养方案时,要充分地考虑某一课程在某一方面的核心地位,不能忽略这些课程。应用方面的课程,应该是尽量的少、精。某一领域,可以只设置一些具有代表性的课程,经过这些课程的学习,与它相通的内容可以通过其他方式来学习。
五、使本科计算机教学跟上形势的发展
目前计算机科学的发展很快,新的东西层出不穷,这又给我们提出了新的问题,专业课程的设置怎么才能跟得上形势的需要,究竟用什么样的理念才能使学生的学习跟上计算机科学的发展。在这里笔者认为还是要重基础,再者将计算机最新的发展方向给同学们介绍一下,使其对最新的东西达到入门的程度,能够达到进入公司的程度,就可以了。如嵌入式,现在很热门,但是要在一定的时间内让学生达到熟练的程度不太现实。如果学生对TCP/IP的知识非常熟悉,并且结合源代码学习操作系统,而这两者都是非常基础的东西,这样达到嵌入式入门就显得比较容易了。
计算机科学是一门比较年轻的科学,同时又是发展最为迅速的一门科学,大学的学习是培养计算机科学人才的重要途径。而课程的设置、课程的讲授,又是大学培养计算机科学人才一个很关键的环节,需要认真地思考、对待。以上是笔者在讲授计算机专业课程并且进行教学管理工作几年时间的一点想法,不是很成熟,写出来供各位专家、教师参考。
[参考文献]
[1]彭炜.计算机网络技术与教学改革[J].山西财经大学学报(高等教育版),2009(S1).
[2]杜经纬.计算机网络课程教学探讨[J].电脑知识与技术,2009(14).
[3]吴碧艳.计算机教学方法探讨[J].教育前沿(理论版),2008(6).
[4]郑光勇,徐雨明,眭仁武.计算机专业课程体系设置与教学改革[J].大众科技,2006(7).
[5]魏星,吴江.计算机网络课程教学中存在的问题及其对策[J].桂林航天工业高等专科学校学报,2006(4).
[6]陈观林,杨起帆.谈“计算机网络”课程教学及教材建设[J].计算机教育, 2005(8).
[关键词]计算机专业 课程体系 课程设置
[作者简介]田斌(1975- ),男,河南洛阳人,洛阳师范学院,讲师,硕士,研究方向为网络安全与图像处理。(河南洛阳471022)
[中图分类号]G642[文献标识码]A[文章编号]1004-3985(2010)20-0131-02
随着计算机在生活、工作中的普及,计算机科学的教育在各种本科院校中已普遍开展,各个本科院校基本上都设置有计算机类的专业。但是除了个别在20世纪50年代就设置有计算机类专业的院校外,大部分普通本科院校的计算机类专业是在改革开放后才开始设置的。在各类本科高校中,学生的学习水平存在很大差别,专业课程的教育也存在一定程度的差异。
计算机科学发展得很快,如何使学生跟得上计算机科学的发展,对计算机的最新发展方向、最新技术有所了解,并且对应用能很快入门,是计算机教育工作者应该考虑的问题。
笔者在普通本科院校任教,担任过本科计算机课程的教学工作,担任过网络类课程的教学任务,也担任过程序设计类课程的教学工作,并且承担了一定的教学管理工作,对计算机类专业的教学、课程设置有一定的了解。在此提出自己的一些看法,供大家参考。
一、课程设置不当给教学带来的问题
在计算机课程体系中,课程的先后顺序非常重要,某些课程的有无对后续课程的学习起着至关重要的作用,如果在这一方面培养方案的制订存在问题,那么势必影响学生的学习。
可以用一个例子来说明这一点。笔者所在的教研室是网络教研室,在任教期间讲授了几门网络类课程。计算机科学中的网络类课程,在没有学习一定的计算机基础类课程的前提下,可以说是没有办法开始的。目前讲授的“计算机网络安全”就存在很多问题。就“计算机网络安全”来说,对TCP/IP协议的要求比较高,而有些学校本科教学阶段就没有开设关于TCP/IP协议的课程,只是开设了计算机网络基础这门课程。计算机网络基础中对TCP/IP的讲解是很有限的,并不能满足我们学习“计算机网络安全”这门课程的需要。还有,“计算机网络安全”对编程能力的要求比较高,特别是对底层编程的要求较高。而在本科类课程中,大部分学校对程序设计只是讲授了有关管理系统方面的东西,对于底层编程方面的知识没有提及,这就为“计算机网络安全”课程的学习造成了一定的障碍。在讲授这门课之前,笔者专门把这个班的“高级语言程序设计”和“计算机网络基础”这两门课的成绩都调出来审查了一遍,发现学生的成绩都普遍比较高,但是在学习“计算机网络安全”这门课程的时候,还是遇到了不少困难,这表明计算机网络方向在教学的时候要考虑到TCP/IP协议有关课程的开设和底层系统编程有关课程的开设两方面的因素。
二、本科计算机课程设置的误区
1.认识的误区。现在的本科生,很多认为学计算机就是为了学习编程,认为编程很重要,包括一部分老师也是这样认为的。编程确实很重要,作为一名本科生来说,是应该很好地学习编程,但是我们不应该把编程提高到至高无上的地位,编程只是我们学习、研究计算机的一种工具。编写程序只是计算机科学中一个小的分支,目前的软件开发工具中,有几种主流的开发工具,都很有市场,在某些培养方案中,把这些开发环境都作为课程设置在培养方案中,使得学生学的高级语言很杂。而开发语言的学习应该是主抓一门,其他的融会贯通即可。计算机科学的应用方向、研究方向很多,我们在本科阶段要打好深厚的理论基础,并且具有一定的动手能力。
作为一名计算机专业的本科生,并不是只具有一种能力,而是在四年的学习阶段要对计算机科学有个整体的了解,不仅要具有各门功课的基础知识,还要把他们有机地结合起来,认识到计算机是干什么用的,用计算机科学可以解决什么问题。
2.课程设置的误区。目前,计算机类专业的课程设置问题很大。首先,课程数目过多,学生在一年级和二年级每天都在上课,从早到晚,没有什么空余时间,课程安排的过多,使学生没有时间自习消化学过的知识。同时,专业方向的课程特色不突出,很多课程都堆在一起,这样就使学生成为一个杂家,并没有在某一方面具有特长。
三、本科计算机课程的系统性
在现代科学技术中,不管什么领域都是自成体系的,计算机科学也不例外。我们培养本科生的目标就是要把他们培养成为具有一定理论基础、具有一定动手能力,并且对计算机科学有一定整体认识,有所特长的学生,这样的学生才能成为一个合格的本科毕业生。目前的计算机本科生中,很多学生的专业知识很不系统,可能对计算机的某一方面掌握得比较好,但对其他的知识了解得很少,对计算机没有形成一个整体、系统的认识。而在某些培养方案中,显然没有做到这一点,专业方向的课程设置不是太合理,某些方面的课程设置太多,应该有所了解的课程在培养方案里没有体现。
教师在讲授计算机课程的时候,不管教什么课程都要给同学们传授计算机课程的一整套体系。不能让学生认为某些课程很重要,要学;而另一些课程不重要,可以不学。课程与课程之间是有机地联系在一起的,如果一些课程没有学,或者学得很差,那么可能有些知识点就不了解,对学习其他课程就有障碍。洛阳师范学院的一些实训学生就遇到这些问题,在座谈会上,一些同学反映,在校期间认为一些课程不重要,没有怎么学,只是在考试的时候应付一下。在实际工作中用到有关知识的时候,只能临时补习,造成了一定的困难,如果在校期间认真地学习有关功课,就不会造成这种局面,可以轻松、顺利地通过实训。
计算机的经典基础课程,如数据结构、系统结构、组成原理、数据库概论、计算机网络等,只要计算机科学不发生革命性的变革,是永远不会过时的。而这些课程都是在大学一、二年级学习的,学生在这个学习阶段对计算机还是一知半解,对计算机还谈不上入门。很多同学认为这些功课不重要,甚至认为学习计算机不学这些课程也可以。在这个阶段,讲授这些课程的教师就要经常性地给学生灌输计算机课程的体系思想,没有数据结构,我们怎么编程?没有系统结构、组成原理,我们怎么知道计算机的工作原理?不知道计算机的工作原理,能称之为计算机专业的学生吗?不知道计算机的工作原理,能编写程序吗?没有计算机网络基础的知识,能学习好以后的网络课程吗?能编写出好的程序吗?而有些教师在授课时只是讲授本门课程知识,让学生只是学习了自己教的功课的内容,不是举一反三,让学生充分地了解有关课程之间的关系。
四、本科计算机课程体系的设置
1.本科计算机课程应遵循的原则。计算机类专业的课程在设置的时候就要遵循下面的原则:(1)课程不能过多,给学生足够大的自由度,使学生有时间消化吸收学过的内容,并且在自己感兴趣的方面有所探索,有一定的特长。(2)专业方向的课程应该体现自己的特色,不能将有关的课程都堆在一起,让学生学习,这样会起到相反的作用,使学生学不到很精的知识,而只是泛泛地学习。某个专业方向的课程必定有一门或几门核心课程,把这些核心课程提到一定的高度,而其他的课程在安排的时候可以弱化,学生的学习就可以比较轻松地完成。
我们以计算机网络方向为例介绍。首先,计算机基础方面的经典课程一门都不能少,如高级语言程序设计、数据结构、操作系统、数据库概论、计算机组成、计算机系统结构、计算机网路基础等基础课程都是不可或缺的。而作为计算机网络方向,课程必定要体现计算机网络方向的特色,如TCP/IP协议方面的课程,这门课程对于计算机网络方向来说是非常重要的,重要到甚至可以花费两个学期的时间来安排这门课程,有了TCP/IP知识,很多网络方面的课程,如网络工程、网络互联都不成什么问题,学生不用费什么工夫就可以很好地完成功课的学习。而一些偏重于软件方面的课程,像软件工程、系统分析等都可以弱化。
2.理论课程与应用课程的设置。在培养方案的制订过程中也要认真地考虑基础理论课程与应用课程之间的关系,经典性的理论课程,在培养方案中必须体现。应用课程怎么开设、开设的多少,都是我们需要认真对待的问题。在大部分学校的本科培养方案中,对基础性的理论课程开设的还是比较全面的,但是还是遇到了课程之间的开课顺序与是否开设的问题。如在某些高校中,C语言没有开设,这是个非常严重的错误,虽然说C语言是面向过程的语言,但是C语言在整个计算机语言方面的地位以及它在应用方面的地位,是任何一种语言都代替不了的。有些学校认为目前学高级语言程序设计就是学面向对象的程序设计语言,直接开设C++。在应用课程的设置中,对某些方面的课程设置过多,如编程方面的课程,设置了JAVA,DEPHI,Vc++等等,要想让学生在校期间把这些编程语言都学得非常精通,是不太现实的。培养方案的设置可以选定一种编程语言,让学生认真地学习,学到比较精通。其他的编程语言可以自学。
因此,我们在制订培养方案时,要充分地考虑某一课程在某一方面的核心地位,不能忽略这些课程。应用方面的课程,应该是尽量的少、精。某一领域,可以只设置一些具有代表性的课程,经过这些课程的学习,与它相通的内容可以通过其他方式来学习。
五、使本科计算机教学跟上形势的发展
目前计算机科学的发展很快,新的东西层出不穷,这又给我们提出了新的问题,专业课程的设置怎么才能跟得上形势的需要,究竟用什么样的理念才能使学生的学习跟上计算机科学的发展。在这里笔者认为还是要重基础,再者将计算机最新的发展方向给同学们介绍一下,使其对最新的东西达到入门的程度,能够达到进入公司的程度,就可以了。如嵌入式,现在很热门,但是要在一定的时间内让学生达到熟练的程度不太现实。如果学生对TCP/IP的知识非常熟悉,并且结合源代码学习操作系统,而这两者都是非常基础的东西,这样达到嵌入式入门就显得比较容易了。
计算机科学是一门比较年轻的科学,同时又是发展最为迅速的一门科学,大学的学习是培养计算机科学人才的重要途径。而课程的设置、课程的讲授,又是大学培养计算机科学人才一个很关键的环节,需要认真地思考、对待。以上是笔者在讲授计算机专业课程并且进行教学管理工作几年时间的一点想法,不是很成熟,写出来供各位专家、教师参考。
[参考文献]
[1]彭炜.计算机网络技术与教学改革[J].山西财经大学学报(高等教育版),2009(S1).
[2]杜经纬.计算机网络课程教学探讨[J].电脑知识与技术,2009(14).
[3]吴碧艳.计算机教学方法探讨[J].教育前沿(理论版),2008(6).
[4]郑光勇,徐雨明,眭仁武.计算机专业课程体系设置与教学改革[J].大众科技,2006(7).
[5]魏星,吴江.计算机网络课程教学中存在的问题及其对策[J].桂林航天工业高等专科学校学报,2006(4).
[6]陈观林,杨起帆.谈“计算机网络”课程教学及教材建设[J].计算机教育, 2005(8).