用互联网帮助你学习编程

用互联网除了可以帮助你谈恋爱,还能帮助你学习各种知识,在Academic Earth这个网站上聚合了众多美国知名大学的Open Course,Open Course就是把真实的美国大学课堂的录像放在互联网上给全世界的人免费观看,让无缘或者暂时还不能进入这些大学的人感受这些高等学府的课堂氛围。课程的范围很广,从Astronomy到Medicine都有。其实我去年就开始看斯坦福的一些开放课程,直到今年发现这个聚合网站,在加上iTunes在国外的速度较快、丰富的电子书和Google Calendar的短信提醒功能,我终于能有计划有进度的自学编程知识。

imageVia

一 前提条件

要利用这些课程和资源,你至少要具备以下几个条件。

1 较强的英语听、读能力。为什么要用英语资源?首先,计算机学科就是他们发明的,跟他们学肯定是最直接的。就向你学功夫最好来中国,一个道理。然后,国内的大学貌似还没有大方到把课录下来给你看。我的高中倒是录过我们的课堂,不过那一集一集是要卖钱的。差距就这样体现了。

2 一个iTunes账号。iTunes 8以后应该是可以不用国外的信用卡就能注册了,大家自行搜索。

3 用一款好的日程管理软件,并且有较强的自我约束能力。在学校上课都要逃课,在家自学更需要强大的意志坚持下去。

4 明白方法正确的重要性。学习编程从哪里开始学?怎么开始学?这些问题或许你还没有答案,但是至少要自己思考过。不要去Google搜索如何学习编程,自己从我下面提供的资源中最入门的课程开始,撞墙了就总结经验,一段时间后,适合你自己的方法就能形成了。

4 最重要的,对编程热爱到可以每一行代码都用心对待(语出Guo Jing’s Blog)。这样你才有足够的动力去自学。

二 利用iTunes的PodCast或者iTunes U订阅课程

Academic Earth这个网站,你可以在线收看所有课程。但是在线收看一个是速度不能保证,一个是开着浏览器看视频很容易你就把鼠标移到别的书签上了。

而这个网站的所有课程你都可以用iTunes账号订阅,订阅之后可以和方便的下载观看。这种聚合订阅不需要你开启浏览器,更可以标出哪些课程学习过了哪些还没有让你对自己的进度有个大概的映像。

image

订阅方法除了在Academic Earth网站中通过视频下的Subscribe to Podcast按钮直接订阅,也可以去iTunes或者Google搜到这个某个课程的专门主页订阅。通过第二种方法你可能可以订阅到和美国课堂同步的最新课程视频。比如说我现在的一门课的进度就和Berkeley大学的09 Fall的进度是差不多的。

image

另外,除了视频,自行搜索这些课程的主页还有个好处是课程主页一般都有讲义,作业和参考书,这些都是不可多得的宝贵资源

三 利用Google Calender订制学习计划

利用Google Calendar,我们可以制作一份学习计划表。在My calendar中新建一个Calendar,你可以把它叫做编程学习等等,然后在其中添加要学习的课程和时间安排。

注意,在新建计划的时候你可以选择每周重复这个计划到某个时间,这样你可以很轻松的制定一份半年的自学课程表。

image

这个重复功能弹性很大,你可以单独的选择在一周的某几天学习某一门课程。当然,调整起来也会更方便,因为刚刚开始定计划的时候总会有超过自己的能力范畴或者吃不饱需要加大剂量的情况出现,这时候你就可以很方便的调整自己的计划。

记得在Calendar中设置短信提醒,这样你就不会错过你的计划了。

最后,你还可以分享这个Calendar,比如说我的这个计划,欢迎大家参考并提意见。

P.S. 推荐斯坦福的那个编程方法论(Programming Methodology)的课,讲得太好了,虽然很基础,但我忍不住去看了一遍……

四 利用丰富的RSS、电子书资源和强大的搜索引擎做知识库。

利用Google Reader等其他RSS订阅器,你可以订阅许多个人博客和讯息网站。

利用搜索引擎,你可以迅速找到自己不解问题的解决方法。

同样,利用搜索引擎,你可以找到丰富的电子书资源。再加上桌面搜索软件,你甚至可以拥有一个私人的图书馆,并且查找速度比在普通图书馆里索引的速度快上不只一个数量级。我的电子书收藏一角:目前已经有800MB的资源并且还在不断增加中。

image

但是,在这里要说的是,既然立志于编程,就应该知道知识产权对这个产业的重要性,今天咱们用的这些免费资源大部分都是非法的窃取别人的劳动成果的行为。今天你这样做了,明天你做的东西也可能会被别人非法使用。

我的原则如下:

1 能用正版就用正版:能买的起正版书籍就买,买不到的就去本地图书馆找,找不到也买不到的才考虑上网搜。毕竟纸质书籍读起来不仅更有感觉还心安理得。

2 下到的电子资源低调的使用,不宣扬不传播。这不是什么光荣的事。并且立志有经济实力之后尊重版权和原作者的劳动成果购买正版。

我相信这个学习框架大体适用于其他学科的学习。当然,不论学习什么,学习的目的是什么,最重要的还是强大的动力和勤于思考的能力。有了这两个,应当是攻无不克学无不会了。