给想上MIT的牛学生说几句

【来信】

老师您好!

  非常冒昧的来打搅您,仅仅是在学习上实在有些困惑才来向您求教一番。
  我是计算机科学与技术的大一学生,我非常喜欢我自己的专业,可是学校里讲的东西太慢,太浅,所以我一般都是自学,我在自学的时候最大的问题不是学习本身的问题,而是方向的问题,我学的东西非常杂,在这大半段的大一生活里,我学了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沟通。有这种目标,提前了解情,并依照这个方向前进,这是该做的事。

  羡慕你的状态,相信你会有更激情的学习。

==================== 迂者 贺利坚 CSDN博客专栏=================
|== IT学子成长指导专栏 专栏文章的分类文件夹(不定期更新) ==|
|== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
|== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====

时间: 2024-10-19 20:18:01

给想上MIT的牛学生说几句的相关文章

nodejs+phantomjs+七牛 实现截屏操作并上传七牛存储

近来研究了下phantomjs,只是初涉,还谈不上深入研究,首先介绍下什么是phantomjs. 官网上的介绍是:”PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.”翻译过来就是:”PhantomJS

最近想上游戏,弄了个工作室,名"柑谷工作室"

最近想上游戏,弄了个工作室,名"柑谷工作室",名字取得有点随便,原因是好名字都让狗用了.想当年我用的龙纹工作室,现在龙纹两字也被人用了.人家有硅谷,然后我弄个柑谷,差不多吧.算了,不纠结名字了,反正又不注公司,有个东西意思意思先了. 话说,上手游真TM麻烦,国内的开放平台的支付接口都是给企业用的,给个人开发者用的支付接口我是找不到.名字响亮点的平台,像百度,腾讯,360上手游全都要著作权,虽说著作权是保护开发都,但著作权申请也太恶心了,问了两个代理办著作权的,正常流程要一个月才申请得下

有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完?

有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完? 相关问题: (1)有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完?例如:总共3级台阶,可以先迈1级再迈2级,或者先迈2级再迈1级,或者迈3次1级总共3中方式. (2)有一段楼梯有10级台阶,规定每一步只能跨一级或两级,要登上第10级台阶有几种不同的走法? (3)一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来.如果所有兔子都不死

2014年,你在键盘上敲的最多的词或句是啥?

博主表示2014年基本每天都在电脑前边度过,今天突然想起这么一个梗“2014年,你在键盘上敲的最多的词或句是啥?”      仔细想想,居然是 #include<iostream> using mamespace std; 想想也是,以后干啥都得用代码,所以还得好好写代码,软件报国! 虽然写代码的时间不是很长,也就勉强一年,而且都是杂七乱八的写,从对电脑语言神马都不懂,自从接触了c语言,后来陆续接触到单片机c语言,zigbee,汇编,arduino语言之类的..都是懂一点但不精通,哎,还是自己

想在IT行业牛起来,你该怎么做?

各位朋友大家好!乐乐快跑又来了,这次想跟大家聊聊怎么在IT行业混的好起来,为什么会有这个想法呢?是因为现在的工作让我感觉到自己能力太欠佳了,在自己不断的学习中,又陷入了学习迷茫的状态,就是不知道自己该学习什么,该掌握什么?   不过有幸的是,看到一个大牛写的一篇文章他对行业的看法与总结,我看完之后顿时有自己的想法,结合自己一路走来的经历与大家分享个人对IT行业.学习.工作的看法,希望能帮助更多的人. IT技术方向划分:    看了大牛的文章我稍微修改了下,首先说明下我是站在运维的角度的看待问题,

[软件人生]写给想做研究的朋友和还没毕业的学生的几句话

非常久没有给初入行和刚毕业的学生以及没毕业的学生写过什么了. 记得上次写东西,是由于新手的问题http://blog.csdn.net/qingrun/article/details/1458530.算来,已经八年多了.去年在csdn高校俱乐部给几个北京的大学的孩子们讲了点东西.今天,我想谈谈人生和社会的初步规律.以下是一段对话文字,当中关联到近期几个月非常火热的那位厦门大学女博士,以及她抄袭我博文一事,也谈到了正直与虚伪: 顺天 10:08:38 群主大大,谢灵看起来非常正直啊顺天 10:08

史上编程最牛逼的9位程序员,你心中的No.1是谁?

今天为大家介绍的这九位是对整个编程史影响甚远的程序员,他们每一个都在编程史上留下了自己的痕迹,他们要么是一些技术大神,要么是编程语言创始人,那么在编辑名人堂里,最厉害最牛掰的程序员会是谁呢? 1.丹尼斯·里奇:DENNIS RITCHIE 丹尼斯·里奇被誉为"C语言之父",他在生前与贝尔实验室的合作伙伴肯·汤普森(Ken Thompson)一起利用这种编程语言开发出了 Unix 操作系统.在互联网上,几乎所有东西都会使用C语言和Unix操作系统,但C语言之父的离世却很少有人缅怀.201

每周汇总(第一周)——Git上传时,忽略多个不想上传的文件

现在用webpack打包的文件原来越多,项目会生成很多的临时文件,由于托管代码像依赖包之类的是不用上传的,所以想指定上传的文件目录就可以通过.gitignore来配置 在通过git init的时候,就会生成.gitignore文件,可以如下配置: #过滤.mdb..sln等数据库文件.sln解决方案文件.配置文件 *.mdb *.ldb *.sln *.config #过滤文件夹Debug,Release,obj以及包含的文件 Debug/ Release/ obj/ 如果项目中已经有了不该有的

android上引入七牛 上传图片或者文件 最终整理版本(可用)

1:导入相关的包(注意是4个哦) compile files('libs/android-async-http-1.4.9.jar')compile files('libs/qiniu-android-sdk-7.0.9.jar')compile files('libs/happy-dns-0.2.4.jar')compile files('libs/httpclient-4.3.6.jar') 2:看下面代码 调用方法即可. package cn.haodehaode.utils; impor