计算机专业的教与学

金旭亮

    我是一个从自学路上走过来的高校计算机专业教师,对计算机技术的热爱支持我走完了
这条漫长的长达数年的自学之路,出于理智的思索,我又脱离了职业程序员的道路,迈入了
教师的行列,走上讲台也已将近两年,面对着计算机技术日新月异的风云变幻,面对着一个
个学生求知的渴望与困惑,真有不少感触。

    1.从计算机等级考试内容的调整谈起
   
    2003年9月以来,各大新闻媒体都报道了这么一则消息:《2004年全国计算机等级考试
将作调整》,文章中说,这个调整是“经过专家充分论证”的。

    作为一名计算机教师,对于这种本行业领域内的全国考试,自然是关心的,于是,我上
网去将以前的等级考试旧大纲和现在调整方案都收集了一份。

    当我将新旧大纲都浏览了一遍之后,我越看就越弄不明白一件事:这个全国计算机等级
考试到底是针对哪种类型的人的?是针对有志于成为计算机专业开发者的人,还是想掌握计
算机技能以用于提高自己工作效率的人?

    看看内容,我得出两点结论:

    1)考试的设计者是“考古学家”:一些属于古董级的“文物”,比如DOS,仍然是考试
的主要科目之一,而且居然一直从上世纪90年代一直考到二十一世纪,万幸终于在2004年宣
判了这门课的“死刑”,不过还得“缓期执行”;看看二级科目就更奇怪了,QBasic是现在
的VB.net“祖爷爷”一辈的语言,Fortran更是历史悠久,它是计算机史上的第一门高级语
言,只可惜它的地盘被后来的C抢了不少,在实际开发中用得很少,至于Foxbase+,恕我无
知,难道现在还有公司用它来开发MIS系统?等级考试这种全国性的考试,往往起着一种引
导性的作用,那它要把参加考试的数百万人引导到何处?都去“考古”?

    2)考试的设计者显然希望人人都能成为计算机专业的开发者,愿望真的实现,中国必
是IT世界第一强国!新的二级加了Java、Access和C++三门课目,我们看到等级考试设计者
终于开始“与时俱进”了。从学习难度上看:C++ >> Java >> Access,将这三者同处一级
值得商榷。写程序的都知道,C++是一门最难学好的程序设计语言,除非专业程序员,一般
的计算机应用开发者不会采用C++进行开发正式的应用程序。而且要培养一名优秀的专业C++
程序员,至少得两年的时间,对于一个刚通过一级考试的人,直接叫他学C++,这跨度也太
大了吧?

    据大纲说:二级定位于程序员。我又糊涂了,另外不是还有一个全国软件资格与水平考
试吗?这二者不是撞车了吗?那叫人该考哪种?不过我想中国人口世界第一,任何一个考试
都不用发愁没人报考。中国的考试,已催生了一个考试行业,养活了多少培训机构,呵呵,
看来考试有降低社会失业率的作用。

    废话少说。我看了这个大纲之后的感觉就是:真是太有“中国”特色了!远远脱离中国
计算机应用的实际情况。

    等级考试暴露出了中国计算机教育存在问题的冰山一脚。

    2.学生的困惑
   
    我给本科生讲授以语言为主的程序设计系列课程,课前课后,学生问的问题具有惊人的
一致性,摘录几个问题如下:

    老师,C++/Java/C#,我学什么比较好找工作?

    老师,推荐几本好书吧……

    老师,有没有什么书是说明面向对象的产生过程,我现在知道他的很多概念和功能,但
是不知道什么时候该用他的哪个特性……

    老师,计算机专业女生毕业以后可以干什么工作……

    对学生问的问题进行一下分类,就很吃惊地发现许多学生对计算机理论课严重地“消化
不良”,对真正的软件开发过程没有真正的理解,不知道学计算机技术的正确方法,学到的
一点理论也不知该如何应用,面对一些开发中真实的问题,绝大多数学生都不知道该如何下
手。此外,面对着以“火箭般”的速度发展的计算机技术,层出不穷的新名词,互联网上爆
炸的信息资源,学生们更是盲然,不知如何应付这信息暴炸的现实。有些学生不断追新,每
种新技术都拿来学几个月,一到看不懂了的时候就放弃,另有些则干脆采取舵鸟政策,只管
把课本学好,考试考出好成绩,对校园外的技术变化不闻不问……

    女生的情况更让人担忧,计算机专业的女生许多都在使用错误的学习方法来学习计算机
技术,例如一些女生把程序设计课程当成是“政治课”,通过“背”的方法来应付考试。较
之男生,女生一般不喜欢编程序,因而实际开发能力较低,但由于考试成绩好,就业压力大
,许多女生又盲目地考研,想着毕业后可以留校当老师有个稳定的工作……,这种想法不管
男生女生都有,很好理解,大家也能接受,但这样出来的计算机教师,能教出好的学生来?
难道不是对下一代学生的不负责任?

    1999年扩招的学生2003年涌入就业市场,就业情况的严峻让许多学生选择了考研,现在
中国除了高考,又出现了“千军万马过考研独木桥”的情况,我的一些学生为了考研,国庆
长假也不休息,每天花10个小时去学习考研课程,作为大四的计算机专业学生,在大学生涯
的最后一年,上半年准备考研,下半年准备找工作,四年大学其实只相当于学了三年,真正
学习计算机专业课的时间算起来就更少了。面对着博大精深的计算机科学,许多学生连门都
没迈进去,万一考研失败,要找工作时,又发现自己没有真正掌握计算机专业人员的基本技
能,心虚,不知自己能干什么活,在IT业,没有一定的能力与实力,找工作怎会不难?

    这是一个怪圈,圈中的学生苦恼不已,圈外的人也爱莫能助……

    3.我看中国高校计算机教育体制
   
    从我所看到的现象,我发现目前的计算机教育存在的最主要问题是:重理论轻实践,重
灌输轻探索,重应试成绩轻能力培养。

    许多学生由于计算机理论课难度过大,讲授内容与软件开发实际情况相脱节,再加上学
生普遍缺乏开发实践基础而抑制了对软件开发的兴趣,视软件开发为畏途。对于计算机专业
之外的其它工科专业,在软件开发技术教育上更是薄弱,许多学生对现代软件技术知之甚少


    据国外的朋友说,美国一些大学计算机专业的学生,四年本科期间至少要编著写数万行
代码。而中国计算机专业数十万在校生中,独立编写并调试过2000行以上代码的有多少(直
接Copy别人程序的不算)?

    计算机技术具有极强的实践性,不去实践,根本不可能学好。对于缺乏经验的学生,学
校必须引导他们进行实践。而要做到这一点,则需要有大批具有深厚行业背景的高素质的教
师,师资力量的数量与质量,成为了中国高校计算机教育的软肋。

    记得哈佛大学的校长曾说过:我们学校的任何一位教师,都是世界上他那个领域内的一
流学者。其自豪溢于言表。

    名师出高徒。劣师难出高徒,如果劣师出了高徒,那一定是学生自己努力的结果,而这
个高徒如果有缘得遇明师,成就定不止此。

    高等学校要有能吸引一流人才任教的机制,才能实现一种良性循环。

    当前中国高校的计算机教学师资力量中,有相当一部分是从刚毕业的硕士博士中产生的
,而这批人中的一流人才往往不是出国就是去了外企,或是一些大的公司和科研机构,留校
任教的有不少是本硕博连读下来的,自己都缺乏相关行业实践经验,怎样强求他们能将实践
性如此之强的计算机科学技术向学生讲好?另外,毕业留校其实就是近亲繁殖,从生物学上
看,近亲繁殖不能促进生物群体的壮大,弊端不少。

    此外,高校现行体制中,教师的报酬是与讲课课时数,职称高低以及发表论文数等“硬
指标”来决定的,几乎甚至完全不考虑教学效果与科研质量,于是有人开玩笑说:爱因斯坦
如果在中国大学任教,他是不可能当上博导的,他一辈子才发了几篇论文?

    这种体制下,教师们都忙着争职称,发论文去了,还有几个能静下心来把教学搞好?计
算机开发与技术创新的主力军是40岁以下的年轻人,许多优秀的软件人才甚至30不到或30刚
出头,按照高校论资排辈的制度,这批人在学校内收益是远小于社会上给予的,因此,他们
中有几人愿意在学校中浪费青春熬年头?这种体制又怎能吸引一流软件人才加盟软件教育职
业教师队伍?

    教育的两个主要方面就是教师与学生,前者有心无力,后者困惑不已,这种情况之下,
怎能指望中国高校能培养大批合格的软件人才?没有人才,什么发展都是空话。

    但坚冰是迟早被打破的,因为这是社会发展的必然要求,是个大趋势,大锅饭是不能永
远吃下去的。

4.我对计算机教师职业的看法
   
    唐代著名文学家韩愈在《师说》中写到:师者,所以传道,授业,解惑者也……

    何谓传道?讲授做人的道理。

    何谓授业?传授专业的技术知识。

    何谓解惑?回答学生各种各样的困惑。

    作为一名教师,得努力在以上三个方面履行自己的职责,方才无愧“教师”这个称号。


    一直认为,在思想道德方面的因素,比单纯的技术因素对一个人的最终成才影响更大,
在现在这个功利并且浮躁的时代,更需要精神方面的支柱。我接触的许多学生,真的非常聪
明,学习能力很强,只要能注意培养出良好的思想素质,比如求实严谨,勤奋创新,立志高
远、脚踏实地,具备坚韧的毅力,未来的前途定然不可限量,真是羡慕他们!软件人以年轻
为最大财富。

    我所在的大学是一所理工科为主体的大学,人文方面的教育实在太少。我有过数年独自
自学计算机技术经历,知道我这一经历的一个学生问过我当时怎样是坚持下来。除了个人性
格方面的因素,我感觉最主要的就是当时我看了不少充满着乐观向上精神的历史、社会及人
文书籍,这些古今中外的意志坚强成就卓著的人的言语与事迹,是一种无形但极为巨大的力
量。

    我想,作为一名教师,就一定要向学计算机的学生指出:多学学人文方面的东西,对个
人未来的发展是极为重要的。

    谈到软件技术,话就多了。现在的软件技术进步之快,真叫人眼花缭乱。在新技术面前
,学生和老师往往居于同一起跑线上。

    作为一名教师,应有勇气承认自己在日新月异的技术面前,有大量的东西不了解不掌握
,跟不上时代的发展,而学生则具有学习能力强,吸收速度快的优点,完全可以在几年内在
某个具体领域内超过教师的水平,青出于蓝而胜于蓝。如果学生不能超过老师,这样的教育
又有何意义?不打破教师一定比学生强这一“神话”,学生就不能解放思想,做出创造性的
成就。

    中国缺的不是考试八九十分的好学生,最缺的就是具备创新意识与能力的高素质人才。
教师年岁较长,经验与知识较多,但相应的条条框框也很多,很难打破。软件最讲究创新,
在这方面,年青学生最有创造性。看看在软件技术方面有成就者,许多在大学本科和研究生
阶段就有突出的成绩。中国的孩子从小学,中学再到大学,接受的都是一种被动灌输的教育
方式,在大学再想改,已很难了,但大学阶段往往是人生预备生涯中最后最好的一个培养创
造能力的阶段,教师应努力让学生意识到这点。

    教师是个职业的“授业者”,讲授计算机课程的教师应该同时具备软件开发者与职业教
师两方面的素质,必须研究教学法。我总结了一下,可以把大学教师讲课水平大致分为以下
几个层次:

    (1)原样照书念;这种教师99%是因为自己对要讲授的课不懂,所以只能照书本念,遗
憾的是,这样的老师在我十几年的学生生涯中,还真有一些,这种老师的课,逃课的学生比
例之高是一定的,如果学生不逃课,一定是因为有惩罚措施,比如中途上课点名,不到者期
末成绩扣分之类(一向遵守纪律的好学生例外)。这是一种不合格的老师。

    (2)照书讲,对一些难理解的地方举些例子,让学生好懂一些。这种老师好一些,至
少他是对这门学科是学进去了,是懂的,他的讲课对学生缩短学习过程是有帮助的,因为他
至少把教材上的内容给学生讲明白了。这种教师,勉强算是合格。

    (3)不照书本念,从实际出发对教材内容进行结构重组和优化,扩充教材薄弱的部分
,讲自己的理解与体会。这种老师一般都有一定的实践经验,因而知道教材哪些部分知识老
化已被淘汰,他对自己讲授的学科有自己的理解,可以用自己的话解释书上枯燥的理论,并
能展示理论是如何与实践结合的。这种老师讲课时会有不少新东西,学生对于新东西的好奇
感弥补了教师在教学法方面的不足,但存在的弱点是引入的新东西可能过多,让学生消化不
良。这种老师我遇见的不多。这种老师可以说是合格的。

    (4)对讲授的内容精熟,对相关的理论教学找到了精巧合适的例子,能在很有限的教
学过程中让学生非常自然地吸收与掌握相关的知识;这种老师比较第三种老师的更高明之处
在于他对大量新技术和知识进行了深入的思索、总结,有选择有针对性地讲授相关的知识,
并下了大功夫去设计合适精巧的实例,让学生能很快把握住知识的脉络与核心,从而引发学
生强烈的学习兴趣,这种水平的老师,可谓好教师了。我见过几个这样的老师,他们的讲课
,是不需要通过点名这种措施来限制学生逃课率的。

    (5)真正做到了深入浅出,用大白话讲述复杂的理论,语言精彩,能始终吸引学生的
注意力,让他们在有限的教学时间中时有所悟,听这样的课,学生上课想睡觉和逃课的可能
性几乎为零……。这种老师,具有相当高的语言艺术水平,言语平和幽默,听他的课,学生
始终兴趣勃勃,时常开怀大笑,而又于笑声中有所感悟,有所启发,是专业技术与表达能力
完美结合的典范。这种老师,我有幸见过一位,印象极为深刻,这种教学水平,没几十年的
人生磨练与工作实践,达不到的。

    一方面不断学习与研究专业技术,另一方面要不断提高自己的教学水平,这是从事计算
机教育的教师所面临的两大主要任务。

    时代在进步,现在学生与教师所面临的情况已与过去有很大的不同。尤其是作为人类技
术进步速度最快的学科之一,软件教育又与其他工科教育有着不同的特点。

    从教师的角度,面对汹涌而来的技术浪潮,自己得不断地学,只有自己先懂会用了,才
能将这些新的知识及时补充到教学中去,这是一个非常沉重的负担,在现有教育体制下,这
种额外劳动并不能带来直接的回报,只能靠教师自身的责任感了,但我相信,教育体制的改
革最终一定会转到真正以教学质量为根本的方向上来的,在体制上保证教师的这种努力有相
应的回报,就可以形成一种良好的教学研究环境。

    计算机技术具有极强的渗透性,在目前的各行业中,几乎找不到一个没有使用计算机技
术的,因而各个专业的学生都有要学习计算机技术的愿望。

    我所在大学各专业的本科生中,有部分出于强烈的兴趣,自学软件技术已到了一个较高
的水准,部分学生甚至在中学阶段就已接触计算机并进行过一定的编程实践。除了这部分学
生之外,还有相当大比例的学生对软件知之甚少,但如果能让他们接触一些先进的软件开发
技术,其中一定会有对软件技术产生兴趣并主动钻研的学生。适当地激发并引导学生这种热
情,是搞好计算机教学的关键。

    事实上,软件技术具有极强的实践性与创造性,是很容易地引发青年学生强烈兴趣的,
关键在于用哪种方法来激发并引导这种热情。

    学习软件技术,重在能力培养。个人认为,应该从理论与实践两个方面,走相互促进的
道路。换句话说,一方面要学习相关的理论知识,另一方面也需要同步掌握现实的软件开发
技术以将理论付诸实践。在学习理论并将理论主动应用于实践的过程中培养真正的软件开发
能力,进而达到提高学生各方面素质的目的。

    软件开发能力的培养是一个长期的过程,必须由浅入深,循序渐进。为此,我认为针对
理工科专业的大学生学习现代计算机技术的需求,可以开设以下三个级别的开发实践系列课
程(以软件技术为例):

    1.入门级:针对低年级本科生开设,讲授VB,Delphi等RAD开发工具,利用这些开发工
具软件简单高效的优点,讲解程序设计的基本知识,介绍Windows的基本技术,主要目的是
激发学生的兴趣,引导他们迈入软件开发的大门;

    2.实践级:在这一级别,主要介绍面向对象的软件技术,计算机系的课程如C++/Java
类就是,但现在的问题是这些课程以学习语言为主,不能让学生意识到该如何应用学到的知
识。为此,建议开设讲授现代软件开发平台的课程,如.net平台技术。这种课程学生学习的
难度并不比C++或Java大,但却较纯语言教学有趣得多,可以巩固学生的兴趣并引导他们深
入钻研。这一部分课程以大二大三学生为主。

    3.提高级:面向高年级本科生,目的是提升他们的应用知识解决问题的能力。比如面
向对象分析与设计,J2EE,UML,软件工程等等。

    通过这三个级别,安排一系列的相应软硬件开发实践项目,从大二到大四,用三年的时
间培养出具备一定计算机应用开发能力的专业人才。

    对于计算机专业的学生,则应提出更高的要求,除了必要的专业基础课,要扩充对计算
机应用各领域技术的学习,比如可以开设Unix/Linux操作系统,嵌入式软件开发平台,工业
自动控制系统开发等课程。这些课程,其教学目的不在于讲得很深很专业,而是要让学生明
了这些领域是如何应用计算机技术的,从而为他们在广阔的计算机技术应用领域中进行选择
提供基础,最终确定自己的未来发展方向。

    另外,计算机专业的培养方向应分为工程师和研究者两个大方向。在每个大方向又应设
计出多个成系列的具体子领域的课程,供学生进行选择和学习,而不是象现在这样,不分对
象场合,眉毛胡子一把抓,所有学生上同样的课程,软件硬件理论课程一齐上,一学期学它
八九门理论课,结果理论课全都煮成了夹生饭,学生吃不下不说,就算硬咽下去也消化不了
,因为用于实践这些理论的机会少得可怜!不咀嚼过的饭怎可能被好好消化吸收?长久下去
,学生必得胃病无疑!

    在我看来,学生的很多困惑都源于对自己发展方向的不明确,我们的高校应该提供大量
的教学和实践资源让学生有机会去了解,去尝试各种不同领域的东西,从而开阔学生视野,
培养他们独立思索的能力。教师在其中给予学生适当的引导,起一个“煸风点火”的作用。


    教育应把学生看成是一个有着无限发展可能的潜在人才,而不是只会被动接收知识的容
器,教育的目的就是让学生能更好地认识自己,有目的地培养适应未来工作的能力,成为某
一领域合格甚至是优秀的人才。

    要成为一流的大学,前提是“生产”出一流的人才。毕业生中成为合格或优秀人才的比
例越高,这样的大学教育就越成功,这样的大学就是“牛人聚集”的“牛校”,其对社会与
国家的贡献就越大,这种“牛校”越多,国家就越有希望。

    倘能如此,那么,在中国数百万的在校大学生中,其中一定会涌现出极为杰出的人物,
为人类的发展作出自己独特的贡献,我们就会看到,会有越来越多的理论与高精尖技术有我
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值