【来信】
老师您好!
非常冒昧的来打搅您,仅仅是在学习上实在有些困惑才来向您求教一番。
我是计算机科学与技术的大一学生,我非常喜欢我自己的专业,可是学校里讲的东西太慢,太浅,所以我一般都是自学,我在自学的时候最大的问题不是学习本身的问题,而是方向的问题,我学的东西非常杂,在这大半段的大一生活里,我学了C,一些win32编程,另一些简单的socket编程,还学了一些C通过ODBC操作数据库。如今我正在学数据结构和算法,我打算未来的一段时间里一门心思搞数据结构和算法,可是我不知道在学习数据结构的过程中,是否有必要用C语言去实现所有的算法和结构,我如今学到了二叉树,前面的那些我所实用代码实现了。我经常有疑惑,这些结构在c++那些更加抽象的语言中都帮你写好库函数了,我在读《C陷阱与缺陷》的时候作者说要学会用c++的库函数,那我如今还有必要去用c实现那些结构吗?
第二个问题就是学习方向的问题,我不太清楚要学哪些东西,我想考MIT的研究生,真的非常想。我该怎么去努力呢??从我上大学到如今大一快结束了,我读了《C和指针》,《C专家编程》,《C陷阱与缺陷》,《C primer plus》还有如今在读的《数据结构与算法分析》,我想问问我还须要读哪些书能让我步入精英的行列?我读完的那些书是从头到尾读完的,里面留的问题我也一个一个实现了。
第三个问题,数学要学到什么程度,我的高数是和数学专业一起学的,我把高数课退了,学了微积分和多元微积分,可是我的线性代数学的是工科的,没有去学高等代数,离散数学我认为学校教的太简单,自己买了本《离散数学及其应用》眼下学了大概1/4左右,我的数学成绩还算不错,学校里的考试一般在90分到100分左右,这学期我报名參加了全国大学生数学竞赛,如今正在准备中,我想问问我想考MIT的话,数学要学的有多好才够。ps:我们学校没有到MIT的项目,仅仅有牛津剑桥的。我想考MIT预计仅仅能靠自己。
希望老师能为我指点一个方向,感激不尽~~~~~
打搅之处还望海涵!!!
【回复】
说实话,给你说几句,我也有压力了。你的学习,从你所讲的盾,非常强大了。我花非常多时间做“雪中送炭”了,面对的尽是学不下去之类的话题,自己的专业水平也不见涨,对“锦上添花”常感无力。只是,能说得上的,就谈谈我的看法,供參考。
你正在大一,其它事情还远着呢,所以,合适这种放开来学。C++库函数是已经有了,你须要学会用,可是,用C语言实现这些结构,作为学习过程,全然有必要去做。我甚至对如你一般有强大学习力的同学就提过建议,建一个自己的算法库。我们看重的是这个学习过程。想想在高中时,几世纪曾经就有人做过的物理实验为什么还要学生反复,由于这是学习过程中的环节。有了这种学习,你将不一样,比如做游戏开发,有些人会用引擎开发,有些人是做引擎的,形成了行业中不同的层次。
第二个问题,技术类的书,像你这样强的人,能够尝试着将最经典的《计算机程序设计艺术》读下去,另外你读的书中,缺少计算机组成和体系结构的书,我知道的好书有《深入理解计算机系统》。注意将计算机系统看成一个总体去学习,在大学阶段,不要将软件、硬件分得那么清。想在行业中做得更深远一些,你读的书不应该限于专业和技术。和专业、行业相关的,举我看过的,有《信息简史》、《浪潮之巅》、《数学之美》、《逻辑的引擎》等,你应该读很多其它的此类的书。而作为了解社会、了解人(别人和自己)的书,应该是能读书的你该须要关注的。
第三个数学的问题,你不满足于考试是对的,拿出你最大的能量和灵活去应对,数学竞赛是能够利用好的一个载体。要学多好,我想半天也不知道该怎么说,大概我没有学那么好过,以至于都想不到“好”会是一个什么样子。自己把握吧,相关的科目,知其然,知其发展过程,知其所以然,学会当中的思维方式,有能力去发展理论,须要用时,立马能拿出来用。毕竟大学的目标不仅仅是专业好,专业能力强也不仅仅是数学好,尽力即可。
我将考MIT的事放最后,这也是我解答不了的事。于政策、流程、标准,一概没有感觉。一般而言,国外好大学,要看你的绩点,看你本科阶段做过的工作(专业研究的,以及服务社会的,等等)。了解的途径,看一些留学信息,以及直接去看MIT的官网,甚至和招生主管Email沟通。有这种目标,提前了解情,并依照这个方向前进,这是该做的事。
羡慕你的状态,相信你会有更激情的学习。