1、我的大学生活作者简介:曾毅,2004 年毕业,连续两年被评为微软全球最有价值专家现在在中科院。昨天,我的大学学习1一张白纸,一个彻底的初学者大学一年级失落?新的抉择,新的开始那天是人生的一个转折点,让我体会了从一种梦想破灭到另外一个梦想萌生的过程高考成绩下来了,515。不能接受的分数使我不得不承受一个事实,我不可能去做一名医生了,这离北京医科大学的录取分数线还有遥遥 75 分,想当一名白衣天使的梦就从此永远破灭了。人还要由未来,可是我从未给自己做过第二种打算。高考成绩和平时相比是有差距的,由于一贯以来的考试紧张和最后冲刺阶段的考试复习不得法,数学单科成绩下滑 30 分,物理单科成绩比平时下滑
2、50 分。打击无疑是巨大的,然而总要有一个选择,路向何方走?我甚至没有心思去考虑这个问题。 报志愿了,怎么办?还好自己有个第二兴趣,英语。就这样吧,学英语。然而天不由人,我的分数在北京的较好高校中都不够读英语系真的没有什么了,其他的学科兴趣都一般,无所谓了,母亲打听到学习计算机比较好找工作,也是一个很有前途的职业。“那随便吧”我说,倒是很极端的,我选择了 6 所学校,3 所一批院校我报的都是计算机科学与技术。二批 3 个学校其中工商大学报的英语,另外两所也都报的计算机。录取结果出来了,我被第一志愿北京工业大学实验学院计算机科学与技术系录取了。大家说北京工业大学是北京一所不错的学校,但是学风可能
3、不太好,管他呢,我的打算是,既然已经选择了这个专业,那么就好好干它一仗吧!快要开学了,我高中被评选为北京市三好学生,开学前提前被老师招到学校,协助老师做开学新生报到工作。欣喜若狂,在高中,我的表现得到了老师和同学的认可,又来到了一片新天地,希望自己表现得更加出色。给自己点信心,努力加油干!我的学院是北京工业大学的实验学院,由于新校区没有盖好,官方称我们首先要到河北省廊坊市东方大学城学习一年。(而后来事实证明我们在河北省一呆就是三年)来到大学成了,很漂亮,大得出奇。有人曾说过,大学里面什么都大,大教室,大宿舍,大图书馆,大食堂在这里显得比别的大学更大。来到教学楼学生工作办公室,还没等敲门,两个学
4、生走出来。“你好,来报到么?我叫张慧涛,*中学毕业的。”,“很高兴认识你,我叫曾毅。”我回答已经来了不少人了,大概十来个,都是北京市各个中学的三好学生,他们每一个人在四年的生活和学习中都成为了我们学院的领头羊。望着大家忙碌的背影,我立即投入到其中,协助他们工作。大学要有个好的开始,我的母亲经常这样教导我。表现得好一点,也许能做学生干部为大家服务呢,我暗暗下定决心。那天父母一同送我来学校,但我不记得他们什么时候走的了,因为一到了学校我就投入到紧张的准备工作中来,与同学们一起干的不亦乐乎。工作很繁琐,搬桌椅,写名单,搬家具大家都很累。干得差不多了,老师问我们谁会画画写字,来这里的 20 个人都是男
5、生,看上去谁也没有这方面的特长,我在小学和初中在这方面专门学习过,这次可派上用场大显身手了。我走到老师面前说“我想我可以试试”。从这一天起连续两天,我的主要工作便是画宣传海报,写名单。而其他的同学继续搬桌椅(这不能算偷懒吧,呵呵。)看着我的作品,学工办的老师大多是满意的,我也很得意,从这时开始,老师便对我多了一份关心,在后来的学习生活中使我获益良多。然而只有一个老师不太满意,便是学生工作办公室主任郭颖老师。“这可不行,礼花画的不像,重新画吧”我的天,我画的画居然受到了批评,太不能接受了,初高中被无数赞扬包围的我怎么也不能接受刚刚来大学就遭到老师批评的事实。但没办法,老师的要求么,照办就是了,但
6、心里确实不爽。随后的学习中我逐渐体会到,这个郭老师便是我在大学学习中对我在为人处事方面给我最大帮助的人,使我学会了与他人交流的方法,直面困难的气度。而郭老师也成为这个大学中唯一批评过我的老师大学新生报到结束了,半天后英语分班考试。我的天,别人看了两天书,我忙活了两天给同学们办手续,这考试怎么办啊?没办法了,看了半天书,匆匆忙忙上考场了。考试时间并不充裕,等我打完题后大家都已经交卷了,教室中只剩下我和另外一个同学。不管怎样,我尽了最大的努力,希望自己能进入快班学习吧。结果令人欣喜,我被录取到快班了过些天选了班长,我是班里唯一的一个三好学生,又在开学前来了学校帮助老师工作,自然成为了一班之长,心里
7、挺爽的。也预示着我要为此做出很多努力才行。已经两周没有和家人联系了,晚上找了一个公用电话给家里报平安“妈妈,我被校英语快班录取了,同时被选为本班的班长。”好像是哭了,因为没有离开过家长,也可能是因为在一个群英云集的地方首先劈开了一亩三分地而感到那么不容易而感动就这样,大学的学习开始了。来上学之前我知道一件事情,就是学计算机要首先学会打字,我找到了一个初中同学,他的电脑用的很熟练,花了大概半天的时间,我大致熟悉了键盘的使用及指法,但还不能盲打,总算也是有了点基础。开学的第一堂课便是校计算中心主任的计算机使用概览课程,在课程上主要介绍了一些计算机的最基本概念,课程上最大的收获是本来我已经学会了打字
8、,感觉上大学的时候应当算是有一些基础的人才对,可是没想到老师询问“你们当中谁现在还没上过网?”上网?我的天,我字还打不熟练呢,我举起了手,晕,为什么只有我一个人举手?这太假了“你们当中谁现在打字还有问题?”我又举起了手,狂晕,又只有我一个人。不管别人是否是诚实的,但至少我当时是,也就证明了理论上我可能是全系独一无二的那个“从没上过网,打字有问题”的人。冒汗了,开学在专业上几乎为零的基础,我该怎么办啊?没有别的办法,两个字:“拼了!”!从这一天起我必须面对这个事实,也因此立下了四年中最重要的志向:“在专业水平上努力提高自己,在理论学习上严格要求自己”。很平淡的愿望,但一切的一切也就是从这个不成熟
9、的愿望中诞生从绝望中寻找希望,人生终将辉煌!开始正式的课程了,第一学期主要的专业课程集中在计算机文化基础和程序设计语言之上,数学课很多,在这年打下了较为坚实的数学基础,然而对于专业课真是越学越没兴趣。计算机文化课上老师要求练习打字,我打得实在太慢了,我的一位好友对我说,“我给你装一个软件,你和我一起练习吧”他给我装了一个QQ,虽然当时我还不知道是用来做什么的。开始练习了,他在那个聊天窗口中对我说话,我就尽快的回答他,真是太逊了,过了五分钟,我一句话都没打完。“太次了”,他对我说“你要赶快提高你的专业能力,连打字都打不快,学别的恐怕更不好学了”,我慌了语言的课程更是麻烦,我当时读程序的时候居然将
10、他看作英语课文来读,偶尔看懂个程序的大概,写程序是绝对写不出来的。一次上机课程老师要我们编写一个水仙花数程序,结果大家几乎都编出来了,只有我一个人没做出来打击实在太大了,我近乎绝望,对专业失去了最后的兴趣上大学对我影响最大的几个人之一便是王爱萍教授,她是我的程序设计语言启蒙老师,更是专业学习的领航人。王老师很喜欢我,源于我的英语成绩不错,学习比较踏实。我和王老师走的很近,经常去她家问问题,谈心。一次在去她家问语言问题的时候,我一如既往的听不懂她在说什么,实在忍不了了,我哭了王老师很诧异,便问我为什么要哭。我对她讲述了我的高考失利,对计算机专业的选择过程,以及对自己的专业失去了最基本的信心,倾诉
11、了内心的真实感受,并且对她表达了我想尽快的退学重新高考或者转专业的打算。王老师放下手中的笔,对我说:“曾毅,你个大男孩子一点志向都没有,太没出息了!”我愣住了,目瞪口呆,还以为老师会安慰我她说:“计算机科学和任何一个科学领域一样,需要你艰苦卓绝的奋斗。你选择了一个让你能够为之骄傲的专业,但你却要退缩!在你选择了计算机这个行业,就意味着你要为之终身奋斗,你的身后是悬崖,只能往前走,不能往后退。总有一天,你的专业会因为你而骄傲!”我这位导师的成长经历是惊人的,她原来是淮北煤炭师范学院的本科毕业生,毕业那年她选择了考研。本科学的是数学系,想转计算机首先是很有困难,不是因为她觉得考不上,而是因为一旦考
12、上了她和计算机系的学生如何缩小差距。不过最终她还是这样走了下去。付出的辛苦是无法让人忍受的,在考研期间,她把非常经典的那本同济大学的高等数学习题集做了遍,是一道一道挨着做,不放过任何一个难题。别的我不想多说,就说个量化的数,做的题满满一个书柜。最终她坚持下来了,考研时她们学校只有一个学生考上了研究生,就是她,而且她考的是国防科技大学计算机系,从一个这么小的学校。别的还用再说吗,当年考国防科大比考清华要困难得多。但是她做到了。上了学后她面临的问题接踵而至,计算机基础几乎为零,专业课除了考研的课程什么都不会,这可怎么办,没办法,一课一课的补。她说当年她学得最痛苦的一门就是离散数学,离散数学我想你也
13、学起来不会太轻松吧。至于其他的奋斗我不多说,我只告诉你当她教我课时,已经是淮北煤炭师范学院计算机系的系主任,主教课程:程序设计语言,数据结构,离散数学,编译原理,操作系统,数字逻辑。这些课程虽然都是非常基础的课程,但是试问现在全国各大院校有几个教授能够将这些课程都一肩挑起?不是我说大话,真的很少,有些人认为这样不专,没有专长,原先我也这么认为,说实话,我上老师的课非常的挑剔,方法是在寒暑假自学下学期的课程,然后上课时专找老师讲得不清楚或是模棱两可的地方向他们发问。但是在她任我程序设计语言的课程和离散数学的课程时我听她的课就像是当年学生在西南联合大学听那些各派学者的讲学一般,如痴如醉,她教我的所
14、有课程有时候是会有些不太清楚的地方,但是在一周之内你不找她,她也会来找你给你讲清楚。这个不是说老师向高中一样那么多事,而是学者的风范,在我们学校也有教这些课的其他老师,美其名曰曾经搞过这方面的底层研究,但是真正到了显水平的问题时每个学科都只有王老师解决。这不能说是个巧合,而是实力的体现。一个人如果决定了要做一件事情并为之付出足够的努力,从某种角度上来说没有理由做不好。 听了王老师的故事我为我自己以前的学习态度感到十分的愧疚,当时我在她的宿舍这样跟她说:“王老师,我不能向您保证现在我对计算机科学就能产生多大的兴趣,也不能保证我能不能坚持这个方向一辈子,但是有一条我可以做到,就是不管在什么情况下,
15、在四年的本科学习阶段我会把计算机科学作为自己的事业去作,做一个好学生,努力做好每一件事情。”开始计算机科学入门学习根本是在受煎熬。为什么?因为不了解。但是就是在这种不了解的情况下坚持着,跟着王老师走,只要是她讲到的我都记下来自己再回去学,就是在这种情况下,我进行了将近半年的学习。学语言应当是我最痛苦的时期,为什么?不是因为语言难,而是找不到思路。正如上面提到的,我看语言的代码就像是初中生在看英语阅读一样,从没有个结构上的把握,一个符号一个符号地读。我不能简单的说高级语言和自然语言之间有着质的差别,但是描述的思路确实有着本质的区别。可是当时就是看不懂,怎么办?没办法,当时也不会上网,更不知道网上
16、还有很多的学习资料,就在这种情况下,我把课本谭浩强老师的语言程序设计教程的习题集上每题都挨着做下来,不会的就去问老师,然后再把做完的程序和书本上的答案对照,找差距,调整自己的思路。然后再到机器上把每个程序都调通。后来的几年学习中我们学校的同学以及学弟学妹都喜欢让我给他们改程序,不是因为别人改不出来,而是因为在我给他们改程序时首先为他们解决他们的问题。然后会帮助他们调整思维模式和对待具体问题的入手点,并帮助他们总结某种代表性程序时经常犯的错误。后来他们有人问我为什么这些问题你都一看就知道,我告诉他们,首先不是因为我有多深的知识和程序设计技能,只是因为你们犯的错误在我大一时基本上犯了个遍,因为我的
17、基础比你们差得太多,所以你们不犯的错误我都会犯,你们犯的错误我一般情况下肯定会犯,可是每个问题的解决都不会是一眼看出来的,有的是过了一个学期才会的,所以记忆就尤为深刻。到最后我把语言的书上的每道题都写到了一个大本子上,王老师和我说:“怎么写了这么多啊,可以出书了!”我当然知道这是老师在肯定学生的努力,在和我开玩笑,但是我不得不说当时老师给我的肯定是我努力了这么久才换来的,所以我这辈子也忘不了这件事。慢慢的,随着程序设计这个基础中的基础一天天打牢,我对计算机科学的学习也不断的扩展。认识也不断的加深理论计算科学的学习从数学开始我的数学成绩平平,都是 80 多分,大学数学没有在 90 分以上的。但是
18、我对数学的兴趣是十分浓厚的。大一下学期和大二上学期我几乎每天除了上课时间都在图书馆看各种各样的数学书。我们学院有一点是现在各所高校都无法比拟的,就是图书馆了,倒不是因为藏书量的问题,而是因为学院经费有限,不可能买很多书。但是却从清华大学和北京大学以及首都图书馆拿来了很多淘汰掉的书,其实这些书远远没有失去他们的价值,其实数学书有的是越老越值钱。我看的影响最大的有这么几本,首先从最老的说起。华罗庚在数学上的造诣不用我去多说,但是他这光辉的一生做得我认为最重要的几件事情: 首先是它筹建了中国科学院计算技术研究所,这是我们国家计算机科学的摇篮。再有就是他把很多的高等数学理论都教给了做工业生产的技术人员
19、,推动了中国工业的进步。第三件就是他一生写过很多书,但是对高校师生价值更大的就是他在病期间在病床上和他的爱徒王元合著的高等数学引论(王元与其说是他的爱徒不如说是他的同事,是中科院数学所的老一辈研究员,对歌德巴赫猜想的贡献全世界仅次于陈景润)这书在我们的图书馆里居然找得到,说实话,当时那个书上已经长了虫子,别人走到那里都会闪开,但我却格外感兴趣,上下两册看了个遍,我的最大收获并不在于理论的阐述,而是在于他将高等数学的理论完全的实例化,在生活中去找模型。理论脱离了实践就失去了它存在的意义。正因为理论是从实践当中抽象出来的,所以理论的研究才能够更好的指导实践,不用于指导实践的理论可以说是毫无价值的。
20、 后来还读过北大张筑生先生的数学分析新讲。张筑生先生一生写的书并不太多,但是只要是写出来的每一本都是本领域内的杰作,这本当然更显突出些。这种老书看起来不是在传授你知识,而是在让你体会科学的方法与对事物的认识方法。微积分学科与其他很多理论性学科不一样,并不是先有坚实的理论推导,后来发展起应用,经得起推敲的严格理论基础是在以后的发展中逐渐由后继者完成的,走的是一个从上到下的过程。而这就决定了一般的微积分书东一榔头西一棒棰的乱打一气,最后给我们的印象就是微积分是一盘散沙。张先生的书立足于他在北京大学多年的讲学稿,给这个学科赋予了一个完整的艺术形象。至于后来也无意中发现北大居然把现今在市面上很难找到的
21、那些经典的数学书也给了我们,对他们来说看似没用的书对我来说却十分有帮助。印象比较深刻的有那本组合数学,空间解析几何还有拓扑学,看这三本书的时候是极其费事的,原因有几点,首先是这三本书无一例外,和华罗庚先生的著作一样,都是用繁体字写的,第二就是书真得实在是太脏了,我在图书馆的座位上看,同学们都离我做得很远。我十分不自然,不愿意影响同学,但是学校不让向外借这种书(说起这是也挺有意思,别人都不看这种书,只有我在看,老师就特别的关注我,后来我和他讲了这些书的价值,他居然把他们当作是镇馆之宝,老师都不许借,不过后来他们看我真得很喜欢看,就把书借给了我,当然用的是馆长的名义借出去的。)不过收获是非常大的,
22、再后来学习计算机理论时里面的很多东西都是常会用到的。当然如果你没看过这些书绝对理解不到那个层次。拿拓扑学来说,我们学校没有开设这门课程,但是这门课程的重要性是显而易见的,没有想到的是在那本书的很多页中都夹着一些读书笔记,而那个笔记的作者极有些造诣,有些想法可以用到现代网络设计当中。另外对我影响比较大的书就是科学出版社的数学史教程。我自然不是数学系的学生,但对于每一个学科来讲,不晓其历史,很难将这个学科掌握足够好。自从看了这本书之后,我对数学的兴趣便更加浓厚。数学书在大学阶段是除了计算科学的书以外看的最多的书。原因很简单,计算科学源于数学,是以一种全新的视角来解决世界中的问题和改变世界。“数学为
23、精确处理是什么提供了一种方法,而计算则为精确处理怎样做提供了一个手段”。数学之于计算科学的重要性不言而喻。关于计算机文化的学习及其地位你决想不到图书馆里还有一本具我调查应当是我国最早的介绍计算机组成的书籍,大概是 1964 年出版的,作者是祖冲肖,听这名字你可能就会想象得到这人在历史上一定是大有来头的,那书对我的启发极大,虽讲的都是一些现在看来得十分陈旧的知识,但是看得出来这书在当时的地位。至今,在那本书里论述的东西我在现在的书籍中都未曾见过了。当然,在学校新书还是多一些,庆幸的是我们学院的图书馆几乎在 2 年级开始后的所有书都是由我来选的,所以那段时期爽得很,看到网上有什么好书和别的学校学长
24、推荐的书我就记下来让老师去买,我经常和那个图书馆的馆长神侃计算机科学,她本是学企业管理的北大毕业生,但是现在在计算机角度上,计算机文化底蕴早已超过了一般的老师。关于计算机文化的学习,国内的书籍主要教授Windows98 的使用Office 的基本操作等基本技能,而在我看来这些内容绝对不能作为本课程的重点,在这门课程中我们更应当关注的是整个计算科学的发展史和计算机科学的内涵与外延,只有基本搞清了这两个问题,才会在今后的 3 年乃至更长久的时间内有的放矢的学习计算科学。试想不了解学科领域的各个分支,又怎么可能权衡利弊,找到自己的兴趣点所在呢?计算机文化(英文名称:New Perspective o
25、n Computer Concepts)一书给我这样的初学者带来了一个春天。这本书是我的恩师李小坚推荐给我们读的,然而在我们学校我同级的学生里只有我看完了这本书,或者这样说,真正摸过这书的书皮的也就只有我们宿舍的几位同学。这书我现在偶尔也看看,他们都费解,说我计算机基础就算是不好也不用恶补三年呀!殊不知这书上的理论和介绍的一些思想是一辈子都很难全部了解透彻的。也正是这本书使我奠定了极其深厚的英语基础和专业词汇基础。大学一年级的学习态度关于大学一年级的学习态度,我想可以很负责任的说我是非常认真的。首先是上课的问题,在大学四年的学习中,除了四年级一段时间忙于办理出国留学(后来因为某种原因决定硕士仍
26、然留在国内读)手续耽误了几次课程以外,几乎没有旷过课。原因有两条:首先是我认为本科教学安排的课程乃锤炼 10 至 20 余年甚至更长的时间,理论基础自然精炼,需要我们认真地研读和学习,而老师研究此门学科的时间至少长于我们几年以上,为了奠定坚实的理论基础,课程的学习绝对不能因为任何其他因素所取代。第二个原因源自我没有太多的基础,按照千锤百炼的理论学科顺序学习是我能想到的实现自己专业素养提高的几乎唯一的捷径。直至现在,我仍然认为对于刚刚步入这个领域的初学者,至少需要在大学一、二年级将主要的精力花在课程相关的学习之上。只有这样才不会偏离方向。另外一个问题是每天,每周应当花多少时间学习的问题。作为一个
27、大学本科的学生,我认为打好坚实的理论基础是今后学习与工作最重要的问题。而本科的课程安排比较紧凑,不花足够的时间学习和钻研是绝对不可能成功的。我的作息时间比较固定,每天 6 点左右起床,6 点半基本上就到学校了,然后便是开始看一些专业书籍或者是看英语,朗读英语材料。晚上一般是 11 点回宿舍,然后再继续看 1-2 小时的书,有的时候很忙,就需要点蜡烛看了。大家可能说对身体不好,但是为了自己的理想,不付出足够的努力怎能成功呢。大学我的课余生活并不丰富多彩,比较集中的集中在专业学习上,然而我没有意思后悔,因为在专业上的进步比我在任何一个领域取得的东西都要珍贵很多。后记大学一年级的学习,最重要的几笔我
28、都记载下来了,回首往事,没有这个阶段艰苦的理论初探,是不可能顺利进行随后的专业课程学习的。一些问题仍需在这里说明,如果你也是一名刚刚入学的计算机系学生,读完这篇总结,你应当想到的是在这里哪些经历对你来说是非常有参考价值的,并付诸于实践,时间是宝贵的,我想我的经历能够代表大多数同龄人遇到的困难,大学四年最重要的一段时光莫过于在迷茫与失落中摸爬滚打的这个时段,时间如果不珍惜,到了后面很有可能造成的现象便是自己不知所措糊里糊涂过了四年。在后面的一篇文章中,我着重记录了我从大学一年级开始到大学二年级下学期英语课程的学习历程和专业课程的进一步深造。回顾自己的学习历程并作个总结,亦希冀能与读者取得一些共鸣
29、昨天,我的大学学习谁能改变我的命运大学二年级如果说大学一年级的时候是一种被动学习状态,对计算机科学不能揽其全貌,那么进入大学二年级以后的学习便是比较有针对性的了,但这种转变并非偶然,同样也是经过了艰苦的学习换来的我不是一个聪明的人。可以这样说,我现在所获得的每一滴收获都是通过 10 倍以上的努力换来的,人说智力是没有太大的差别的,我也坚信这一点,但是我做任何事情总是证实了我实际上和一般的孩子确实有点差别,举个例子来说:很小的时候大家就用一根尺子用一只手悬起来,垂直往下扔,用一只手接住,看反映的时间长短来作为测试反应能力,我就从来没有抓住过尺子,另外做任何的智力测试几乎就没有什么能做出来的题目。
30、就这样的状态,我一直持续学习着,每个公式别人记忆 1 遍我可能至少要 5 遍以上,甚至是 10遍才能比较牢固的记住。然而我希望自己不落后于别人,所以一直很努力,初中的时候学习不好,高中就特别努力,虽然学校不是很好,但一直稳定在年级 1 至 2 名的位置。大学的学习也不例外,大学一年级的假期照样形同虚设,看书和程序设计的时间每天不少于12 个小时。在那个假期主要完成了计算机文化那本书的阅读以及深入学习语言程序设计。后来二年级的假期还阅读了IEEE 计算机先驱奖以及ACM 图灵奖这两本书,再次阐明我的一个观点,我直到现在一直认为作为计算机科学的学习者,不了解计算机发展史,是不太可能在这个领域有什么
31、太深的造诣的。登高望远,站在巨人的肩膀之上能够让自己纵揽全局,看待问题也清楚很多。进入大学二年级的我还没有从假期的自学回过味来,突然学校领导让在一年级搞个经验交流会,我那个时候在学校做学习部的部长,顺理成章的去给计算机系的学生做了一个入学讲座,(插叙:我们那个时候的入学讲座是由恩师王爱萍教授做的,由于王老师已经离开了我们学校,所以学校就安排了各个系的二年级学生去。也许你会奇怪,怎么不让大四的学生去?这就是我们学校的悲哀。我在北京工业大学实验学院,实验学院在我们这届以前的本科学生全部划归工业大学其他学院,我们这届开始重新招生建校区,所以我是没有学长的,大学四年里面,我们这届一直是最大的一届,万事
32、开头难,学校经过了艰苦卓绝的发展,我们也承受了很多的考验)这可把我给难为了,自己学习计算机不到一年的时间,就要给别人介绍经验,实在太痛苦了,但是这是自己责无旁贷的工作,唯有认真准备。仔细的想了想自己的学习情况,询问了一些同学的学习经验,又看了些书籍,硬着头皮就这么上了。讲座那天是非常热闹的,最开始我进去的时候很乱,因为我也是学生,大家有个想法:“老师上课讲课我都不听,干什么听你胡侃乱侃啊”。呵呵,换了我可能也会这样想。可能由于那天大家都比较没事做,在我开始发言不到半分钟的时间,会场就鸦雀无声了,“同学们大家好,我来自咱们学校 00 级计算机 3 班,我是一个计算机科学的初学者,和在座的大部分学
33、生比可能还属于十分初级的初学者,但是在北京工业大学学习的这一年积累了一些学习的经验,很愿意与同学们一起分享精彩的大学生活”讲座中我着重说了大学学习和中学学习的区别,专业课程的设置情况,核心课程的总体介绍,英语的学习,以及如何利用大学的学习资源等等内容。讲的时候有点紧张,因为头一次面对一个系的学生公开讲座,但讲座的结果是令人满意的,讲座整整进行了 3 个小时,但是学生一点倦意也没有,可能是因为我们都是同龄人的缘故,交流是零距离的,结束后我自己正在怀疑是否讲的内容不够实用,足足 3 分钟的掌声说明了一切讲座以后我发现虽然自己对计算科学的整个领域有了一个概要性的了解,但是这确实不是很完整,而又没有一
34、个途径能够使我很全面的揽其全貌机会来了,我校著名的人工智能专家刘椿年教授来到实验学院做了一场“计算机科学技术及其发展”的讲座,使我获益良多,后来又阅读了计算机科学技术百科全书这本书中的部分内容,整理成了一片文章计算机科学的内涵和外延。到这个时候,认为自己至少大概了解了到底计算机科学都包括了哪些内容,也就可以开始有的放矢的学习了应当说专业课的学习在到了大学二年级的时候就进入了一个集中,关键的学习阶段。计算科学的核心课程会在这段时间在各个学校展开。这一阶段的主要课程有:数据结构,离散数学,概率论与数理统计学等。都是非常重要的专业基础课和专业课程。倘若你去问一个木匠学徒:你需要什么样的工具进行工作,
35、他可能会回答你:“我只要一把锤子和一个锯”。但是如果你去问一个老木工或者是大师级的建筑师,他会告诉你“我需要一些精确的工具”。由于计算机所解决的问题都是从生活中抽象出来的问题,其复杂性不言而喻,所以我们需要这样精确有效的工具去解决现实生活中的复杂问题。算法、数据结构都是程序设计中必不可少的精确工具。算法的重要性是每一个计算机专业的大学生都十分清楚的。算法与计算理论是计算机程序设计领域的灵魂所在,是发挥程序设计者严谨,敏锐思维的有效工具。任何的程序设计语言都试图将之发挥得淋漓尽致。作为计算机专业软件相关无可厚非的最重要基础类的核心课程。没有算法,程序就失去了灵魂。数据结构与算法的学习是艰苦的,最
36、开始的时候,我无法区分各种算法之到底有什么关系,只能机械被动的接受,但是随着课程学习的深入,开始可以比较深入的领会一些算法,并比较各种算法的优劣,由数据结构的学习,进而展开了对算法的学习,在算法方面我读的书还算比较多,但是有一些后来觉得不值得一读,书名不便公开,但是算法导论这本是必须推荐的,计算机系的学生鲜有不知道此书的,但如果你仍然还没有读过,我认为你至少在大学年级之前读完它。离散数学被称为是计算理论的灵魂,我认为一点也不过分。我曾拜读过南京大学 sir 前辈的胡侃理论计算科学一文,文中提到“从理想的状态来看,离散数学最好分开六门课:集合,逻辑,图论,组合,代数,数论。”我们那个时候学习课程
37、主要集中在集合论与数理逻辑,图论与代数系统。在数理逻辑领域,中科院软件所陆钟万教授的面向计算机科学的数理逻辑是本领域内的精品。图论和电路网络以及计算机网络等领域结合的非常紧密,也是离散数学学科中相当有趣味的一个分支。例如哥尼斯堡七桥等问题都可以使大家体会到实际问题理论抽象的巨大价值。我下个学期的研究生方向具体课题是空间数据库,一个重要的模型是地理信息系统,其中离散数学理论在图的构建,查询等分支中都有很广泛的应用。原先离散数学和数据结构归在一起成为离散数学结构,后来由于数据结构的内容比较多,分出来了,不过最近国外好像有些大学又把它们合并到了一起,道理当然不用说,可能还是考虑到交叉的部分比较多。比
38、较经典的书我看过得应算是Discrete Mathematical Structures了,清华大学出版社有个影印版的。集合论语数理逻辑部分是由王爱萍教授执教的,这部分理论性非常强,而王老师的数学背景使得课程严密的推理几乎无懈可击,甚是精彩。图论部分是北京科技大学的阎庆春老师教授的,趣味颇多,以至于现在回想起来很容易就能根据他所讲的一些笑话将理论贯穿于一线。 概率论与数理统计这门课我认为对于计算机系的学生来说是非常重要的,但是确被传统的工程数学教学思路绕个一塌糊涂,连续概率几乎是每一个学校的教学重点,至少在我们学校是,但是对于计算机系的学生来说离散概率得重要性是毋庸置疑的,例如在数字信号处理课
39、程中我们就经常使用离散概率的理论基础。计算机科学中概率论的主要应用领域有分析网络和分布式系统,随机化算法和协议,离散时间信号处理等。可惜我概率论学习不够深入,以至在离散时间信号处理学习的时候费了不少周折,但对概率论本身的理解却因此深入了不少。 二年级来讲,专业课程的学习上我对自己是比较满意的。大部分课程的理论考试都在 90 分以上,而在这一年中同时也取得了 4 个学科的 100 分。分别是面向对象技术、面向对象程序设计课题实现、人工智能导论和英语口语。大学期间总共取得了 5 个满分,其中 4个是在大学二年级。然而到现在为止,我仍然认为理论考试和程序设计脱钩太严重,虽然面向对象技术理论掌握的比较
40、牢,但是在参与大的课题的时候仍然有晕头转向的感觉。至于人工智能学科,主要是拜中科院自动化所李小坚博士所赐,在那半年中最有纪念意义的便是完成了一个用 Lisp 语言开发的智能聊天系统。多媒体技术课程中完成了“北京工业大学多媒体教学系统”课题,虽然很简单,但这几乎是我在大学阶段第一个正式的项目,如果说实践上的积累,那么这应当算是正式的第一笔讲到这里了,不得不讲讲我的英语学习了。并非我觉得英语学习不重要才放在这里。恰恰相反,我认为英语的学习可能是你大学学习最重要的一门课程。有些人可能不喜欢自己的专业,在读研究生或者工作的时候会转行,但是英语始终都是你进一步学习国外最先进理论与技术的法宝。极端一点,仅
41、仅针对计算机科学的学习者来说,如果你想掌握最新的技术信息,学术理论,大概也不太可能仅仅通过中文文字,至少还需要一个汉化的时间。 我的英语功底并不好,初中一年级的时候还可以,能凑合到 90 分,现在看来分数可能不错,但对于那个时候半个班 90 分以上确实就算不得什么。初中二年级就麻烦了,只有 72 分,记得是当年全班倒数第三,这可怎么好没有选择,开始学。怎么学?不知道,但手里有本寒假作业,抠吧。早上起来 6 点钟一直到晚上 12 点钟,一口气把寒假作业做完了。查答案一看,完蛋,错了个稀里哗啦。没办法,正好就拿这个当反面教材了,一个错误一个错误地查漏补缺,弄了一个假期。开学初三学习开始紧张了,也很
42、认真地完成每一张卷子,中考的时候 95.5 分,全校第二(第一名 96.5 分)。从此对英语的热爱一发不可收拾高中二年级开始着重练习口语,用的是当时风靡一时的“李阳疯狂英语”,哦,很多人说是没用的,但至少在我身上实践是成功的,至于效用有多大,我认为还要看下面的学习历程。二年级开始,上英语课程学习的时候每一个知识点都试图用口语来练习,每天早上练习朗读课文,晚上用口语的方法温习语法知识和单词,效用是显著的,仅就笔试而言,高中阶段没有当过第二名。大学阶段基本保持在全校前三名的位置。进入了大学学习,高手林立。尤其是我进入了英语快班以后,更是体会到了自己需要不断的努力。快班的同学大多来自北京四中,八中,
43、清华附中,五中等名校,在这些学校中通常开有外教课,学生的口语水平普遍好于我们这种三流高中的学生。刚刚去的时候着实吓了一跳,但是自己水平也不是很弱,所以还算撑得住,做了快班的班长。快班的学习和普通班截然不同,也就是常说的小灶班。我们一个学期用于课本学习的时间大概也就是 1/3 的时间。而 2/3 的时间用于练习口语,读英文报纸,以及外教交流。那个时候普通班的学生是抱着书本肯,我们是抱着一摞报纸到处跑我在学校英语的名气似乎比计算机的大的多,因为好像别的系的同学只要是关注过书本外的英语的都知道实验学院有个叫曾毅的。我英语的学习曾经有过一段极好的时期,那段时期大概是我做学院英语角主持时,第一次上台是我
44、自己都不知道自己再说什么,说完了头都不敢抬起来,怕同学们笑话我,但没想到的是我低下头不好意思使他们居然以为我在鞠躬以结束我的讲话,给予了我大概长达2 分钟的掌声。最让我感动不过的是老师们的鼓励,有一个英语组的老师说曾毅的英语水平可以去当老师了,如果教口语应当会比我们当中的任何一个都出色,可能老师是和我开玩笑,但是我真的记住了这句话,并在不断努力着。后来没想到在一个英语学友的引荐下真地有机会到首都师范大学英语培训中心平谷学校去教授新概念课程,赢得了学员的一致好评英语的学习窍门在于很好的去应用,说(Blurt it out!)。正如你学习汉语的过程,即使你不坐在教室中逐字逐句的学习汉语,凭借小时候
45、家长耳濡目染的教导和小朋友们之间的交流你也能够将汉语掌握的很好。作为另一种语言的英语皆通此理。英语学习还要讲求一个实际的方法,经过长期的学习,你会发现其实李阳疯狂英语并非没有问题。他提倡“大喊英语,三最方法”,但是试想,你在学汉语的时候是对着墙大喊喊出来的么?肯定不是,而是通过和家长,朋友的交流学会的。所以最有效的方式是找一个水平比你高的人一同练习。另外还要注意的问题就是你不能仅仅的学习语言,更要学习美国人,英国人的思想。思想是语言的灵魂。他们的语言逻辑于我们的表达有区别,而这些区别正是Chinglish(Chinese English)和 English 的本质区别。 Using Ameri
46、can Thinking 即是。通过艰苦的学习和实践,最终在年的时间内完成了大学英语四、六级,四、六级英语口试的考试并在口试考试中取得了优秀的成绩。也曾写过一些针对考试方面的文章,以后慢慢整理到我的个人网站上以供参考。如果说对于英语考试,首先我不认为它能够反映你的真实英语水平,包括口语考试在内,即使是口语考试,通过机械的记忆和猜题同样能够取得好成绩,最关键的还是提高英语能力。有一句名言叫做“English cannot be studied, but can be learned.”意思就是说学习英语不是机械的记忆而在全方位的学习,实践与领悟。我推荐的教材和方法有:李阳疯狂英语、王强口语(新东
47、方著名的口语教师王强先生编著),以及钟道隆逆向英语。后记本部分中值得参考的主要集中在对专业课程的建议和英语的学习上。路是自己走的,这里记录下我的路,希望能给你点亮远方的灯。下篇文章我将集中谈一下关于我创建计算机科学技术研究组织和 etBSD 中文用户组以及专业实践上的更多体会。昨天,我的大学学习3相信你自己,你能行大学三年级经由前面两篇文章的介绍,我认为已经将学习的方法介绍清楚了。由于是回忆录,便没有必要完整的去论述整个的计算机学科。这方面可以参考我前面提到的“计算机科学的内涵和外延”,关于理论计算科学还可以参考我的另外一篇文章“计算机科学数学理论浅谈”。在这篇文章中,除了一些理论和技术学习之
48、外,我将着重谈谈技术之外的东西。谈谈如何去用自己学到的知识帮助别人进步三年级的学习进入大学三年级的学习,基本上专业基础课程就结束了,大量的专业课程和专业选修课程成为了学习的重点。其中包括,Java 程序设计语言、计算机原理与汇编、电子商务、计算机网络、模式识别、大规模可编程逻辑与数字系统设计、微型计算机接口技术等课程。模式识别这一学科可谓是计算理论的应用经典,其中不乏深奥的数学推导,主要用到的数学理论是概率论与数理统计。这个学科是计算机工程应用方向非常重要的分支之一,人脸识别技术,球体轨迹问题等经典的应用都以模式识别为理论基础。我的老师北京工业大学孙亮教授经常这样戏称模式识别:“何谓模式识别?
49、就是帅哥美女论!帅哥有帅哥的特征,美女有美女的特色,两者的分立点便是模式的不同。关于计算机原理与汇编、微机接口等课程我也要澄清一下一个观点。每一个人(包括非计算机专业),掌握诸如简单的程序设计理论的计算机技术都比较容易,但计算机专业的优势是:我们掌握许多其他专业并不“深究”的东西,计算机原理、体系结构、接口技术等便是。而作为研究计算机科学的人,不能够深入的理解计算机系统结构,在今后的发展中也必将受制约。关于课余活动与实践如何去更好的帮助别人在正常的课程学习之外,大学三年级作的比较有意义的事情要算是参加了微软创新杯比赛和组建计算机科学技术研究组织了。微软创新杯是微软公司举行的全球性程序设计大赛,每年全国都有几百只队伍参加比赛。今年我也凑了个热闹去参加比赛,收获颇丰。首先我们选择的是基于.NET 技术的支持二次开发的网上交易平台,但是由于非典的原因,我们的项目最后只剩下两个人实际操作。而且项目时间非常紧迫,从我们排除万难准备仍然参加比赛之日开始,到项目提交,仅仅 8 天的时间。而前期我们的主要任务是分别