`
阿尔萨斯
  • 浏览: 4108380 次
社区版块
存档分类
最新评论

大学时代影响我的人生的10件大事-前辈的经验

 
阅读更多
在大学里我对人生有了新的认识,也想清楚了很多问题.大一时候曾经迷茫,大二也曾经郁闷,"郁闷"似乎是现在大学生的口头禅.今天,这些感觉正随着时间慢慢褪去.我觉得这是很正常的.

关于排名第一的那件事情,现在的想法还不系统,而思考也随着学习和生活还在继续,无法完全展开了.以后再细说吧.

1.对人生和逆境的思索
2.放弃计算所,报考中国科大
3.不问别人在干什么,独立学习
4.学习数理逻辑
5.学习数学分析和高等代数
6.从技术到科学
7.两次参加数学建模比赛
8.阅读 <>
9.用实践的方法对待计算机科学
10.学习并且掌握了VisualC++6.0


1.对人生和逆境的思索

这个话题很大.大学4年让我想清楚了很多问题,无奈,现在思路还没有彻底理清楚.很多结也没有完全解开.所以就不能细细展开了.我想以后总有一天我会再详 细谈谈自己的看法.今天,我只能这么说:感谢上天让我经历的挫折和逆境.如果没有这些经历,今天的我也许就是另一个样子了.

2.放弃计算所,报考中国科大

去年9,10月份,我曾经一度在报考学校上陷入了迷茫.我是一个讲求平衡的人,总觉得高考的结局差了一步,那么现在努力了,一定要弥补回来.中国科学院计 算技术研究所,这个研制了新中国第一台电子计算机,第一个通用中央处理器,第一个大型超级服务器的高级科研机构,无疑是无数计算机专业的学子向往的地方, 相比之下,中国科大计算机系则显然在名气上落后.按照现在学生一贯对学校评判的态度,名次越靠前,名气越大的学校,自然越好.暂且承认这个观点近似正确, 但是,下一个推论却有了问题:"如果成绩允许,这样的学校就越值得考".

坦率的说,当时我在考虑选择哪所学校时并不因为成绩担心过.我考虑的问题就在于:是不是学校牌子越大,名气越大,越"牛",那么就越值得考呢?我觉得不是 这样的.想想小学,高中,大学,"考名牌"这种想法真的是与生俱来的吗?小学考初中时,妈妈一定要我好好学习,考上当时我们区的重点初中的重点班,如果她 不对我说,你考上那里我就带你去某某地方旅游,给你买某某东西,你考上那里就给妈妈争了一口气,就能和很多"好孩子"在一起玩,(暂且不说好孩子的评价标 准),我不觉得所谓的重点班对我究竟有多大的吸引力,也没有觉得上好高中,好大学究竟能如何如何,我所希望的只是让爸爸妈妈满意,让他们高兴;而初中升高 中,则不是妈妈对我说了,而是老师一直灌输的观点:"我们班的同学都是精英,大家都要考上合肥一中,考不上的都是最差的".当时考试时挺怕自己考不上,但 是,不是怕考不上好学校对自己的前途影响多大,而是怕被同学,家长看不起,怕令爸爸妈妈伤心.

考名校是成才的必要条件,这个观点早已被很多教育家批评,而所谓"成才"的定义,官方的说法与世俗的看法也相差甚远.可以说,今天中国学生塑造起来的这种 "考名校"的态度,这种竞争,是从小被外界左右的一种被动态度.他们并不知道为什么要上好高中,好大学,但是他们知道,差生是被批评,被鄙视的,是坏孩 子,而考不上好学校的就是差生.他们的家长也以此作为评价孩子的标准,考不好就打骂批评,丧失信心,考好了,就可以炫耀于人前,满足了他们的虚荣心.逐渐 地,再远一些,考上了所谓的热门专业,以后可能会有高工资,这也成为了炫耀的资本;在学生身上,这种虚荣心也在逐渐建立.在名牌大学学习,非名牌不上,持 这种观点的人,有相当一部分都在被这种虚荣心左右.

我不觉得这种无目的地,或者是为了满足虚荣心作出的选择有什么意义,因为一种人生观的扭曲,迟早会带给人迷茫.我的很多高中同学上了名校,却陷入迷茫,当 然,他们的迷茫也促使我重新审视我自己:我没有上名校,那么我的精神状态与他们有什么不同呢?这种不同产生的原因又是什么呢?

在去年9,10月份时,我一直困扰与这个问题,因为我又面临选择.我作出了选择,我就希望知道我为什么要选它,而且原因是不是足够充分.我绝对不愿意为了一个世俗的虚荣而选择,因为如果那样,我迟早还会迷茫.

相比我的很多在名校学习的同学,我的大学生活是很愉快的.我学到了我想学的东西,而且还在大多数情况下毫无压力.可以说是一个非常宽松自由的环境.在 USTC的学习更是如此.我第一次感到不为考试学习,不为分数学习的乐趣.那是怎样的一种愉悦啊!也许这样,确实绕开了现形教育制度的很多弊端.虽然我的 学校不好,可是我并没有觉得这有什么.因为我觉得这种没有压力,自由单纯的环境很适合我.

因此,我觉得,究竟应该选择什么样的学校,或者大一点说,选择什么样的生涯,一定不能被某种虚荣心左右.要看看那种虚荣心是否值得自己为了这种虚荣心而作 出牺牲.如果两者能统一起来最好,一旦发生冲突,则一定不能被虚荣心左右了自己.要找到适合自己发展的地方,适合发挥自己潜力的地方,这才是属于自己的学 校,属于自己的生涯.

今天,同学聚会时来了很多同学,有一些是以前被班主任定义为"差生"的同学,我觉得他们上了一所不知名的学校其实是一件好事.他们的心理得到了健康的发展,得到了尊重,潜力也可以发挥.

3.不问别人在干什么,独立学习
今天,虽然中国的计算机教育与西方还有较大差距,但是,已经有很多名校开始采取了西方的教育模式,即不仅注重新技术的渗透,而且注重理论与实际的结合.北 大,清华,中科大,都是在这方面做得很好的.可是,大部分学校都不可能完全这样做,因为无论是学生还是教师都不具备这种素质,结果是老师教不好就不教,而 学生因为条件所限,也就不可能学到这些.如果消息相对闭塞,往往如同井底之蛙,远远落后于别人自己还不知道.这是很可悲的.

所幸的是我不希望成为这样的人.我并不觉得自己究竟取得了多大的成绩,但是首先我承认自己看到了差距,并且尽自己的力量减小这种差距.现在这种差距仍然有 很大,可是,我会继续努力.这一切都要从大一下学期开始.离我们学校不远就有一所中国著名的大学:中国科学技术大学.骑车大约半个小时就可以到.

不在自己学校学习,而到另一所学校学习,这似乎是很不安分的想法.但是,在国外这种情况完全是司空见惯的.经常有人看到Havard里面有MIT的实验 室,而Cambridge的教授在Oxford上课.即使在我国,也慢慢开始教学资源共享.可是,由于中国几千年封建统治,封而治之的观念根深蒂固.可 是,为了学到我想学的东西,不迈出这一步,就可能什么也做不了了.

迈出这一步是不容易的.周一早上,大家都背着书包去教学楼了,可是我却骑着车子出了校门.而在另一所学校,USTCer高人一等的态度则无形中加大了我的 压力.非常幸运的是,我得到了高中几位好友的帮助.他们给了我很大的鼓励,让我慢慢习惯这种学习方式.而中科大教授们那种对科学的一丝不苟,严谨认真的态 度和精彩的教学则让我欲罢不能.之后我特别盼望可以听到他们的讲课.于是学习的东西就越来越多,以致于修了计算机系,数学系的大部分课程.这期间不仅打下 了坚实的专业课基础,而且中科大一向注重数理基础的特点也为我打下了很好的数学基础,不仅如此,也慢慢开始和国际接轨,看到了很多新的东西,听到了许多世 界知名教授的报告,也了解了很多当前热门的研究方向.

这样做的后果是在学校我成了一个另类.大家在教室看不到我,由于白天从外面回来直接就去了教室,往往是早上出去晚上睡觉时才回来.而大三以后,我搬回家住 了,以至于他们一学期都没有见到我几面.老师点名N多次不到,恐怕早被老师恨出了个洞了.这一切阻力在大三下学期达到高潮:我的期末考试以计算机网络和数 据库技术两门红灯收场.事实说明这两门红灯对我来说是毫无意义的.这似乎更是对我们学校教育体制的一种讽刺.唯一的好处是在准备下学期复试时,我有老师可 以随时问问题了,还可以增进师生感情.

我们专业很多人知道了我的这种行径,他们虽然很羡慕我学到了很多他们不了解的东西,可是却一直没有人也上这条贼船.虽然我今天已经非常习惯于这种学习方式了,但是我在他们身上看到,人的惰性如果一旦放纵,一旦安于现状,那会耽误多大的事情.

这里还要指出一点:不要功利的认为这种行为只是为了考研.很多人为了考研到外校听几门专业课,这是毫无意义的.没有从一开始就打下扎实的基础和系统的体系 结构,这种听课不可能有深刻的理解,而且很容易造成一知半解的结果.不要迷信自学.也许对死记硬背地东西还勉强有效,但是科学:如果人人都能自学去领悟 它,那么老师不是早就失业了吗?

4.学习数理逻辑

学习数理逻辑在我逐步清晰的认识计算机科学本质的关键时刻起了助推的作用.这种推力是巨大的,也是决定性的.学习了数理逻辑,我对自己的追求再也无怨无悔.

数理逻辑的思想非常深刻,直至今日我也没有悟出其中很多道理,而相信我的一生也不可能搞清楚其中的一小部分问题.很多问题我在近期阅读 < <逻辑哲学>>时候还在逐步理清之中,尽管这样,却还是很简单的一部分.但是,随着数理逻辑的学习,我的思维日益趋向于演绎的和理性 的.一种自觉逻辑在不时的影响我的思维,极大的提高了我得逻辑分析能力.在日常生活中,我很轻易的看到别人谈话的漏洞,而自己做的论证也能够刻意的加以严 密化,这种思维方式的形成,数理逻辑起了非常大的作用.

在学习数理逻辑时,我见到了陈教授.他的学术水平很高.数学系本科的背景使得他的讲授不仅具有数学本身的严密,又带有计算机科学家的灵活和直觉.因为 他的教学,我成功的建立起了数理逻辑的理论体系,而且熟悉了里面很多繁复的证明,而Gödel的不完备性定理则带给我震撼和崇拜.他同时又非常善于启发大 家独立思考问题,尽可能的让大家了解到数理逻辑的思想内涵,而不仅限于了解形式系统本身.如果没有他的指点和讲授,我是不可能逐步开始思考一些深入的问 题.他当年讲课时提出的很多思考题,今天拿出来重新审视,仍然意犹未尽.他的讲课同时告诉了我们许多作研究的方法,同时流露出了献身科学的气概,令人敬 仰.

陈教授同时也是人工智能专家.人工智能与逻辑有着天然的联系.逻辑在某种程度上说是对人思维的建模,将之使用计算机程序设计语言实现,也就是在模拟人 的思维.由于学习数理逻辑到了狂热的地步,大二下学期我花了一个月的时间就读完了NilsNillson的 <>.可谓大开眼界.从此,我再也没能减少对人工智能,对逻辑学的痴迷.去年报考研究生,我毫不犹豫地选择了多Agent系统作为研究方向. 并且希望以后能够一直从事这方面的研究.

我觉得,不严格的说,逻辑学是沟通哲学与数学的桥梁.向左迈一步,就是哲学,向右迈一步,就是数学.哲学和数学都是思维无比深刻的学科,对它们中任何一个 领域的研究都会耗费毕生的精力.逻辑学也具有深刻的思想内涵,但是,更重要的是,数理逻辑让我慢慢看到了科学的魅力,科学的伟大.我就像刚刚迈上科学大厦 阶梯的孩子,在慢慢推开富丽堂皇而又坚实厚重的大门.一缕缕金光向我射来,每向前迈出一小步,都会有巨大的惊喜.那么,还有什么能阻止我去畅游科学的大海 呢?

5.学习数学分析和高等代数

自从慢慢的认识计算机科学,发现它与数学的联系之后(虽然这种发现对于很多过来人而言是再显然不过的),深入学习数学就成为了我的当务之急.对于数学系学 生而言,数学分析和高等代数是最基础不过的课程,也是体现了丰富的数学思想的课程.而这两门课我将毫无疑问首先下手.

其实这个过程并不是完全顺着来的.真正开始学习数学分析是大三上学期,而学习高等代数是大三下学期.因为大二课程很紧,不可能有时间学习这些"非计算机专 业"的东西.大三的课程也很紧,但是不学实在是不行了的.那时候的学习任务就非常繁重.现在想来,当然觉得累一点,苦一点也值啊!

我感到非常幸运的是,我有幸聆听到了史济怀教授的数学分析和李尚志教授的线性代数.他们两位都是国内外声誉极高的数学家.史教授的研究领域是多复变几何函 数论,给数学系讲授数学分析已经有30多年了,他的讲课特点是严谨稳重.他介绍的书中所有的定义不仅有精确的数学表达,而且易于理解.不仅如此,完全脱稿 讲课是他独有的绝活:3个学期,两百多个学时,他在讲课的全过程,包括证明分析中的定理时,却从来不翻教材和讲义,一切了然于心,这种熟练令所有同学目瞪 口呆.他的讲课很注重教学方法,不仅有课本的具体知识,而且注重数学思维的渗透,数学抽象的表达,这让我慢慢地看到了处理数学问题的许多方法.因此,他在 证明多元函数微分学中著名的"隐映射定理"时,两节课8个黑板的证明如行云流水,思路异常清晰,完全没有冗长乏味之感,听了他的证明,很有点想自己证证的 冲动,似乎数学在他的眼里就是一种直观思维的形式描述.也正是他的这种讲课,让我慢慢地略有所悟:数学与直观之间真的有某种微妙的联系吗?这个疑问后来在 数理逻辑中得到了正式的回答.而经过这段对分析的学习,分析学的整个思想体系已经在我头脑中完整的建立起来了.它里面体现的思想和方法也是整个数学体系的 一个缩影.

李教授是代数方面的专家,也是全国教学名师.他的线性代数,数学试验都被评为全国精品课程.他的讲课风趣幽默,复杂抽象的概念和理论经过他的描述,似乎成 了显然的东西.代数思想一点也不亚于分析,而线性代数作为抽象代数理论的一种具体化表述,使我在学习的过程中能够与抽象代数进行对比,发掘出形式化研究的 一些方法和思路.很可惜的是由于时间的原因,高等代数我只学了一半,最深刻的理论"若当标准型"都没能学到.不过,以后我在读研时候一定要补上这一课.

通过对数学分析和高等代数的学习,我的数学思维得到了培养和训练,逻辑日益清晰,思路也慢慢变得严密.为我学习数理逻辑,逐步领悟科学打下了坚实的基础.我知道,大部分人都没有运气同时听到他们两位的亲自授课,而我为自己能亲耳聆听而感到无比荣幸!

6.从技术到科学

真正考虑什么是计算机科学是经历了一个过程的.大一刚入校时的想法很幼稚,以为计算机专业的学生理所当然的要成为程序员.在很多网站和论坛上,程序员似乎 也被捧得很厉害,懂了VC++6.0可以炫耀一下,懂了Java,强人,会用EJB,更强,熟练掌握J2EE,.NET,Oracle9i,通过 MCSE,SCJP,哇塞~超级大牛.我在这种漩涡中也起哄了很长时间.大一买来了那本 <>,慢慢学会了设计Win32程序,开始向网络方面发展,打算作网络编程.有一天上学校的BBS上请教,第一次认识了Cauchy.他的建 议是学习Java.当时比较经典的Java教材是O'Reilly出版的一套书,光入门书籍 <>就要72元.狠个心买了下来,狂学一暑假,算是会用了.之后有开始看JSP,XML,EJB, ServeletProgramming,一本接一本,J2EE的核心技术都差不错粗通了.做程序员的感觉真好!我那时这么想.

可是,问题很快就出现了.学校学习的离散数学是干啥用的?为什么学校不能开一点介绍VC++,J2EE,.NET的课程?而我看得那些书,最后越来越觉得 乏味.厚厚的一本书几乎就是命令大全.一个个冗长的函数调用,机械的设计过程不仅索然无味,而且几天之后又忘得一干二净.到底什么是计算机科学与技术专业 学生要掌握的?计算机科学与技术专业毕业生究竟做什么呢?我一度陷入迷茫.

阅读Papadimitriou的 <>,算是第一次接触到理论计算机科学.形式语言,自动机理论,图灵机模型,NP完全问题,这些对我来说虽然陌生,却趣味无穷.那是大二上学 期.之后,于Cauchy的几次交谈令我受益匪浅.他是学计算数学的,数学和计算机都很牛.他在和我谈话中,多次谈到,理解一种思想的重要性.我们学习的 课程并不是每个都有丰富的思想,而那些有其思想内涵的东西是特别需要重视和加以思索的东西.多思考,抓住每门课程特有的思想,是学习科学的基本方法.

随着离散数学学习的逐步深入和Cauchy的开导,我慢慢的发现了许多以前不曾注意的东西.近世代数的抽象是优雅而简洁,但是却在非常高的层次上对代数系 统作出了让人赞叹的抽象;数理逻辑则以思想深邃著称.我慢慢地看到了形式逻辑与数学的关系,以致后来慢慢描绘出了科学的体系;图论则是非常具体的问题,但 是它的算法和证明确处处闪烁着天才的构思.这是从事图及其他算法研究的常用手段.且不论我们学习这些东西就是算什么,但是,这些知识确实有着比VC++, J2EE更令我着迷的奇思妙想.

随着学习的深入和各个专业知识的展开,我终于明白了现代计算机科学的体系.这些数学理论,电路理论就是现代计算机科学的基石,也慢慢学会了离散思维的方法 和抽象.一副令人惬意的图画在我的脑海中慢慢浮现:19世界末20世纪处逻辑Frege发明的形式逻辑系统掀起了对数学形式化的热潮,在Hilbert的 号召下全世界的数学家都参与到对数学系统的形式化和证明过程中.虽然这种梦想在初等数论形式系统中就失败了,却客观上促使人们重新展开计算,可计算性,可 判定性的研究.AllanTuring的图灵机模型应运而生.而现代微电子技术使计算机由数学抽象成为了现实.

我终于体会到了为什么很多人说:"学计算机一定要数学好,计算机与数学密切相连".计算机根本上是数学的和哲学的."计算机科学是数学和哲学的女儿".从 此,我不再迷茫.科学的魅力深深吸引了我,探索计算机科学成为了我人生的坐标,也影响了我整个大学的知识结构.这种影响还会继续.认识也会逐步深入.

在这里我要特别感谢Cauchy,我的好友!谢谢你的启发和开导!



7.两次参加数学建模比赛

2003年9月,我和Sunny,Cherry参加了全国大学生数学建模比赛,Thunder是我们的教练,之后于2004年2月,我们又参加了全美大学生数学建模比赛.这两次比赛,我们分别获得了一等奖和二等奖,可以说成绩还算不错.但是,它的意义并不仅仅在此.

数学建模比赛注重的是过程,而不是结果.这个过程是一个科学研究过程的缩影.我们从拿到一道题目,分析问题,提出若干个切入点,考虑要使用的数学或者其他 知识,之后,大家开始在各大搜索引擎和检索引擎上检索这些领域的论文(其中不乏英文论文),分头阅读,相互讨论.通常对于一个给定的问题,或多或少都有一 些与之相关的论文,而我们就在此基础上,结合其他的方法和思想加以改进,提出新的方法,并且加以评价.在整个过程中,要使用数学手段和计算机完成数据处 理,曲线拟合和数值分析,统计归类,甚至编制计算机程序完成反覆地计算.这些都是在科学研究中非常普遍的方法.建模的最后一步是完成论文.这个论文虽然不 是严格意义上的学术论文,但是架势却一点也不亚于它.包括目录,摘要,问题阐述,模型假设,概要分析,详细建模,模型验证,有缺点讨论,参考文献,一项也 不能少.我们全国赛的论文接近一万字,美国赛则有八千多词,都有三十多页,今天看来,在3天的时间完成似乎是不可想象的事情,可是我们真的完成了.在这个 过程中,我们也学会了怎样撰写论文.

而在另一个侧面,数学建模比赛的意义则更为深远.它教会了我们怎样处理团队合作中遇到的各种问题.在建模比赛的3天里,分歧几乎是随时都有的,但是,一旦 大家闹了别扭,固执己见,无疑对比赛不利,怎样处理个人与集体的关系,怎样避免庸俗的小风头主意和个人主意,在这里似乎是说起来容易做起来难;另一个方 面,如果对于一个问题长期没有思路,大家都会焦躁,在一个高效的团队里,队员之间不会互相埋怨,互相指责,而是齐心协力,共度难关,同样,这些也是说起来 容易做起来难;最后一点,比赛的三天里,后面两天几乎是通宵不睡,白天接着干活,这对大家都是体力和毅力上的巨大的考验,忘我工作,大公无私,为他人着 想,在这里就是巨大的精神动力.这几点似乎从小学开始就天天挂在嘴上,可是,我真的在那两次比赛中才得到了深刻的体会,而我们三人也结下了深厚的友谊.

参加过数学建模的过来人说:"三天的比赛会让你终生难忘",我觉得一点也不夸张.

8.阅读 <>

大三上学期,我听了熊悦讲师的操作系统课.他是中国科大少年班毕业,后来读了博士,思维非常活跃,而他的课上,也首次使用了全英文教学,使用的课本就是美 国著名学者AbrahamSiberschatz的 <>.我大一时候就曾经尝试看英文教材,当时看的是Papadimitriou的 <>,无奈本身计算理论的内容就够艰深了,还用了英文看,显然困难重重.一直到大三上学期学习操作系统时, <>称为了我第一本从头至尾完整阅读了的英文教材,从此也就开始阅读了大量的英文经典教材.

看英文书,最直接的受益就是英语水平.外国人写书的风格是"娓娓而谈",以聊天一样的亲切口吻展开,把每一个英文句子翻译成中文理解是不现实的.所幸的是 我以前英文水平并不烂,而学OS时这本书由偏偏没有中文译本,老师的课件又完全按书上来(也是英文的),这就把我给逼上梁山,非看不可了.一个 Chapter一般有三十多页,而老师几乎是一次大课上完的,晚上就不得不在教室里,花上4个钟头把书仔细看一遍.开始看得特别慢,看了3,4页以后就没 办法集中精力了,可是,慢慢地,看书时候开始使用英文思维了,直接使用英文理解书中的内容而不是先翻译成汉语了,甚至笔记也开始使用英文作了.有一天,连 续看了2,3个小时没抬头,那种感觉特别奇妙,好像头脑里的东西都编程英语的了.我慢慢地感到什么叫做掌握一门语言了.可是,自从那时以后,室友开始对我 提意见了:"你怎么说梦话还用英语啊!"我感到很不好意思.

英语水平得到了巨大的飞跃,应该就是那个时候.我觉得自己正在慢慢地与这门外语开始了亲密接触.以至于后来做考研阅读,完型填空时,往往总是"蒙"对正确 答案.我没有办法清晰的解释清楚,只是觉得这个答案理所当然的应该选,其他答案理所当然的荒谬.确实,看懂一篇文章与理解一篇文章的差别是很大的,而怎样 准确的"理解",则要依靠长期培养出来的语感和英语思维.

这件事的另一个巨大影响是:从此以后,阅读英文教材就一发不可收拾.计算机科学方面的英文教材国内引进的非常多,很多是享有世界声誉的大科学家的经典之 作,写得相当精彩.在英语上障碍的扫除使得我可以进一步阅读这些教材,包括Andrew.S.Tanenbaum的 <>, <>,AbrahamSiberschatz的 <>, <>,AlfredAho的 <>,StuartRussell的 <>,这些书让我对计算机科学的专业知识有了深入系统的认识.

英语水平的提高对于我后来阅读很多英文论文起到了至关重要的作用,深刻感到学好英语的作用.没有扎实的英语水平,真的是寸步难行!

9.用实践的方法对待计算机科学

计算机科学是很注重实践的科学:但是,这并不因为这计算机科学专业的学生就理所当然是程序员.我并不是从一开始就认识到这个问题,但是,这种注重实践的态 度却非常有助于我掌握许多课程.大一的时候,我曾经在网上查到过MIT,Stanford,CMU等国际名校对计算机专业本科生的培养计划,真是大吃一 惊:他们在学习计算机原理时,要自己设计一台逻辑计算机,自己完成CPU设计,总线设计,存储器设计,I/O设计,甚至制作集成电路,几乎就是自己造一台 计算机;他们在学习编译原理时,要自己完成一种语言的完全编译器的开发,一直生成到目标代码;他们在学习操作系统时,要自己开发一个full- functionalOS,在学习计算机网络时,要编写程序实现某些协议.这个打击使我认识了一个问题:什么叫实践能力?不是攒机,不是做花哨的网页, 不是做吸引人的Windows程序,所谓实践能力是把理论运用到实际中的能力.今天我们所津津乐道的"实践能力",实际上是一批技术工人的能力.

似乎这是当代中国高等教育,尤其是计算机专业高等教育面临的重大危机.所幸的是我对此有了一点想法,并且特别注重培养自己.当然,这种培养只是相对大多数 人而言自己多做了一些事情.我在掌握了VC++之后,这一切就可以开始了.在学习数据结构时,我完成了从线性表到图的所有数据结构的定义和算法的实现,做 成了一个迷你型的TemplateLirary,虽然有一些Bug,设计上也未必灵活,但是确加深了我对DS的认识,提高了设计大型程序的能力;在学习 计算机组成原理时,我一丝不苟地设计微指令,编写微程序,和我的组员一切把一个有一千多个0,1数字的指令表通过数字开关打到ROM中,现在想起来也真是 后怕;在学习编译原理时,我阅读了PL/0解释器的源码,并且自己完成了C-解释器的设计和实现;学习操作系统时,则完成了部分对nachos操作系统的 完善工作,最重要的是阅读了MINIX的源码.操作系统是一门理论极难与实际联系的课程,许多人学完后对OS仍然认识模糊,所幸的是,这些努力使得我的认 识要比他们深刻一些.

这里要感谢我们专业对学生这种实践能力培养的重视.老师会布置大家完成大程序,大作业,只要你自己认真自觉的完成,实践能力就可以培养起来.但是,很多同学对此都不以为然,盲目追求考试成绩而忽略实践能力,实在是得不偿失.

10.学习并且掌握了VisualC++6.0

虽然很多人对Microsoft推行的东西总是带着一点不屑,我却在大一对计算机科学的认识还很模糊的时候学了它.直到现在,我周围的同学中,能熟练使用 VC++6.0的人并不多,这并非是因为大家对微软的东西的抵制,而是因为很多人学不好VC++6.0.事实上,完全掌握它并不是很容易的事情.

我学习VC++6.0也颇费周折.学校不开这门课,只教大家PASCAL语言,所以,只好自己自学.那时候了解很少,以为不学C,C++,直接看VC++ 也没问题,结果花了65元买了一本 < <实用VisualC++6.0教程>>,却看得一头雾水.慢慢才知道,VC++6.0不是一种语言,而是一个IDE.郁闷之余,只 好又从C,C++学起.几个月之后,C++已经用得比较熟练了,开始再看这本书,却还是一头雾水.因为使用MFC类库,AppWizard辅助编制的程序 完全不同于使用C编写的面向过程的程序,也不同于C++直接编写的面向对象程序,我对这种程序的机构完全摸不着头脑.一时间真是郁闷至极:难道65元就这 么白费了吗?(那时候以为65元一本的计算机书很贵了,后来才发现,这种价格实际上是很平庸的.)

一个偶然的机会,看到了机械工业出版社的 <>,随便翻翻,却发现它讲的内容与我原来那本 < <实用VisualC++6.0教程>>大不相同.它从WinAPI讲起,讲基本的消息队列和消息发射,讲窗口的定制和注册,我才首 次知道Win32程序与控制台程序的区别.现在虽然觉得这个"豁然开朗"简直幼稚得可笑,可自从学习了WinAPI编程,再进入MFC,就顺理成章,水到 渠成了.在以后开发中也逐渐学会了自己看MSDN文档,也再也不用花那么多钱买技术方面的书了.受此影响,在学习其他软件如Matlab, Mathematica时,也学会了直接利用帮助文档学习,真是省了不少银子.今天看到很多人围在图书城那些花花绿绿的书架边乐此不疲的时候,不免心生得 意.

VisualC++6.0的掌握,最重要的价值在于实现了许多程序员的一句话:"编程语言不用学太多,学一两个,能彻底掌握就好."学习了VC++之后 不久,我又看了一些J2EE方面的书,可是由于周围环境的影响,使用VC++较多.由于VC++使用很熟,许多课程设计都得以顺利完成,从而得到了大量的 编程训练,提高了系统分析设计,程序调试方面的能力和技巧.这些对于一个计算机专业的学生来说,是最基础不过的事情.但是我发现很多人这方面的基础都很不 扎实.

今天我使用VC++设计完成的Windows工程已经有二十多个,包括数据库课程设计完成的图书管理系统,操作系统课程设计完成的多线程调度演示系统,编 译原理课程设计完成的C-解释器,计算机网络课程设计完成的多人聊天室程序,以及人工智能课程设计完成的刺激-响应Agent,8字谜问题,人机五子棋博 弈程序等等.

结论:你可以抵制微软不学习VisualC++6.0,但是你必须熟练的掌握一门具有现代程序设计特点的编程语言.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics