| paradisor 的个人资料paradisor's paradise照片日志列表 | 帮助 |
|
|
2月1日 目前状态Applied: 29 Offer: 0 Admission: 0 Waiting list: 0 Inverview: 0 Rejection: 0
无套磁、无逃费、无逃分
除了等待,我还应该做些什么... 7月8日 这个暑假真的不要活了8月16号考的GRE作文
7月30号之前交的完整Compiler
跟着导师做的实验室项目(还不知道是什么)
EnglishTest板新任板三
还是老罗的话...合理安排时间吧...
5月22日 在图书馆背单词+随便翻看书的感觉太好了背完一个list,去书架上随便翻本书,MA/CS/AI的都好。
随便看看,不求甚解。
这种感觉真的很好。
可惜我为什么没有早发现...一年的时间啊...整个大二被我挥霍掉了... 4月14日 听了素拓部组织的一场出国讲座 前天的事了,当时去了6个人,都是EE的牛人,手握Princeton, Purdue, UMN等牛校的offer. 讲了两个多小时。是夜风雨交加,电院三号楼100号却座无虚席,wangbo和cwf去得晚了,只好站着听。
不过,很遗憾地,我发现他们讲的东西基本没有我不知道的。
其实仔细想想,我对出国的流程之类该了解的早就了解得差不多了,缺乏的,是行动、是面对现实的勇气。 突然很想出国了不想再在国内读硕士了,很想很想出去,很想很想出去。 可是,我该做些什么呢? 有幸见到了拿到MIT offer的牛CS学姐 今天去听一个大四对大三的经验介绍会,有幸见到了拿到MIT offer的CS系的学姐。 当时会上还有直研的工作的经验介绍,但是我基本没关心,重点就在仔细听这个报告了,心里一直在想一个问题,到底怎么样的人能去MIT?
结果比较出乎意料,她很清晰地介绍说,她的最大优势是精通英语(传说还有古英语) 、精通日语(好像是一级)。然后申请了CSAIL的speech方向,而CSAIL现在研究的语言就是中日英三种。加之很高的GPA(到底是多少没有讲)。然后Prof. Victor Zue直接就给她打电话了,说,“我们已经选择你了,for your language talent.”
当然,她有很多事没有明说,比如说,传闻她高中毕业就已经拿了Stanford的offer,然后因为签证被拒而来了交大。显然,她肯定也是很牛的。但是毕竟,她没有论文,没有套磁,在大三下学期的暑假才开始进实验室做research. 然后就拿到了MIT CSAIL的offer...有些事情,确实不那么容易说清楚,比如,我一开始提的那个问题。
听完她的介绍,感觉大学选人真的像是选gf,他们需要的不见得是那些看起来最完美的人,而是最适合自己的人,自己最需要的人。
得出这个结论之后,我悲哀地发现,我更不知道以后的路该如何走了。 1月26日 所有成绩都出来了,贴一下课程代码 课程名称 考试成绩 学分 绩点 绩点学分
CS105 基础实践 100.00 2.0 4.30 8.60 CS201 面向对象方法 82.00 3.0 3.30 9.90 EC005 微观经济学 91.00 2.0 4.00 8.00 EI006 数字逻辑 80.00 4.0 3.30 13.20 EI218 模拟电路 78.00 4.0 3.00 12.00 EN003 大学英语 75.00 4.0 3.00 12.00 MA031 概率论与统计 86.00 2.5 3.70 9.25 MA069 图论 88.00 3.0 3.70 11.10 PE003 体育 83.00 1.0 3.30 3.30 PH002 大学物理 82.00 4.0 3.30 13.20 PH007 大学物理实验 79.00 1.5 3.00 4.50 TH005 马政经原理 90.00 1.5 4.00 6.00 TH009 形势与政策 86.00 1.0 3.70 3.70 居然所有专业课都没能上90...sigh~
家里终于能上网了...
过年前抽不出多少时间来上网写东西了
过完年再说吧
11月20日 lowai对本学期和下学期课程的评价11月14日 ACM给出的Computer Science的教学计划我觉得所有Compute Science专业的人都应该看看这份课程安排建议
看看ACM定义的CS究竟是一个怎样的专业
不得不说我们班的课程开得太散了
下面是ACM认为的CS的主要知识体系
Discrete Structures (DS)
Programming Fundamentals (PF) Algorithms and Complexity (AL) Architecture and Organization (AR) Operating Systems (OS) Net-Centric Computing (NC) Programming Languages (PL) Human-Computer Interaction (HC) Graphics and Visual Computing (GV) Intelligent Systems (IS) Information Management (IM) Social and Professional Issues (SP) Software Engineering (SE) Computational Science and Numerical Methods (CN) 这是MIT的EECS的所有课程列表: http://student.mit.edu/catalog/m6a.html
大家可以对比着看看我们在学的课就应该知道我们学的课和ACM的要求,和MIT的水平有多大差距了
11月3日 今天又听了CMU的CS系主任的演讲 见到Prof. Wing时的确有些吃惊,这是一位高高的长发披肩的中年女教授,能看出来她年轻时应该是比较漂亮的。很难想象这就是名满天下的CMU的计算机系的主任,不过后来知道,她是MIT的EECS系的博士生(天哪...),chair of the National Academies of Sciences Computer Science and Telecommunications Board,更详细的介绍可以见(http://research.microsoft.com/asia/21stcomputing/hk_sp4.htm).
她给我们讲的是她在由微软举行的Computing in the 21st Century上的讲题: Predicatable Software.(这个讨论会是11月1日在杭州举行,刚才的介绍网站就来自这次会议的演讲者介绍,详情见http://research.microsoft.com/asia/21stComputing/hz.htm)。她的英语不像昨天的两个人,非常地道,感觉完全就是一个美国人,加上她夸张的手势和很西方的打扮(不知道大家有没有注意她的靴子和裤子),可以猜想她肯定是从小在美国长大的。她的讲题的中心就是软件的可靠性。她用医疗软件的例子来说明对于软件来讲"Good enough"是不够的,我们要求的是"Predictable",她的解释是: Have correct performance in normal enviroments, and have acceptable performance in abnormal enviroments. 那么如何做到这一点,她的解决方案是: Lightweight Formal Methods. 这里她给出的他们的methods不是我们在软工学到的Z-Notation, 而是一种叫做Model Checking的方法(好像只有后面tenshi等几个大牛级的人物听说过),基本思路就是用数学建立软件的表现模型,然后用白盒测试来验证其正确性。
基本上来说她的演讲还是很偏工程性的,不是说她的方法(因为其实Formal Methods不是怎么偏工程的),而是说她的目的。这个方法的目的基本就是建立可靠的软件。和昨天听的MIT的教授的演讲相比,明显地可以感受到MIT手中握的才是计算机的未来。(昨天和王博谈起来,想到好像是张亚勤说过要了解这个领域最前沿的成果是什么,最优秀的人在做什么,然后惊喜地发现MIT的Prof. Zue正是给出了这两个问题的答案)。而CMU毕竟还是以SE见长的,并不是那么有豪情,至少这两次演讲给我的感觉是这样的。
然后有人起来问到了她为什么选择计算机这个男性主导的领域,她的回答是因为在MIT的一门课,也是MIT的EECS系的四门基础课中唯一的一门CS的课程: The Y Operator(??, 难道不是Structure and Interpretation of Computer Programs吗?这可是在EECS编号为001的课啊!哦,可能是因为她在MIT太早了吧,毕竟她从MIT博士毕业才是1983年的事。BTW,我没有找到很好的关于这门课的资料,谁找到了跟我说一下......). 她还告诉我们,不应该把全部的时间投在现在流行的语言上,而应该了解一些关于Functional Programming的东西,她说CMU就有一门关于Functional Programming的课,讲的是一门CMU自己的,不对外公开的语言。再想想MIT的SICP,应该可以看出来外国大学对这种类型的语言是比较看重的,想来是因为这种语言更能训练思维吧,就像她说的,change the way you think...(我现在能知道关于Funtional Programming的就是它是由一系列函数递归定义的,最后由几个基本的不能继续化归的函数作为基石。这是一个自洽的体系,可以用数学方法处理。其典型代表就是LISP。而我们平常用的语言的基本操作不是基本函数,而是赋值,想来这是可以理解的吧。BTW, 我现在理解为什么大家对wiki被封气愤不已了,因为我也想看到wiki的原文。现在只能看到的是Google的自动翻译版,实际上还是一塌糊涂的......)。
然后我又提出了关于如何申请CMU的问题(我很不理解为什么lowai不理解我提这个问题.....),她的回答是说The depardment of CS of CMU is very selective...We only adimit 177 students this year from over 1000 applications...其实还是比MIT多多了...But we are looking fro very bright students from China, because you received very good training in math...汗...And our requirement is: 1. Good grade...汗...2.Good recommendation...和MIT一样...3.The most important, is your research potential. That means you must have strong ability to do research. So you'd better get involved to project, have creativity and communacation skill, which means skill to speak and write. And as the most popular language in CS field is English, so your English must be good enough....Please work hard and apply for us and have good luck!
That's all. 11月2日 有幸听到MIT的CSAIL的教授的报告 老教授看起来很和蔼,讲话也很平和,但是还是可以感受到一股来自全球最好的的工科学校的最好的实验室的自信(刚刚搜到,Victor Zue, CSAIL的Co-Director, 副主管, 主页在 http://groups.csail.mit.edu/sls//people/zue.shtml )。CSAIL是 Computer Science and Artificial Intelligence Laboratory 的缩写(网址: http://www.csail.mit.edu ),由Laboratory for Computer Science & Artificial Intelligence Laboratory 在2003年合并而成。他向我们展示了他们的实验室大楼和他们的研究内容。他们在研究的东西确实极其漂亮,极其吸引人。他们对人机交互的研究令人叹为观止,操作者只需要使用简单的手势和语音命令,就可以做到很多很多的原来只能用鼠标和键盘才能做到的事。而他们做的掌上电脑与周围器件的无缝的无线连接也相当精彩。想到他们这个计划( 名称叫做Oxygen, 链接是http://www.oxygen.lcs.mit.edu/ )的宏伟目标: Bringing abundant computation and communication, as pervasive and free as air, naturally into people's lives. 确实有种“如欲平治天下,当今之世,舍我其谁”的豪情壮志。
我提的问题应该是众望所归的一个问题: 怎样才能申请到MIT的Offer. 回答是: 我们也很难挑选这些申请者(想来也是,从1600人里挑40人,敢来申请的有多少不是牛人的... )。我们主要看的是三项: 1、成绩,但是这是你在申请时已经不能改变的; 2、推荐信,我们要求写推荐信的人是了解你的老师,而且不是写“该同学在该科表现出色,获得95分”之类,这些都是在成绩单上可以看出来的,我们要知道的是你有什么与众不同的表现。3、也是最重要的,Statement of Objective( ??, 不是一般讲的PS, Personal Statement, 不过想来差不多... ). 这一段老教授讲得非常有趣,把能想起来的写一下:
If you say, I was dreaming of going to MIT when I was very young...扔到垃圾桶里! Everyone is dreaming of going to MIT! And if you say, MIT is the best university of the world, it has the 1st ranking CS department...扔到垃圾桶里,这些我们都知道... But if you say, 我对你们的某个专业或者某个方向感兴趣...um? 可以看一下...如果是说,我对某教授研究的课题比较有兴趣,希望能参与它的研究,it's better! And if you say, I'm interested in ..., but I have a better idea. That's great!
老教授要求我们写PS时重点考虑三个问题:
1、Why do you come here?
2、Who do you want to study with?
3、What do you want to do?
从始至终,他都在强调一句话: Make yourself different. 这才是申请的最关键之处。
最后老教授还回答了两个关于技术的问题,但是仔细听就发现他和一般的技术人员回答的方式完全不同,沐哥站起来问的问题应该就是沐哥一直关心的问题: 怎样模拟人的思维,能不能从硬件上模拟人的思维。不过沐哥的表达...确实比较科幻一些...老教授的回答确实让人不大习惯,不过仔细想想这才是国外的大师级的导师经常做的,像Raj Reddy对李开复做的一样...他的回答是: 你如果要做的话,可以尽量从软件上来考虑,因为我们的硬件是肯定足够用的。这其实是...不支持沐哥的想法。不过我们更应该注意的是他的说话方式: 如果你要做的话......也就是说他不会过细的回答你的技术方面的问题,只是告诉你应该往哪里走,这不正是沈向洋曾经对他的导师的评价吗(是不是也是Raj Reddy啊)。后面一个问题也是,(事实上我没有听明白问题,提问的那个人的英语确实相当流利),Zue教授的回答是: That's a good idea. If you want to do someting more in this area, just join us. 他的思路就是: 你感兴趣,就应该去做。Right?
在之前他还讲了另一件事: 那就是MIT更喜欢招本科生而不是研究生。理由是不希望你养成bad habit, and we want to teach you earlier. 这样......实在不知道怎么办才好,虽然明知申请成功的概率几乎为零,但是......算了,先努力做好眼前的事吧。
最后share一下Zue教授对MIT的学生的期望: You must have a strong will to change the world.
That's all. 10月26日 美国大学计算机科学系研究方向排名(2002-03年数据)The Sciences->Computer Science->Artificial Intelligence
1.|Massachusetts Institute of Technology 2.|Carnegie Mellon University (PA) 3.|Stanford University (CA) 4.|University of California–Berkeley 5.|University of Texas–Austin 6.|University of Massachusetts–Amherst 7.|University of Pennsylvania |University of Washington 9.|University of Illinois–Urbana-Champaign 10.|University of Michigan–Ann Arbor 11.|University of Maryland–College Park 12.|Brown University (RI) |Georgia Institute of Technology 14.|Cornell University (NY) 15.|University of California–Los Angeles The Sciences->Computer Science->Systems
1.|University of California–Berkeley 2.|Carnegie Mellon University (PA) |Massachusetts Institute of Technology 4.|Stanford University (CA) 5.|University of Washington 6.|University of Illinois–Urbana-Champaign 7.|University of Wisconsin–Madison 8.|Georgia Institute of Technology 9.|University of Texas–Austin 10.|Rice University (TX) 11.|University of Maryland–College Park 12.|University of California–Los Angeles 13.|University of North Carolina–Chapel Hill 14.|Cornell University (NY) |University of Michigan–Ann Arbor 16.|Princeton University (NJ) |University of California–San Diego 18.|Purdue University–West Lafayette (IN) 19.|California Institute of Technology |University of Utah The Sciences->Computer Science->Theory
1.|Massachusetts Institute of Technology 2.|University of California–Berkeley 3.|Cornell University (NY) 4.|Princeton University (NJ) 5.|Stanford University (CA) 6.|Carnegie Mellon University (PA) 7.|Harvard University (MA) |University of Washington 9.|Yale University (CT) 10.|Brown University (RI) 11.|University of Texas–Austin 12.|Columbia University (NY) |University of Illinois–Urbana-Champaign 14.|University of Pennsylvania 15.|Johns Hopkins University (MD) 16.|Duke University (NC) |Georgia Institute of Technology |University of Wisconsin–Madison 美国大学计算机科学系排名(2002-03年数据)The Sciences->Computer Science->Top Computer Science Programs
1.|Carnegie Mellon University (PA)|4.9 美国大学计算机工程系排名(2002-03年数据)Engineering->Computer Engineering
10月23日 关于一个交换算法 把今天下午的讨论收获记一下吧。
今天下午的问题始于一个交换算法:
void swap( int& a, int& b )
{
a^=b; b^=a; a^=b;
}
这个算法的正确性是可以手工验证的,不再多讲,但是奇怪的事就此发生了,这个交换算法可以用在冒泡排序里,却不能放在快排里,否则输出结果会出现一大堆的0。而换成朴素的交换算法( 就是用一个temp变量的 )就可以在快排里通过了。这个错误实在很诡异,因为能够验证交换算法的正确性和快排的正确性,放在一起却不行了。最后我采用了输出中间值的方法,输出了用这个交换算法和用朴素交换算法来进行快排的所有交换记录,然后用UltraEdit的文本比较来看。然后发现问题出现在a=b的交换过程中,从文件里看到的是所有相等的交换都失败了,两个数都变成了0。但是发到群上以后skylian又指出,这个算法是可以处理a=b的情况的,这个也可以手工验证出来的。然后我又看了很长时间,然后注意到,在原来的测试数据里( 直接对100个数用 rand() 赋值 )只有两三对相等的数据,那么怎么会有那么多a=b的情况呢?再看时才发现,几乎所有a=b的情况都是&a=&b的,也就是说处理的是同一个数,那么第一次异或后a就变成0了(因为b就是a啊),当然结束后会变成0的,这才是问题所在。
这次经历倒使我理解了原来老师曾经说过的所有快速排序算法的不稳定性,这不仅表现在相等的数在排序中要交换次序,还表现在如果不进行细化处理,连同一个数都会被导入到交换函数中(考虑v[0]后面跟着一堆比它小的数的情况)。而冒泡算法是慢速算法,但是是稳定算法,在这个过程中相等的数是不会被交换的。
OK, that's all. 10月20日 继续看Effective C++ 终于看完了Effective C++的Item 3......几近崩溃。看这种书才知道自己原来对C++的了解实在是少得可怜。其实Item 3的条文还是很好理解...至少看上去很好理解的: Use const whenever possible.
But then there is a question: When is whenever possible?
其实Meyers重点讲了两个位置的const: const type f() {...} 和 type f() const {...}. 因为之前的数据和指针的const还是很好理解的,但是后面这两个const用法就不是那么容易理解了。首先我解释一下这两个const分别表示什么: 第一个const的意思是“我要求编译器将这个函数的返回值在使用时作为const变量对待”,而第二个const的意思是“我保证这个函数将不会改变任何数据成员(这里指类的,这个用法只在类的成员函数中出现。另外,这个函数不保证不修改 mutable 的数据成员,这个关键字的用法可以参见 The C++ Primer)”。
这样就看出了这两个const的使用目的, 第一个最主要是避免下面的代码出现: ... if ( f() = t ) ...,这可以在编译期就阻止将"=="写成"="的错误,而第二个主要是用在当类的某个实体被声明为const时,按照语法,这时只有声明为const的函数才可以被调用。如此看来,几乎所有函数的返回值都应该声明为const,而所有不改变数据成员的成员函数都应该声明为const函数。这也就是Meyers所说的Whenever possible.
还要继续往下看的,重述学习C++的50条守则第21条,看得懂的书,请仔细看;看不懂的书,请硬着头皮看。
10月12日 学习C++的50条守则(zz)[回复本文] 发信人: ZtSelina(星空下的传说-周传雄), 信区: C 37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去; 开始看Effective C++ 这几天开始看 Effective C++ ,Third Edition: 55 Specific Ways to Improve Your Programs and Designs By Scott Meyers,《算法导论》被往后放了......因为相对来说这本书还是薄很多的,而且是分条目的,可以看一点是一点地看......《算法导论》毕竟还是比较吓人的......
至于看这本书的理由除了这本书的确很经典以外还有一条私人的,就是我一直说我是顶C++的,但是只停留在嘴上......所以我决定多看几本C++的书来增加点底气,毕竟我个人对Java的感觉一直不是怎么好的。
这本书在今年5月出了第三版,我手头的是电子版,其实我曾经买过纸版的第二版影印版,不过现在发现 Meyes对这本书的改动还是蛮大的...毕竟上一版是98年的了...这也意味着之前的四十多块钱基本白花了...55555555....
发一下看过的条目:
Item 1: View C++ as a federation of languages.
这里Meyers认为iC++是4种基本语言的联合,依次是: C, Object-Oriented C++, Template C++ and The STL, 所以他在最后的Things to Remember里讲,Rules for effective C++ programming vary, depending on the part of C++ you are using.
Item 2: Prefer consts, enums, and inlines to #defines.
这个似乎是容易理解的,不过Meyers还是举出了不少的有趣的例子来证明他的观点,不再提了。 9月28日 算法导论 今天中午听张华君讲了凸包算法和最大流算法(概率论课上随便谈起来的,不排除他有炫耀成分,嘿嘿...),发现我真的对这些东西极为喜欢,讨论时感到由衷的开心,也许我真的是应该向计算机理论和技术方向发展的。
决心开始读《算法导论》了,在这里声明一下,大家都知道了,我的后路就断了,不能偷懒了... |
|
|