我,一个计算机专业的大三学生。
从刚跨进大学校门时的茫然失措与不思进取,到大二、大三时自觉的努力学习以及对未来方向的一点迷茫,我对当前大学的计算机教育以及学生的学习状况也有了一些自己的看法。 近来有幸阅读CSDN上的一篇文章 << 现在的计算机专业学生怎么这个样?>>及其相关评论,观百家之言,难免有摩拳擦掌,跃跃欲试之意,现将我的一些经历看法略道一二,有失偏颇之处还望各位师兄弟及时指正。
关于大学教育
极其惭愧的是,已经计算机专业大三下期了的我,依然对”什么样的人才才是合格的IT人才”这个拗口问题丝毫没有头绪。但是我意识里一直隐约赞许的一个观点是:大学教育不等同与职业教育,它不仅要教会人基本的职业技能,更重要的是让受教育者得到一种学术文化的熏陶。
话说起来有些虚无缥缈,就像珠穆朗玛边变幻着的雾一样让人弄不明白。但每每看到各大IT论坛关于诸如”大学计算机课程有用知多少?”,”数据结构?少林罗汉拳?”等等的大讨论,看着各位豪杰百家争鸣,百花齐放,我便总如同置身于珠穆朗玛的山顶,试图用迷茫的双眼认清那云雾的变幻。
记得刚大二时一位C语言好像还不错的仁兄对 <数据结构>不屑一顾,经常上一节课就溜了。我告诉他说听别人讲数据结构对学计算机的很重要,仁兄白了我一眼,曰:”这些二叉树,排序学了有多大用,到用时别人都编好了等着你调呢,我们以后又不搞数学……” 我不知如何回答……
记得隔壁寝室一位网络技术学院(二级学院)的同学更牛,他们的基础课被压缩得差不多只剩下了不学说不过去的微积分,线性代数。大一下学期的时候,当我们计算机科学与技术专业的学生还在抱着<离散数学>,<C语言>瞎啃的时候,他们已经开始摆弄C#,ASP.net了,这位同学还买了很多书,什么Win2000 Server,VB.net……白皮的,红皮的;厚厚的,还是厚厚的……那时大家都很羡慕。
于是都大骂中国教育的落后,都称赞别人和国外企业合办的网络学院就是好,都后悔自己没有去网络技术学院而学了计算机科学与技术,就好像忘了网络技术学院只是这所落后教育机构的一个二级职业技术学院……
谁说<高等数学>学了没用,学一点<离散数学>就足够应付了?
谁说搞计算机的开<大学物理>课简直搞笑?
我说的,大一的时候,自以为是高手的日子里。
后来渐渐意识到,这些认识是及其片面的,我后悔了……
理与工
在上一段里我曾老着脸皮向大家阐述这个略显肉麻的陈旧观点:大学教育不仅要教会人基本的职业技能,更重要的是让受教育者得到一种学术文化的熏陶。
什么可以熏陶人?
理与工相比,是理学!
常受理学熏陶的人有什么特点?
具有一种严谨的思维习惯,他们解决问题时往往从一些已有的公理入手,用理性的思维方式一步步逼近最终的结果,这样的习惯对搞科学技术研究的人很有利。
一个普遍的认识是:计算机这门学科是一门理工相互渗透相、互依赖的科学。
这么一来,综上所述,作为一个在计算机领域做长久打算的学习者,打好理学的基础似乎是必须的了?
听我自言自语唠叨了好一阵,恐怕有网友忍不住要说了:住嘴!你不就想说明基础课也很重要大家都要好好学吗?
尊重大家的意见,唠叨就此打住,让大家先来看看我们学计算机科学的大学生们是怎么”打好基础”的吧:
大一线性代数考试的前一天,一群平日里游手好闲的哥们儿突然醍醐灌顶,拼命啃起书来。”天才出于勤奋”,不是吗,才一天功夫,就把别人辛苦学习了半个学期的内容给搞定了。一问起,对答如流。
我好奇的问一位仁兄:什么是矩阵的逆?(A-1)
答曰:什么???
我解释道:就是A-1
答曰:哦,就是先把A写在左边然后右边一个方阵对角线写1,然后和行列式差不多消去左边的,直到左边只剩对角线有1……(注:此处仁兄叙述的为例题中用线性变换求矩阵的逆的具体步骤,只是他不知道解的是什么东西)
我问:你前面的都不看只看例题啊?
答曰:我精简知识的能力一贯比较强……
结果期末考试此君考了80多分……从此自号天才……
其实上面那个还不算精简,看看这个:数值计算方法考试前一天晚上,一个课堂上很少露面的兄弟突然出现,惊喜地说道:一晚上就搞定了!(注:此君数学基础比较差)
大家不相信,考他:那你说说什么是复化辛普森积分?
答曰: 复化辛普森积分就是三分之一的步长,乘以括号里面是头结点加尾结点加2倍的奇结点加4倍的偶结点的值(注:复化辛普森公式S(f)=h/3*( f(x0)+f(xn)+2f(x2n-1)+4f(x2n) ) 的中文描述 )
又问:什么是拉格朗日插值?
答曰: 拉格朗日插值就是……上面是x减去当前结点以外的点,下面是当前结点减去其余结点(注:仍然是公式的中文描述)
最后问:你背了公式就行啦?
答曰:再把老师勾的几道题套公式算一下,就绝对没问题了……(注:老师考试前勾了重点)
这样的故事还很多,身边这样的影子也很多。用工科的方法去学理科,基础学科的考试考了八十多分,什么题型都会做却不清楚自己做的是什么东西,不知道为什么这样做,这样学到东西了吗? 当然学到了,不过只有到做题的时候才知道该用它了……
也难怪常听人疾呼某某数学对编程没有用,某某基础课是浪费时间。这不,我又对一个问题感到纳闷了:”小学语文(读书识字)对编程有用吗?”
计算机科学与技术
相对于基础课和专业基础课,大部分同学在专业课的学习中都是比较认真的了。
只可惜学专业课,光跟着老师的进度走怕是不行的了,何况这个”认真”依然是对考试而言的。
提起专业课,不由得联想起了我们国家的计算机教育,查过一些资料,听取过一些别人的意见。感觉我们开设的专业课内容和国外优秀大学倒是差不多的。数据结构,编译原理,操作系统,数据库原理,在中国任何一个三流高校是核心课程,在Stanford , Berkeley也是核心课程。只是许多东西我们只学一学期,别人要学两学期,我们学习的过程中虽有经典原版教材在手,过去十几年形成的考试观念却总根深蒂固的扎根于传道者与受道者的心中,而they say:考试?A piece of cake……
公认的一点是目前国内专业知识的传道和实际应用是有些脱节的,相比国内、国外传道授业解惑方式的差距,国内大学之间倒也成了五十步与百步。
其实平摊下来差的也不太远,就是每一门课差一截……最大的弊病在实践的安排上,具体说就是我们在每门课后缺少大量相关实践的机会。人对事物的认识总是遵循 宏观——微观——宏观 三大过程的。对一套系统的理论没有长时间的实践过程,没有一个深入到微观层次上琢磨、理解、认识的机会,哪里谈的上最后一切了然于胸的宏观把握呢,难道就凭可怜的几次上机课,还是凭那从互联网上免费下载的源代码?
用一个已经被用烂了的比喻,学习知识的三个境界就好比三句诗描写的一样:
昨夜西风调碧树。独上高楼,望断天涯路。
衣袋渐宽终不悔,为伊消得人憔悴。
众里寻他千百度,焉然回首,那人却在,灯火阑珊处。
可悲的是我们的教育就像那意气风发的青年,站在高楼上,对远处的一切都有了个朦胧的认识,却终没有经历那 ”衣袋渐宽终不悔,为伊消得人憔悴” 的 境界,又怎么能等到最后的"焉然回首"呢?
学微机技术,学的东西老尚且不谈,学习的方法也值得商榷。难道就照着8086,8259A,8251,8255的操作时序,控制字状态字瞎背一通,就能真正掌握微型计算机技术了?这样的掌握,是”望断天涯路”时那少年不识愁滋味般的宏观境界,还是”焉然回首”时的那"无招胜有招"般的宏观境界?
没有机会做几个哪怕是很小的项目实践,怎么能真正理解其设计用意?怎能发现它的局限性?难道背诵一下:”8086低8位数据线传送偶地址数据所以主意外接8位芯片时要将引脚移位连接……诸如此类”就一切皆在掌握了?
学数值计算方法难道仅仅了解公式的推导过程(当然这也很重要),最后照着书上的算法改几个程序就欢天喜地了?不找几个有意义的课题来操练,谁愿意编一大段代码去解一个一眼能看出答案的线性方程组?
一点申明:
其实我一开始就说了,我在刚进大学时也是个不思进取的学生,我也缺课,临时报佛脚应付了考试还怡然自得. 那时候我和文中所说的种种人是一伙的,那时我也对基础的东西不屑一顾觉得没用.直到后来才慢慢的体会到自己以前的很多想法与做法是及其肤浅的.
大一时我的数学基础也不好,后来当我真正认真钻到数学里面去后才体会到理学的无穷魅力.才知道自己以前的所谓"背公式看例题就能上80"的观点是多么的可笑.
看着以前和我在一条战线上的人们现在还依然是老样子,还是对基础的东西不屑一顾,在技术上舍本逐末,所以才有文中的种种批评和感慨.其实这些批评不仅仅是针对别人,更是针对自己以前的错误想法的.
文中人的做法也许不是纯粹一个人的做法,而代表一个典型群体的做法,所针对的也不是具体的某个人,而是具有一定普遍性的一类现象.在这里我有过加工,但绝没有夸张.
[待续]