哪些游戏在饥荒游戏进行中怎么过是可编程的

&figure&&img src=&https://pic2.zhimg.com/v2-6c8b4efa461b01aed752a739f1086768_b.jpg& data-rawwidth=&550& data-rawheight=&386& class=&origin_image zh-lightbox-thumb& width=&550& data-original=&https://pic2.zhimg.com/v2-6c8b4efa461b01aed752a739f1086768_r.jpg&&&/figure&&p&从大一入学被调剂到计算机专业,到喜欢上这个专业,再到毕业拿到10多个offer,最终进入理想的大厂工作。回想起来这些年确确实实踩了很多坑。&b&我刚开始学习编程的时候也想一口吃成一个胖子,想速成,但是有时候却是不尽人意。&/b&&/p&&p&回忆了下这几年学习编程的过程,整理了一些我自己认为很需要注意的几个方面,分享给大家。希望能让初学编程的你,少走一些弯路,&b&可能文章比较长,但我真心希望初学编程的你能够认真看完,至少,我认为如果我刚学编程的时候看到这篇文章,对我或多或少是有一些帮助的。&/b&&/p&&p&我个人是一名计算机专业的学生,很多人可能会认为我是在课堂上学到的编程,其实不是这样。&/p&&p&我认为科班出身和非科班出身的学生最大的区别在于&b&科班出身的学生知道去学什么&/b&,知道每一门课程是干什么的;还有一些必须完成的作业、小项目,促使他们去做一些实际的编码练习,除此之外,真的全靠自学。&/p&&p&对于自学编程,我认为首先应该谈的是如何去避免一些坑,这样就可能节约大把的时间。下面我就以问题的形式来分享一些我认为重要的方面。&/p&&p&&br&&/p&&p&&b&&i&1. 我应该选择什么编程语言&/i&&/b&&/p&&p&可能困扰编程新手最多的一个问题是【我应该学什么编程语言】或者【我需要学习哪些课程才能做出一个web、一个app】,很多人一直纠结这个问题,陷入了东学一点、西看一点的死循环,到头来啥也没学好,这会很浪费时间。&/p&&p&刚上大一的时候,我也很想知道应该选择什么编程语言。我问了很多人,网上各种查资料,但所能得到的答案都很片面,多数对这个问题答非所问,总是回答说“某某编程语言难”,“某某编程语言性能好”。&b&其实作为初学者,我们对计算机体系都不了解,就不要过多地去纠结性能,或者难易等因素&/b&,原因我等下再说。&/p&&p&如果你有明确的方向,那么很好选择。&b&如果你想做算法、机器学习方向,那么python是最好的选择。如果你想做web开发,java、php等都可以。如果想做一些更底层的工作,那么就可以选c。&/b&当然这是建立在你有明确方向的基础上。可是,很多人都没怎么接触过计算机行业,特别是和我一样刚入学就被调剂到计算机专业的人。对这些同学来说,各个编程语言就只是个名字,除了叫法不一样,你根本不知道它们有什么差别。所以索性不要纠结了,我替你选一个吧。&/p&&p&&b&如果你是在校大学生,那么你有大把连续的时间,就先学习c,然后再学c++。&/b&我个人是学c入门的,也许很多人不理解我为什么推荐学c,因为c和c++都很难、很复杂,看起来并不适合入门。然而正是它们的难和复杂才能让你更好地理解计算机系统【&b&计算机系统不是指操作系统】&/b&。&b&学习编程不是学习编程语言,而是学习一个计算机生态,即一个庞大的知识体系。&/b&只会编程语言而不理解整个计算机的体系,就像只会写字而写不出好文章。了解c/c++和了解计算机系统是极为贴合的,&b&&i&向下&/i&&/b&可以帮助你更容易地理解操作系统、编译原理、计算机网络、计算机组成原理,为什么呢?因为较为底层的东西很多都是用c实现的,和系统的贴合度极高,很多教材源码甚至教程,在讲述这些知识的时候都是用c或c++作为媒介。而&b&&i&向上&/i&&/b&,c++面向对象的机制,也可以做出一些应用,譬如五子棋游戏等,也不会显得那么枯燥。花个小半年时间了解c和c++,之后你就会觉得看书、看资料可以轻松很多。&/p&&p&&b&如果你是一个上班族,&/b&但是刚刚学习编程,可能学c和c++对你来说有些复杂和困难,因为学习它们确实是很需要时间。你们不像在校生那样有大把的连续时间,而零碎的时间去学习一个比较复杂的东西效果不见得有那么好,所以可以先学一些【更容易见效】的编程语言,&b&从python入手吧&/b&,至少能快速做出一些小应用,不至于丢失了兴趣,但是真的要入门编程又还得看看与计算机系统相关的书籍,这样才能更深层次地去编程,譬如【深入理解计算机系统】这一本书可以读很多遍,这本书把整个计算机系统给串起来了。&/p&&p&&br&&/p&&p&&b&&i&2.学习编程,我需要学习哪些课程?&/i&&/b&&/p&&p&&b&我要学哪些课程?我为什么要学习如高数、离散数学、线性代数、概率论等课程?&/b& &/p&&p&这个问题也是之前困扰了我很久的问题。不过我现在想通了,对于【高数、离散、线性代数、概率论】等课程,很好解释,做算法的同学肯定知道为啥要学习这些课程。&b&机器学习&/b&中会大量用到上述提到的课程,所以会比较好理解。对在校生而言,学校开设的很多课程我们不知道为什么要学,我们很疑惑,不知道学它有什么用,这个时候我们就会很纠结,还会产生抵触情绪。这很正常,因为我们学习得不够深入,自然不能理解它们的用处。&/p&&p&在我看来,&b&大学本科课程更多的是面向“面”的教学&/b&,即什么课程都教给你一些,但是又讲得不那么深入;而&b&工作或者读研,更多的则是面向“点”的学习&/b&,用到的知识更专。本科时,学校也不知道你以后是去搞算法、还是搞架构、还是搞服务器开发,甚至去搞硬件,所以学校需要你学很多课程,至少有个了解。对学生来说,一方面可以从中选择自己感兴趣的点;一方面也可以对未来的就业方向有些启发。所以即使像数电、模电等课程,虽然之后可能用不着,但是你也要学,并且会花费大量的时间。虽然你最后不一定去搞硬件,但是这些课程也会让你更容易去理解一些知识,比如cpu中的逻辑器件。&/p&&p&如果你在大一的时候就有一个明确的定位,知道自己今后想从事哪方面的工作,课程与课程之间是可以调一下&b&优先级&/b&的。不过像大学物理,这种课程确实是对编程没有帮助,但是像我前面所说的,大学教育更注重广度,大物等课程可能就是为了给你普及生活常识吧。&/p&&p&其实,大学教育的问题是普遍存在的,我认为我们学习一项技能的时候,应该采取的是&b&项目驱动式学习&/b&,即需要用到什么东西时不会了再去学,而不是先填鸭式的都填进脑子,并且在学习的过程中我们还不知道它这是干嘛用的,等之后用到了,甚至不记得自己学过,反而查资料才会想起:哦,原来我之前学的xx科目是这个用处啊,可是我当时并没有好好学。很多时候学生时间的浪费可能还是要怪老师、怪学校,他们一开始没给我们做好充分的课程介绍。所以,在经过比较多的编程和项目实践后,我认为一个比较好的学习方式是,&b&改良版的项目驱动学习法&/b&。即:&/p&&p&&i&&b&学习一段时间,做个小项目,将做项目遇到的问题记下来,针对性地学习相关知识,然后再实践,再学一段时间理论,让知识成网状发射状地变大。当然,项目驱动式学习有一个弊端,就是每次学习的知识都是项目所需要的,很零碎、不成体系,所以需要改良,即在采取项目驱动学习法的时候每天抽一段时间去完整地读一本书,或者一个相关问题的完整介绍,这样就很容易把一些知识成体系地串起来。这样一段时间下来,慢慢的,你就知道我们为什么要学那么多科目,学这些科目能干什么。&/b&&/i&&/p&&p&为了表达地更加形象,我就举一个小例子,是我最近遇到的。我本身的工作是做Linux C++的,但不仅限于此。我个人对python、数据分析,以及机器学习等内容比较感兴趣,大家可以看到我最近也在我的专栏发布了很多文章。就从&b&数据获取&/b&开始,我讲讲我这两个月做了什么东西。&/p&&p&谈到数据获取,可能最容易想到的是&b&爬虫&/b&,爬虫是一个在知乎上被说烂了的话题,所以我不想多说它是什么。很多时候有人觉得爬虫简单,为什么呢,因为有&b&现成的框架&/b&,所以获取少量的数据就比较容易。但是当你需要爬取的数据很大的时候(比如我之前抓取了知乎500万用户的数据,在下班的时间、用自己家里普通的pc,计算机性能并不是那么好,比不上服务器,又要在不被封IP的情况下抓到这么大量的数据,然后对数据进行清洗,最后还要可视化展示),使用现成的爬虫框架就并不是那么容易实现了。况且,我需要抓很多数据源,并不是一锤子买卖。所以我选择去&b&开发一个系统&/b&,即在现有的框架下进行二次开发,搭建一个属于自己的爬虫系统,并植入一些算法。我在系统中添加了很多中间件,直到现在,它还可以在10分钟内就部署一个能抓取大量数据的爬虫应用。当然,这个过程也遇到了不少麻烦,我就简单讲讲,怎么去攻克一个个问题。&/p&&p&下面先给出一个&b&树形图&/b&,从上往下每一个圈都代表了学习过程中遇到的难点,如果你现在看不懂,没关系,我想告诉你的是一种梳理知识的方法:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-becccee03724_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&891& data-rawheight=&1465& class=&origin_image zh-lightbox-thumb& width=&891& data-original=&https://pic2.zhimg.com/v2-becccee03724_r.jpg&&&/figure&&p&如上图所示,就是一个项目驱动式学习的例子,我们的目的是为了获取数据,所以选择了爬虫:&/p&&ol&&li&爬虫可以理解为一个简单的过程:发送request,获取response,然后提取数据。这个过程会涉及到网络,是发送http还是https请求;目标网站是否需要登录,是post请求还是get请求,从这条线,衍生出了一条对网络进行学习的路径。&/li&&li&获取到网页之后,如果不是结构化的数据,可能返回的是一个html源代码,那么可能就需要了解dom,或者html页面解析的知识,甚至需要了解一下前端开发。&/li&&li&在抓取的过程中,经常会遇到数据中途不能被爬取的情况,一般是IP被封禁了,那么可能又要用上代理,代理是什么呢?http,https代理能不能混用呢?如何构建一个代理池呢?这里又有很多要学习的东西。还有可能遇到的情况是,抓下来的数据是加密的,需要通过js解密,这时候就要了解一下js,如何用爬虫模拟浏览器进行抓取。除此之外,如果抓取的频率不对,很多数据源会给你假数据,这就是一些经验问题了,本文不是技术文,所以就不多讨论。&/li&&li&当解决了上述问题后,我们好像可以拿到一些数据了,但是当数据大起来,问题又复杂了,你可能需要使用分布式抓取了,这时候你可能需要了解一下redis,当request产生的速度大于其消费的速度之后,你的任务队列可能爆炸,所以这里又涉及到算法和数据结构的应用了。&/li&&li&数据量上去之后,把数据写在文件里面是不靠谱的,这时候又涉及到存储了,到底是使用关系型数据库还是非关系型数据库呢,有什么区别呢?存进去的数据怎么去重呢?为什么insert操作越来越卡了呢?电脑怎么越来越热了呢?索引是什么,什么时候该建立索引呢?这里又牵扯到数据库原理相关的知识。&/li&&li&遇到一些比较难处理的网站,比如有验证码识别该怎么办呢?其实对于很多纯数字和字母的验证码都很好解决,自己用深度学习训练即可。在TensorFlow的Demo中就要生成验证码自己训练的教程,然后制定个中间件放在爬虫系统中,这个问题就解决了。可是什么是深度学习呢?这里又引出一条对深度学习进行探索的例子,而我自己也是之前在学校的时候自学了小半年机器学习,有了一定的基础后,才能比较容易地上手TensorFlow框架。再往下就比较深了。&/li&&/ol&&p&上述六点简单讲了讲项目驱动式学习的介绍,其实,你看到的每一个小圆圈,深挖下去都大有文章。我们现在看到的只是冰山一角,任何一条学习路径学习下去都深无止境,我们不可能完全学会,可是&b&项目驱动式学习最大的好处是让你知道你应该去学习什么,而不是先学一大堆知识,再去做一个项目&/b&。严格来说,项目驱动式学习的可视化路径是一张网,而不是一棵树,这里画成树状只是为了便于大家理解。&/p&&p&除了获得数据,还有清洗数据、分析数据,甚至挖掘数据,最后可视化数据并且展示数据,这里我就不一一介绍了。可以参见下面这张图,&b&如果大家想看我做的一些成品,可以看看我的其他文章&/b&。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-4e82f497fda1c55dc7dec_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&682& data-rawheight=&938& class=&origin_image zh-lightbox-thumb& width=&682& data-original=&https://pic3.zhimg.com/v2-4e82f497fda1c55dc7dec_r.jpg&&&/figure&&p&&b&&i&3.学习编程是否需要制定计划?&/i&&/b&&/p&&p&&b&学习编程是否需要制定计划,该制定什么样的计划呢?&/b& &/p&&p&我认为不只是编程需要制定计划,其他任何的学习和工作都需要制定计划。我从13年上大学就开始定期给自己制定计划,这个习惯也一直坚持到了现在,受益匪浅。当然也不只是制定学习计划,还可以列一些自己需要做的其他的事情。我最近在整理笔记的时候也发现了一些之前记录的计划和清单,可以给大家看看。&b&比如下图就是我14年写的笔记,笔记上都留下了最后一次打开的时间&/b&。列举了一些自己需要看的文章,因为当时不太懂得规划,所以比较乱。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-4f616fcac9fdcfb0ab1551b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1292& data-rawheight=&1028& class=&origin_image zh-lightbox-thumb& width=&1292& data-original=&https://pic2.zhimg.com/v2-4f616fcac9fdcfb0ab1551b_r.jpg&&&/figure&&p&到了16年的时候,我做计划做得更加有条理了。下图是16年10月30日的计划,那时候我已经大四了,并且已经找到了工作、签了满意的offer,并且没有什么课,按理说可以放松放松了,不过我还是制定了一些学习计划,并且选择在11月去百度实习。&b&从内容上看,主要是学习英语和计算机专业课,因为大一大二的时候我确实不明白为什么要学习专业课,到了大三下想清楚原因以后,我也就一直在重新学习,因为计算机专业课真的很重要!学好了这些课,能让你在日后的学习工作中轻松不少:&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-c2db9c4345cc6caab4f96_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1706& data-rawheight=&1406& class=&origin_image zh-lightbox-thumb& width=&1706& data-original=&https://pic4.zhimg.com/v2-c2db9c4345cc6caab4f96_r.jpg&&&/figure&&p&&b&除了大四制定的计划外,大二的时候我也制定过较为详细的学习计划(如下图),把需要学习的内容进行了编号,存入表格,这样才能让你过得有条不紊。当然,很难完全按照计划去执行,不过制定相应的计划能让你清楚地知道自己应该干什么。&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1ba136d2ccd82b153fedfaa_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1672& data-rawheight=&1266& class=&origin_image zh-lightbox-thumb& width=&1672& data-original=&https://pic2.zhimg.com/v2-1ba136d2ccd82b153fedfaa_r.jpg&&&/figure&&p&所以,如果你是在校生,那么好好制定一个计划吧,因为你有大把的时间。当然,如果你已经毕业了,没关系,我现在也在上班,同样也列举了自己最近要学习的内容,如下图(2月27日更新过),包括了短期和长期需要学习的内容:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-abe41fc9daee9db3ad44_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1542& data-rawheight=&1258& class=&origin_image zh-lightbox-thumb& width=&1542& data-original=&https://pic4.zhimg.com/v2-abe41fc9daee9db3ad44_r.jpg&&&/figure&&p&&b&&i&4.编程是否需要做笔记和写博客?&/i&&/b&&/p&&p&我觉得,写不写博客无所谓,因为博客是要写出来给大家看的,可能要保证格式美观、语法也要尽量准确,最好比较有文采,我觉得太麻烦也就一直没写。&b&而笔记是必须要做的,并且记笔记是一个长期的过程。在学习的过程中,我们一直都在追求一种最高效的学习方法,比如,同一个班的同学,他用他的学习方法考上了清华,而你用同样的方法就不行,为什么?因为他的方法对他自己而言是定制化的,可能且大概率不适合你,比如他的笔记你不一定能看懂,因为他可能设计了一套属于自己的符号。而就编程而言,很多同学说善用搜索引擎,是对的,可是搜索引擎搜出来的是别人的答案。你照搬过来,也许可以用,但是你没有记住,这些知识并不属于你,之后你可能还会遇到同样的问题,又要再搜索一遍,可能很难找到之前的那个答案了。但是记笔记就不一样,记笔记是定制化的,对你自己定制,你可以用自己最爽的表达方式来描述一个问题,是自己写给自己看的东西,看了几遍之后就能非常迅速和容易地理解。之后遇到相同的问题可以快速地通过找笔记解决。&/b&&/p&&p&举个例子,下图是我记录的一些关于gdb【linux下调试c++的工具】的使用的一些笔记。我只记录了我自己最常用的一些内容,也许你看着很乱,但是我就能很容易看懂,这就是我的定制化。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-6b9bdba6bb42c72f4d8cc9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2268& data-rawheight=&1546& class=&origin_image zh-lightbox-thumb& width=&2268& data-original=&https://pic3.zhimg.com/v2-6b9bdba6bb42c72f4d8cc9_r.jpg&&&/figure&&p&记笔记的习惯一定要坚持,等过个一年或者两年,这就是你巨大的财富,因为那是只有你才能看懂的东西。我已经记录了4年多、1G多的内容,现在的笔记基本已经形成了体系,可以给大家展示其中的一部分。&/p&&p&专业知识相关笔记:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-1a92b35caf6c7daa7fce92d8b37ba5b4_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&559& data-rawheight=&817& class=&origin_image zh-lightbox-thumb& width=&559& data-original=&https://pic3.zhimg.com/v2-1a92b35caf6c7daa7fce92d8b37ba5b4_r.jpg&&&/figure&&p&开发相关的笔记:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-e47df51a4ad6c7f7cb239a1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&559& data-rawheight=&924& class=&origin_image zh-lightbox-thumb& width=&559& data-original=&https://pic3.zhimg.com/v2-e47df51a4ad6c7f7cb239a1_r.jpg&&&/figure&&p&一些类目:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-ac61d7e115b0f3bdbae27c390d923141_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&239& data-rawheight=&991& class=&content_image& width=&239&&&/figure&&p&&i&&b&5.有什么比较好的编程方法?&/b&&/i&&/p&&p&除了上述分享的一些方法,我认为在同一时间段不要学习太多类别的课程,比如你可以同时学习python和html/css,但是你不要同时学python、操作系统、编译原理、计算机组成、数据结构、网络,我曾经试过,一门课没学一会儿就学下一门,其实上一门根本学不到什么实际的知识。因为记忆知识是符合&b&艾宾浩斯记忆曲线&/b&的。对于一门课,特别是很难的专业课,譬如操作系统,你每天看半小时,效果是比较差的,可能你热身就得半小时。所以宁可每天学两门,然后每一门学长一点的时间,比如两小时。【毕竟学校上课,一次课也得两小时】,要避免贪多,一口吃不成个胖子。 &/p&&p&&br&&/p&&p&&i&&b&6.我需要刷oj么?&/b&&/i&&/p&&p&我认为刚开始编程的时候还是应该刷的,但是一定要注意,不要被你周围的“X神”给误导了。因为我上大学的时候,身边总是有很多搞计算机竞赛的人,他们之间都互相称对方为“X神”,某某神又使用一个牛逼的算法,将程序时间从1秒降低到了0.999秒。我要劝大家的是,刷题不是为了达到这个目的,不是说非要在竞赛中拿奖,除非你是特别喜欢,否则,没必要去&b&背代码&/b&。我们刷题的目的是适应写代码的感觉,在这个过程中你会遇到编译错误,你会慢慢去记住一些语法、关键字,并理解一些概念,还可以自己去使用它,比如实现数据结构。慢慢的你就会变得有经验,知道一些错误产生的原因。我也是慢慢这样过来的,我现在在工作和下班以后写代码时,基本都不用IDE了,比如写c++,要么vim,要么就是sublime,而调试用的是我前面提到的工具gdb。即,有一个文本编辑器就能写代码,脱离了IDE的束缚。在写oj之后一段时间,在比较熟练了之后,就可以不去刷题了,可以去譬如github这样的网站上找点项目来看,然后自己跟着写一下,编程能力慢慢就提升了。就计算机专业来说,很多同学在大一上完编程课之后,就很少写代码了,这样是很不好的。刷题除了可以锻炼编程能力,对于找工作前突击也很有作用。比如,我之前投递过华为公司的研发岗位,校招的时候有笔试题。我就在16年国庆的时候刷了一下华为的oj,我记得笔试是600分的总分,过100就给面试机会,而我很轻松的就拿了500分,而当时也就刷了20多道华为的题。 &/p&&figure&&img src=&https://pic3.zhimg.com/v2-3d5b9bcf85aeb841a9537_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&674& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic3.zhimg.com/v2-3d5b9bcf85aeb841a9537_r.jpg&&&/figure&&p&&i&&b&7.看书还是看视频?&/b&&/i&&/p&&p&网上有不少人鄙视看视频学习的同学,我不知道为什么,因为我认为看视频是一个很好的学习方式。不过我们得明白看书和看视频分别有什么优缺点。&/p&&p&其实我是很建议看视频入门的,因为目前网上的应用型【非学术型:比如清华大学的操作系统,非常难】的视频都是很简单的,很多是面向初学者的,视频能用较短的时间告诉你你现在所学的技术可以干什么,可能需要先修哪些知识,可以帮助我们搭建一个项目驱动式学习的网络。可是视频也有个缺点:就是知识非常的杂,很不系统。虽然现在很多教学网站都提供了学习路径,但是这些路径中的视频很多时候都不是同一个老师录制的,只是按照知识的依赖关系排的顺序,所以,如果想通过视频去系统地学习一门知识,是比较困难的。【当然,一些学术型的视频还是很推荐的,比如斯坦福的机器学习,清华的操作系统、数据结构等课程,能坚持看完,绝对受益匪浅】。而应用型的,比如web开发等知识,还是得看书。书籍等特点就是系统化,由浅入深,你可以定制化地看自己薄弱的章节。所以一个比较好的学习方式是:&/p&&p&&i&&b&看视频入门,看书进阶。&/b&&/i&&/p&&p&&br&&/p&&p&&i&&b&8.多久能学会编程?&/b&&/i&&/p&&p&其实这个问题是没有答案的,如果只是想做出一个小应用,2个月足矣,而就我个人而言,我认为学习编程不是学习一种编程语言,而是学习一个生态,一个计算机系统,所以无止境。&/p&&p&&br&&/p&&p&&i&&b&9.我应该选择什么资料,看什么书?&/b&&/i&&/p&&p&其实这个问题也是很多编程新手容易困惑的问题。网络上拥有我们一辈子都看不完的教程和资料,所以现在应该不会存在找不着视频教程、找不着书看的问题。而问题就是我们不知道看什么视频、看什么书。从开始学编程到现在,我也买了上百本书,而真正适合自己的好书并不多。而视频教程的问题就更严重了,东看一点、西看一点,知识很难组织成网络。所以&b&学习编程的过程中,我们遇到的最大的问题是:当我们遇到问题的时候,在大量资料面前,我们不知道选择什么资料去学习。&/b&即使我们使用项目驱动式学习的方法找到了我们的方向,但是同一个路径下,也有很多资料。前文列举的项目驱动式学习的图中,我们是自上而下的去发现问题,然后再解决问题。如果能有人帮我们组织好学习路径,然后自下而上地去学习,那么效率可能会提高很多。&/p&&p&&i&&b&不过不用担心,我已经尽我所能,将我看过或者我认为好的课程和书本资料给串了串,整理好上传了,所有学习资料均免费,无任何收费课程。&/b&&/i&&/p&&p&&i&&b&如果需要,请关注微信公众号【大数据前沿】回复:【编程路径】获取。&/b&&/i& &/p&&p&顺便插播个广告:&/p&&p&【大数据前沿】:用键盘舞动青春,用数据描绘世界。传播IT技术,发现编程之美。了解科技前沿,挖掘数据价值。人生苦短,我用python,编程路上,有我陪你。如果你想和我一起学习编程,就用微信搜索:【大数据前沿】关注吧,&b&对于部分技术性文章,我会录制视频教程分享实现过程,有时候也会留下数据和代码让读者练习&/b&。让我们一起进步吧!&/p&&p&近期热文:&/p&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic2.zhimg.com/v2-ebcfa76c746dd224f7af543bdx120.jpg& data-image-width=&400& data-image-height=&240& class=&internal&&二胖:大数据解密之你的同事都跳槽到了哪些公司&/a&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic3.zhimg.com/v2-9d62b11bdce05fc0d35a_180x120.jpg& data-image-width=&400& data-image-height=&245& class=&internal&&二胖:30岁,大学毕业的你,月薪多少?&/a&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic4.zhimg.com/v2-369ec090d7aed9cc4a017_180x120.jpg& data-image-width=&500& data-image-height=&350& class=&internal&&二胖:大数据告诉你旅行青蛙饲养员的秘密&/a&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic3.zhimg.com/v2-959b7bda8be9dc83abd2_180x120.jpg& data-image-width=&1126& data-image-height=&630& class=&internal&&二胖:用 python 挖一挖成都房价&/a&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic2.zhimg.com/v2-fad3b31d94bbef0f48c29_180x120.jpg& data-image-width=&971& data-image-height=&703& class=&internal&&二胖:不会爬虫怎么获取数据?&/a&&p&End&/p&&figure&&img src=&https://pic4.zhimg.com/v2-0e5bb3350f3fdd1afd8c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&466& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic4.zhimg.com/v2-0e5bb3350f3fdd1afd8c_r.jpg&&&/figure&&p&&/p&
从大一入学被调剂到计算机专业,到喜欢上这个专业,再到毕业拿到10多个offer,最终进入理想的大厂工作。回想起来这些年确确实实踩了很多坑。我刚开始学习编程的时候也想一口吃成一个胖子,想速成,但是有时候却是不尽人意。回忆了下这几年学习编程的过程,…
&p&译者注:本文译自&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/blog/myprojects/mit-challenge-2/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Scott H. Young的博客&/a&,Scott拥有超强的学习能力,曾在12个月内自学完成麻省理工学院计算机科学的33门课程。本文就是他个人对于这次MIT挑战的介绍和总结。&/p&&p&版权声明:本次翻译已经得到Scott本人授权,禁止任何形式的转载。&/p&&p&首发公众号:编程布道师 ProgrammingPreacher&/p&&br&&p&---------------------------------------&/p&&p&在接下来的12个月里,我将在不去上课的情况下,学完整个MIT四年分的计算机课程。&/p&&p&更新:MIT挑战现在已经结束了。我在日完成了挑战,距离开始时间日刚好12个月。下面将列出我所有课程的考试、官方解法以及我写的代码的链接。&/p&&p&回答一些普遍的问题:&/p&&ol&&li&我花了多少功夫来完成这次挑战?一开始差不多每周60个小时,到后来就是35小时左右。&/li&&li&你拿到MIT的学位了吗?没有。看上面的视频就知道我完成这次无学分学习的动机。&/li&&li&你是否做了所有MIT学生做的事情?没有。我考试和编程项目的总课程很类似MIT列出的课程,有些实验课和人文学科我不得不改成了其他科目,但是总学时是一样的。这是&a href=&http://link.zhihu.com/?target=http%3A//catalog.mit.edu/degree-charts/computer-science-engineering-course-6-3/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT计算机科学的课程表&/a&,可以跟我下面列出的课程做对照。(提示:这个链接已经更新过了,旧的链接挂了。我并没有检查课表有哪些修改。)&/li&&li&你在学习过程中用了课本或者教学视频吗?所有的资料都在下面列出来了,如果你不确定,可以到下面的列表查看。&/li&&li&你是按什么顺序来上这些课的?就是下面列出来的顺序,除了一些同时上的课程。当然,如果你按照这个顺序来上课,你就不用担心某些被依赖课程会被安排到后面。&/li&&li&你是不是自己给考试评分的?是的。诚然,没有教授评分在一定程度上会有误差,但是大多数考试都是量化的问题,这些问题的答案都是有规律的,因此误差没那么大。我建议每个人都去检查一下我真正的考试回答,并跟官方提供的答案作对比。&/li&&li&你是否相信人们应该不去上大学,而是做这个项目?当然不是。我上过大学,我并不后悔。我做这个项目的是想看看获得一次教育的时长、代价和常规性的预期能被压缩到多低。&/li&&/ol&&p&计算机总是令我神魂颠倒。从金融到社交,算法是构成人们生活大部分方面的隐藏语言。当今世界最大的变化就是由代码编写而成的人工智能事业的发展让我们能够通过计算机了解作为人类的意义。&/p&&p&除了机器的诗意,计算机科学也是非常实践性的。财富被积累了,变革的火星在行行代码中闪耀。&/p&&p&我总想掌握计算机语言,但是我并不想投入4年以及数十万没金来学习。&/p&&p&我开启这项实验是因为我想告诉大家,完成一门学业,并不像有些人认为的那样,需要通过录取委员会和SAT考试,背负数千美元的债务,甚至耗费四年来慢慢学习。&/p&&p&我会失败吗?当然有可能,这个世上许多比我聪明的人仍在类似MIT的地方挣扎于巨大的工作量之中。我还企图在没有人指导的情况下按四倍速来学习同样的内容。&/p&&p&我会跟大家分享我在这一过程中的收获,这是我唯一能保证的。下面列出了我将学习的33门课程,每门课我都会做期终考试,诸位可以拿我的回答跟MIT官方的答案做对比。我也会把我的错误发布出来,大家不用怀疑我会把我的错误答案删除。&/p&&h2&MIT挑战之后的更新&/h2&&p&由于我已经完成了这次挑战,我会在这里更新我上过的计算机科学相关的课程或者编写的相关程序。&/p&&ul&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/blog/wordsmith-download/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&WordSmith&/a& 这是我写的开源免费的拼字游戏的AI。&/li&&/ul&&h2&学习进度&/h2&&ol&&li&8.01 物理1-经典力学&ul&&li&我在七月份完成了这门课,这是一次预实验,用来检查我是不是准备好进行这次挑战了。这门课程很精彩,Walter Lewin教授在不遗漏知识点的情况下把物理讲得栩栩如生。提示:这门课已经被MIT删除了,大家可以去看&a href=&http://link.zhihu.com/?target=https%3A//ocw.mit.edu/courses/physics/8-01-physics-i-fall-2003/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&另一个版本&/a& 。分数:5/5。&ol&&li&免费课程资料&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/801-notes.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&基于费曼学习方法的笔记&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//bit.ly/oG2Yhh& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//bit.ly/n8oa8f& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&18.01 一元微积分&ul&&li&这是我在MIT挑战中完成的第一门官方课程。紧凑的课程视频给了我良好的基础微积分的认知,展示了从基础的极限到高级积分法的知识。分数:4/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/mathematics/18-01-single-variable-calculus-fall-2006/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1801-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/mathematics/18-01-single-variable-calculus-fall-2006/exams/prfinalsol.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&18.02 多元微积分&ul&&li&这门课把一元积分的基本规则拓展到了多维层面。对于理解电、磁、光等3D相关的物体很有帮助。分数:4/5。&ol&&li&&a href=&http://link.zhihu.com/?target=https%3A//ocw.mit.edu/courses/mathematics/18-02-multivariable-calculus-fall-2007/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1802-notes.jpg& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的笔记&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1802-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1802-solutions.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&/ol&&ul&&li&8.02 物理2-电磁学&ul&&li&又一门Walter Lewin教授的物理课,示范实验非常棒。这门课对于专业细节非常严谨,同时也很贴近生活,每天讨论像彩虹和金属探测器这样的概念。提示:这门课也被MIT删除了,&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/physics/8-02-physics-ii-electricity-and-magnetism-spring-2007/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&替代版本&/a&。分数:5/5。&ol&&li&免费课程资料&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/802-notes.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&基于费曼学习方法的笔记&/a&(巨大的pdf)&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/802-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/physics/8-02-electricity-and-magnetism-spring-2002/exams/finalsol4.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.01 电子工程和计算机科学导论1&ul&&li&这是一门很好的课程,但是由于这门课直接从面向对象入手,并且很少解释相关内容,我并不建议没有编程背景的人上这门课。我很享受核心课程里人工智能和状态机的高级概念的混合。这门课的课程讲义很棒,并且是免费的,但是里面内容的重点是机器人学,涉及到许多我接触不到的专业设备。(注:很多人指出,我期末考试的回答写的并不全面,你可以在这里读到我&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/blog-new-new//two-types-of-advice/comment-page-1/%23comment-1258218& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深入的回答&/a&)提示:这门课已经被MIT调换了,这是&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-01sc-introduction-to-electrical-engineering-and-computer-science-i-spring-2011/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&新的课程&/a&。分数:4/5。&ol&&li&免费课程资料&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/601-code.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&下载代码&/a&&ul&&li&工程:状态机库&/li&&li&工程:贝叶斯状态预测器&/li&&li&工程:A*寻路算法&/li&&/ul&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/601-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-01-introduction-to-electrical-engineering-and-computer-science-i-fall-2009/exams/MIT6_01F09_final_prob_sol.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&/ul&&ol&&li&5.111 基础化学&ul&&li&介绍了量子化学、路易士电子点图、酸碱和氧化还原反应,还包括了高级的过度金属和晶体场理论的知识。不幸的是,这门课并没有可行的期末考试,我不得不用期中的练习来评估自己。分数:4/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/chemistry/5-111-principles-of-chemical-science-fall-2008/index.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/5111-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/chemistry/5-111-principles-of-chemical-science-fall-2008/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&/ol&&ul&&li&7.012 生物学导论&ul&&li&非常棒的生物课,这门课从实验者的角度阐述了生物化学、免疫学、基因学和生态学的基础知识。课本也是个很好的补充,展示了发现者的思维模式。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/biology/7-014-introductory-biology-spring-2005/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/7014-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/biology/7-014-introductory-biology-spring-2005/exams/final_handout.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&18.03 微分方程&ul&&li&微积分的扩展。微分方程让你能够对复杂系统建模和分析。微分方程对于电子工程学很重要,对于理解电路、信号和系统有帮助。课程相关的视频讲座严重偏离了课程的内容,导致我浪费了不少时间。分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/mathematics/18-03-differential-equations-spring-2010/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1803-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&,&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/mathematics/18-03-differential-equations-spring-2010/exams/MIT18_03S10_prfinal.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&问题&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/mathematics/18-03-differential-equations-spring-2010/exams/MIT18_03S10_prfinals.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.02 电子工程和计算机科学导论2&ul&&li&这门课比较难上,因为MIT的开源课程平台没有包含这门课。学习这门课意味着我要筛选MIT的公共文档,从其最深处找出课程讲义和考试。后果就是其中一个重要的章节——滤波器设计——完全遗失了,我无法完成相关的实验和考试。这门课也没有期末考试,我把三次期中考试的成绩合起来整体做了课程评分。分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//web.mit.edu/6.02/www/s2009/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/602-labs.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实验作业(非常大)&/a&,&a href=&http://link.zhihu.com/?target=http%3A//web.mit.edu/6.02/www/s2009/handouts.html%23labs& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&作业指导&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/602-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/602-solutions.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.042J 计算机数学&ul&&li&图论、数论、证明、概率论、计算只是这门妙到毫巅的课程的一小部分。这门课的视频课程不多,但是免费的课本非常引人入胜。练习和挑战的资源倒是很丰富。分数:5/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2010/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6042J-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&,&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6042J-notes.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的笔记&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2005/exams/finalsol.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.006 算法简介&ul&&li&算法和复杂理论的介绍。这门课提供了把算法设计概念(动态规划、贪心算法等)应用到实际编程中的机会,弥补了6.042J课程的缺失。不幸的是,在完成期末考试之前我没能发现试卷内容的不全的,所以我把我做的小测验包含了进来。我完成了大部分作业,但是没有答案,所以我没有对它们评分。分数:4/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-spring-2008/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6006-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&期末考试&/a&,&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6006-quiz.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&小测验&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6006-pset.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&习题集&/a&,&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6006-code.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的代码&/a&,&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-spring-2008/assignments/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT的文件和问题&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-spring-2008/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&18.06 线性代数&ul&&li&完美的授课视频和丰富的课程材料使这门课程变成MIT公开课程平台上最容易理解的一门课。Gilbert Strang教授给予了流畅易懂的讲解。我第一次考试正确率只有56%,所以我又花了一天完成了一份分数高一点的回答。分数:5/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1806-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//web.mit.edu/18.06/www/Spring98/Solns/final-solu-98.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.041 概率系统分析&ul&&li&概率论的一门课,这门课用微积分来解决比6.042J更加复杂的概率论问题。这门课的课本是专门为课程而设计的,所以非常有帮助。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-spring-2006/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6041-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-spring-2006/exams/final_sol.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.002 电路与电子学&ul&&li&这门课包含了数字电路和模拟电路的基本原理。考试很有难度,评分的是我超时的第一次考试。不幸的是,这门课的官方答案是MIT不公开的内容,所以我没法提供链接。这门课是许多电子工程科目的基础课程,所以我很确定其核心概念以后的考试中会碰到很多次。分数:4/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-002-circuits-and-electronics-spring-2007/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6002-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.046J 算法的设计与分析&ul&&li&这么久以来我最喜欢的课程之一!这门课给出了比6.006更高级的算法概念,例如证明特定的问题的NP完备性、近似算法、加密算法、亚线性算法和并行处理。我还是得小心应对,因为开源课程平台的这门课早于6.006被添加进MIT的课程列表,这门公开课比当前课表的版本容易很多。分数:5/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//courses.csail.mit.edu/6.046/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6046J-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//stellar.mit.edu/S/course/6/fa11/6.046/courseMaterial/topics/topic3/exam/final_fall09_solutions/final_fall09_solutions.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.304 人工智能&ul&&li&很棒的课程,涵盖了多种不同的AI技术的调研,包括搜索、约束传播、神经网络、核机器(kernel machines)、概念学习和自然语言处理。我完成了六次作业,并为此先学习了编程语言Scheme。考试的难点之一在于这门课的教学大纲非常丰富,包含了多种技术,每节课的侧重点也各有不同。分数:5/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6034-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6034-code.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的作业&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6034-exam-sol.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.003 信号与系统&ul&&li&这门课讲了信号与系统分析的基本原理,扩展了18.03初次讨论的数学技术。这门课不仅对电路有用,而且对于理解调频、音频过滤、降噪甚至包括图像分析和处理的基本原理有很大的帮助。这也是我挂掉的第一门课,还好在第二次尝试时我把正确率提高到69%。提示:这门课已经不可用了,&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-003-signals-and-systems-fall-2011/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&替代版本&/a&。分数:4/5。&ol&&li&免费课程资料&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6003-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-003-signals-and-systems-spring-2010/exams/MIT6_003S10_final_F07_sol.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.004 计算结构&ul&&li&电子工程和计算机科学的交叉课程。设计项目包含了门级CPU的规范,这是用来搭建计算机的电子元件。这门课的缺点是缺少相关的课程材料,但是作业和实验很给力。分数:4/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-004-computation-structures-spring-2009/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6004-code.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实验和工程&/a&(注:运行这些文件需要BSim和JSim,都可以在课程页面免费下载)&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6004-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//6004.csail.mit.edu/currentsemester/OldQuizzes/quizzes.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&24.241 逻辑学1&ul&&li&命题演算和谓词演算入门及其衍生系统和理论的证明。我发现这门课很枯燥,很理论性,但它确实提供了严密的论证方法的练习,不像计算机科学的课程那样随意。坏消息是,考试答案是非公开的,我不能在这里发布。分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/linguistics-and-philosophy/24-241-logic-i-fall-2009/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/24241-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&/ol&&/li&&/ul&&/li&&li&14.01 微观经济学原理&ul&&li&我在获取商学院学位时就上过微观经济学的课程,所以这门课对我来说主要目的是回顾。MIT比我的母校拥有更强的数学基础,因此看到许多概念的严谨科学的定义对我来说也是耳目一新。我花了短短四天来学习这门课,所以考试中大部分错误源于对未提供的专业定义和公式的遗忘。分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/economics/14-01-principles-of-microeconomics-fall-2007/index.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1401-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/economics/14-01-principles-of-microeconomics-fall-2007/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.003 计算机系统工程&ul&&li&非常有用的课程,讲述了计算机网络、加密、客户端/服务器架构和互联网的基本原理。我发现有几节课跟6.004和6.02重复了,但还是很有用。我在读作业的时候不够专注,它们包含了海量的知识。分数:4/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-033-computer-system-engineering-spring-2009/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6033-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-033-computer-system-engineering-spring-2009/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.013 电磁学及应用&ul&&li&毫无疑问,这是至此以来最难的一门课程。这门课大量使用了矢量计算、变换式和复数计法,拓展了8.02电磁学课程中的基本原理。如果你想尝试这门课,先去学习基础课程6.003、6.002、18.02、18.03和8.02是不错的选择。我险之又险地通过了这门课,所以这门课绝对是我未来会温故而知新的内容,其中包含了不少有趣的想法。分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-013-electromagnetics-and-applications-spring-2009/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6013-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-013-electromagnetics-and-applications-spring-2009/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&14.02 宏观经济学原理&ul&&li&本科的时候我也学了宏观经济学,所以这节课也是回顾。尽管如此,我觉得MIT的课程和教材更加易懂。如果你想对经济学有个整体的了解,这是不错的选择。提示:MIT更换了这节课,&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/economics/14-02-principles-of-macroeconomics-spring-2014/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&新的版本&/a&分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/economics/14-02-principles-of-macroeconomics-fall-2009/index.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1402-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/economics/14-02-principles-of-macroeconomics-fall-2009/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&24.242 逻辑学2&ul&&li&这门课完全基于8次家庭作业,所以我经历的大量测试材料都比其他课程要弱。尽管如此,我还是喜爱这门课,因为哥德尔不完备定理是我见过的最深刻的思想。分数:5/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//courses.csail.mit.edu/6.046/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/24242-work.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/linguistics-and-philosophy/24-242-logic-ii-spring-2004/assignments/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.011 通讯、控制和信号入门&ul&&li&6.003,信号与系统课程的拓展。这门课把信号分析和过滤拓展成状态图和随机信号。随机信号的引入对于处理噪音非常有用,所以许多6.003里理想化的概念变得更加切实可行。免费的课本和讲义非常有用。分数:4/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-011-introduction-to-communication-control-and-signal-processing-spring-2010/index.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/24242-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-011-introduction-to-communication-control-and-signal-processing-spring-2010/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&24.244 模态逻辑&ul&&li&模态逻辑是可能性和必然性的逻辑,扩展了基本的谓词演算。这是一项很有趣的逻辑,取决于采用的公理(道义、真势模态、时态等等),可以表现成不同的逻辑系统。期末考试是课外开卷考试,所以我花了两天时间完成了它。分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/linguistics-and-philosophy/24-244-modal-logic-fall-2009/index.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/24244-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/linguistics-and-philosophy/24-244-modal-logic-fall-2009/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&14.20 产业组织学&ul&&li&经济学课程,通过假设完全竞争或垄断来简化分析。这门课移除了商行如何从战略上跟另一家商行竞争的设想和考虑。这门课完全点燃了我学习博弈论的兴趣。不幸的是,我没意识到期末考试的内容受限于课程内容,我只能尽力而为。分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/economics/14-20-industrial-organization-and-public-policy-spring-2003/readings/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1420-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/economics/14-20-industrial-organization-and-public-policy-spring-2003/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&14.23 政府的产业条例&ul&&li&这门课的内容和14.20很像,但是这门课侧重于历史背景和政治格局,而不是博弈论。有趣的课程,课本阅读的部分相当冗长(近900页),但是数学分析的水平较低,所以还是比较易读的。分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/economics/14-23-government-regulation-of-industry-spring-2003/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1423-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/economics/14-23-government-regulation-of-industry-spring-2003/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&14.48J 教育经济学&ul&&li&鉴于我挑战本身的性质,这门课非常有趣,揭示了多种教育理论。大多数课程感觉更像是基础的计量经济学的讨论,因为很多核心思想都是没有结论的(更小的课程更好吗?折扣券方案可行吗?)。这门课也讲述了教育的标准人力资本理论和信号效果理论的不同。但是,仍然没有定论。分数:3/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/urban-studies-and-planning/11-126j-economics-of-education-spring-2007/syllabus/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/1448J-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/urban-studies-and-planning/11-126j-economics-of-education-spring-2007/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.005 软件构建基础&ul&&li&这是MIT规定的软件开发课程。这门课挺难的,不是因为有什么智力要求,而是因为工作量繁重。这门课由3个团队项目,3个个人项目以及一些实验课组成。我当时很犹豫要不要上这门课,因为这次挑战的时间有限,很难上这样的课。但是最终我发现,最简单的方式就是做完所有的事情。&/li&&li&我花了大概三周的时间成功上完这门课,零零散散耗费了两个月。虽然很费时,但是这门课是最有回报的课程。我本想在每个项目上花费更多的时间补充更多特性,特别是最后的那个用Scratch做的即时通讯应用。如果你在编程方面刚入门,想学习高级的设计思想,写出优秀的代码而不是能够运行的代码,这门课是很棒的选择。&/li&&li&我把我写的所有的项目都发布在这里,需要安装Java环境才能运行。我也把我做的三个设计项目上传了(扫描之后清晰度降低了,很抱歉!)。分数:5/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-005-elements-of-software-construction-fall-2008/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6005-code.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&所有的代码&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6005-work.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&三个设计项目&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6005-work.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT提供的资料和作业&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.801 计算机视觉&ul&&li&这门课讲述如何用算法去看,主要的背景就是通过看到的图像指导机器人运作。包括二进制图像处理、边缘检测、高斯扩展表面、方向、摄影测量等主题。这门课由两次课外考试来评分,并且是由两门研究生级别的课程合成的一门课。&/li&&li&总之,这门课很有挑战性,使用了傅里叶分析、矢量计算、线性代数、二次规划算法以及变分法等技术方法,所以这门课大概是应用数学相关最难的一门课了。很可惜没有编程的作业,不然一定会很有趣。分数:5/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-801-machine-vision-fall-2004/lecture-notes/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6801-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-801-machine-vision-fall-2004/exams/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT官方答案(和问题)&/a&&/li&&/ol&&/li&&/ul&&/li&&li&6.837 计算机图形学&ul&&li&这门课讲述了计算机图形学的基本原理,主要讲了射线追踪,当然扫描线方法也讲了。这门课基本由作业来评分(本来有两次小考的,但是没有提供答案,所以没用它们来计分)。从简单的光线投射和平面着色开始,作业逐渐包含了毛面着色、反射模糊、投射阴影、带有折射指数的透明表面、镜面反射以及过程贴图。一个网格加速数据结构的过程也完成了,它没有任何视觉效果,却大大加快了相对缓慢的射线的图像路径。&/li&&li&具体的编程环境写在了代码的README.rtf文件里。文件比较大,包含了渲染出的图片,这样不用运行代码就能看到问题需求的输出了。(作为对比,MIT的官方输出在sample_res.pdf里)。提示:我之前上的课被替换了,&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-837-computer-graphics-fall-2012/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&新的版本&/a&。分数:5/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-837-computer-graphics-fall-2003/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/6837-code.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的代码&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=http%3A//ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-837-computer-graphics-fall-2003/assignments/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT提供的代码(以及示例答案&/a&&/li&&/ol&&/li&&/ul&&/li&&li&COSC 545 计算理论&ul&&li&这门课不是MIT的课程,而是乔治城大学Cal Newport教授的计算理论的研究生课程。在享受完MIT的两门算法课之后,这是我非常想学习的主题,但是MIT复杂的理论课程缺乏任何可用的评分工具。这门课很有趣的思想就是哪些问题可以被算法解决(这意味着处理任何形式的问题都有一个过程),以及处理确定类型的问题所需的速度和内存限制。&/li&&li&这门课还包含了对于NP问题(P=NP?)的宽泛讨论。这是数学界最重要且悬而未决的问题,其答案会对整个社会产生巨大的影响。尽管已经研究了数十年,以及100万美金的激励,这个问题仍然没能有答案。分数:5/5。&ol&&li&&a href=&http://link.zhihu.com/?target=http%3A//cs.georgetown.edu/%7Ecnewport/teaching/cosc545-spring12/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免费课程资料&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/mit/COSC-exam.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的考试结果&/a&&/li&&/ol&&/li&&/ul&&/li&&/ul&&h2&MIT挑战的常问问题&/h2&&p&Q)你遵守了哪些规则?&/p&&p&因为我不是MIT的学生(也不隶属于MIT),所以我自己制定了一套公平可行的规则。规则很简单:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&1. 我完成一门课的标准是通过期末考试(一般高于50分就可以了,虽然我想拿更高的分数。)
2. 考试的限制是一样的,不能提前看题目,不能带课程相关的材料,一样的时长限制(默认是三小时)。
3. 我根据MIT的官方答案给自己打分,我把回答和答案都发布到这里,任何人都可以再次检查我的评分手段。
&/code&&/pre&&/div&&p&记住,这只是我这次挑战的最低要求。对于含有重要的编程部分的课程,我尽可能完成代表性的编程作业。&/p&&p&Q)你完成了所有的作业、论文和项目吗?&/p&&p&对于数学或者理论课程来说,期末考试是很重要的评分手段。我仍然会做一部分作业和测验来为期末考试做准备。不过由于在这次挑战中我没法维持一个统一的标准(许多课程要么不可用,要么没法评分),我没有很认真地去做它们。&/p&&p&对于含有大量编程或实际设计的课程,我尽量去完成最多的作业。但是它们很难做评分,我还是依赖于期末考试。&/p&&p&Q)你的课程表和MIT的是否不一样?&/p&&p&我花了差不多一个月的时间来拼凑一个MIT计算机科学实际课表的镜像。很可惜我没法完美地完成,因为有些课程(包括实验和研究课)很难评分,另外一些网上没有资源。&/p&&p&这次挑战,我课程表的总学时跟MIT的学位学时是一样的,所以当我没法上某一门课的时候,我就换成一门近似的课程。就学习的知识而言,我的课程表跟MIT的课程表很像了。&/p&&p&唯一的区别就是MIT的选修课。我也上了不少非计算机科学的课程,来模仿MIT的人文、艺术、社科的要求。因为MIT的线上艺术课程的资料比社科的课程差远了,所以我选的课程跟MIT的课程并不完全匹配。&/p&&p&这是&a href=&http://link.zhihu.com/?target=http%3A//web.mit.edu/catalog/degre.engin.ch6.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT计算机科学的课表&/a&。&/p&&p&Q)如果你挂科了,你会怎么做?&/p&&p&鉴于我正在做一次尝试,所以我觉得挂科是无法避免的。我的主要要求是通过期末考试,所以如果我挂了,我允许自己过段时间再试一次。&/p&&p&对于有多次考试的课程,我的对策就是先挂一次,这样我在后续的课程上会更高效。这跟在大学里很不一样,不及格不再是一种挫折。这就是自学的优势之一。&/p&&p&Q)你为什么做这个挑战?你只是爱学习吗?&/p&&p&没有人喜欢学习,但是每个人都想变得更聪明。学习,得到更强的洞察力,对于某些主题变得更睿智,这是很有价值的。很遗憾,很多人在经历过很多年惩罚式的教育后,都已经忘记了这一点。&/p&&p&我承认,想在12个月内学完四年的内容有些疯狂,或者说傲慢。但是我真正的动机就是希望告诉大家,快速的学习是有可能的,与此同时还能获得更多的快乐。&/p&&p&Q)这样做你能获得毕业文凭吗?&/p&&p&不能,这就是问题所在。我们社会错误地把知识和文凭等同起来。&/p&&p&得到一纸文凭很不错,对于许多工作来说,这是完全必要的。但是这种强烈的等价使得人们忘记了两者之间是有区别的。&/p&&p&作为一个作家和生意人,我已经有了自己的事业。我从来没想过去大公司工作,那里的HR可能会审议我匮乏的文凭。对我来说,我学习计算机科学就是想为以后开展新事业或者创业时做准备。&/p&&p&我不反对大学。对我来说,大学经历很美好,很有价值,对每个人来说都是这样。我只是希望我给出这样一种选择,那些觉得当下的政策不适合自己的人可以有新路可走。&/p&&p&Q)这仅仅是为了通过考试吗?&/p&&p&不是,但区别很细微。许多课程基于之前学过的概念,所以我的目标是尽可能地去理解每门课。临时抱佛脚只是一种为了考试死记硬背然后很快遗忘的方法。理解更难,却并不会耗费更多时间(如果每门课都为后一门做好铺垫)。&/p&&p&更新:最初的四节课,我同时学三到四门。虽然这导致我在回顾知识上的时间比正常的少很多(一个月而不是一学期),这却提升了重复的好处。&/p&&p&最终,因为最初的课程大部分都是在为后续更难的课程打基础,我的理解能力和考试表现都上了一个台阶,这些就是我通过考试的工具。&/p&&p&Q)关于计算机科学,你以前有哪些经验?&/p&&p&我在高中的时候写了挺多代码的,大多数是创造电脑游戏。另外,我在曼尼托巴大学商学院上学的时候,也上了四年学制的计算机科学课程。所以确实,我之前有编程的经验,在这次挑战中占了优势。话虽如此,我的技能水平可能跟那些去MIT上学的计算机科学的学生相距不远。&/p&&p&还有一点就是我在2011年七月就上了第一门课,8.01经典力学,作为预测试课程。因此我在这12个月内实际学习的课程数是32门课。&/p&&p&Q)我是博客主/记者,如何跟你联系,分享故事?&/p&&p&通过邮箱,或者通过&a href=&http://link.zhihu.com/?target=https%3A//www.scotthyoung.com/blog-new-new/about-and-contact-info/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&这里的表格&/a&。接下来我会变得很忙(显而易见),所以很抱歉我在短期内不能很迅速地查看邮件。我在学习一门课程时通常不在线。&/p&&p&---------------------------------------&br&&/p&&p&个人博客地址:&a href=&http://link.zhihu.com/?target=http%3A//chenyuxiaodhr.github.io/zh-CN/CS-Learning/MIT-Challenge/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT挑战(如何在12个月内自学完成MIT计算机科学的33门课程|内附MIT公开课程资源和学习顺序) | CdiajadeX's world&/a&&/p&
译者注:本文译自,Scott拥有超强的学习能力,曾在12个月内自学完成麻省理工学院计算机科学的33门课程。本文就是他个人对于这次MIT挑战的介绍和总结。版权声明:本次翻译已经得到Scott本人授权,禁止任何形式的转载。首发公众号:编程…
最下面有WIN10 1607更新之后的设置方法。&br&**********************************************&br&&br&上面的回答都太高大上了,&br&有个最简单的,&br&只要把网络连接设为按流量计费的链接,&br&然后就不会更新了,&br&各种推送也关掉了,&br&这时候可以打游戏啥的,&br&没事的时候再打开,&br&就可以自动安装了,&br&不用重启,不用注册表,不用组策略各种高大上哦。&br&。&br&。&br&。&br&。&br&我同事刚换win10的时候一个月跑掉了15个g的上月流转流量,15个g的本月流量,四百六十多的公务话费,和两个g的流量自动升档包。&br&。&br&。&br&。&br&。&br&有人问怎么设置&br&非常简单&br&在桌面右下角的联网图标上点左键,&br&然后选择网络设置(这样就进入平板模式的网络设置了),&br&然后应该是最上面的wlan,(不是的话就点进去)&br&然后右侧偏下有一个高级选项,&br&进去后第二个就是设置为按流量计费的选项了。&br&。&br&只要点三下鼠标就可以解决这个问题啦,&br&恢复方法同上。&br&&br&&br&&figure&&img src=&https://pic1.zhimg.com/74fc856aab6cc6fc271a0_b.jpg& data-rawwidth=&260& data-rawheight=&163& class=&content_image& width=&260&&&/figure&&br&&br&&figure&&img src=&https://pic1.zhimg.com/ef0cfe919bd868_b.jpg& data-rawwidth=&332& data-rawheight=&443& class=&content_image& width=&332&&&/figure&&br&&br&&figure&&img src=&https://pic1.zhimg.com/8f9132ebab3c50dba38ac98_b.jpg& data-rawwidth=&796& data-rawheight=&800& class=&origin_image zh-lightbox-thumb& width=&796& data-original=&https://pic1.zhimg.com/8f9132ebab3c50dba38ac98_r.jpg&&&/figure&&br&&br&&figure&&img src=&https://pic3.zhimg.com/3ffba281469fee1553d99e_b.jpg& data-rawwidth=&701& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&701& data-original=&https://pic3.zhimg.com/3ffba281469fee1553d99e_r.jpg&&&/figure&&br&&br&&br&&br&&br&&br&&br&**********************************************************************************&br&更新WIN10 1607之后很多人都找不到高级选项了。&br&&br&现在改成r直接点连接的WIFI名称了。&br&&br&步骤如下:&br&1.点击电脑右下角网络图标。&br&&figure&&img src=&https://pic3.zhimg.com/v2-d1fcc792a62efdb25fbca1e_b.png& data-rawwidth=&526& data-rawheigh

我要回帖

更多关于 英雄联盟游戏进行中 的文章

 

随机推荐