关于编程的杂谈

能来到此页,说明你对编程应该是有一点点点点感兴趣的。

很多同学不知道该怎么入手,于是就只好选择了在课堂上认真学习这条不归路.但以传统教育的方法来学习编程难度是非常大的,不亚于你在课堂上学了六七年的英语……

这篇文章的目的就在于给大家一个参考方向,至少能让你磕磕绊绊的前行。不保证这是条直道,不过至少不会偏离的太远:)

那我们该如何学习呢?

learning by doing

迷茫的同学,此时最好的办法之一是看看牛人们在这个时期在做什么。比如这篇:刘未鹏《我在南大的七年》

(当然,有更牛的例子:扎克伯格、乔布斯、盖茨、戴尔,但他们都干了一件事:退学,所以放在这里显得有点反动……,而且能有这种觉悟的更不至于来这看我扯淡了)

文章稍长,看了一半就关掉的同学我原谅你了。没关系,我用它的目的是为了说明:自学的重要性

“一个重复出现的现象就是自学,大规模的自学,逃课自学,上网找书自学,程序员行业是最适合自学的行业,网络是程序员的天堂,需要的资源、工具,比课堂上的多出何止百倍,如果说还有一个学科,并不需要传统的教育就可以成才,估计非程序员莫属了。作为程序员如果没有查过wikipedia,没有看过几本原版电子书,没有在国内外主要邮件列表里面提过问题吵过架,没有用技术博客记录学习的独特体会,没有订阅技术牛人们的博客,怎么好意思说身在这个行业呢?”

是的,就是这么霸气,只有逃课才有机会学得更好(我不保证这句的正确性)。

有些同学觉得自己什么都不会,一看到那些陌生的技术词汇,鼠标就有滑向右上角的趋势,逃离这片土地。
这是很正常的现象,踏入一个新的领域,在初期什么都不懂是最痛苦的时候,不过一两周后就会慢慢好转。

我们来看看池建强先生的《如何学习一门编程语言》
主要是注意一些思想、战略上的东西,具体某个技术、语言我们暂时不去深究

看完后,某些小白同学瞬间毛了"擦,没完了,又是这么多不认识的技术名词,还让我活吗!"。
等等,来个弹窗鼓励下:

恭喜你,你所见过的技术名词数量已击败了全国50%以上的用户

如果到目前依然还没有打消你学习编程的热情,咱可以继续往下谈了:

当我们面对如此多的技术方向,我们该如何选择?

“程序员行业的知识芜杂海量,而且总是在增长变化。很多人感叹跟不上新技术。应对这个问题的办法只能是:抓住不变量。大量的新技术其实只是一层皮,背后的支撑技术其实都是十来年不变的东西。底层知识永远都不过时。算法数据结构永远都不过时。基本的程序设计理论永远都不过时。良好的编码习惯永远都不过时。分析问题和解决问题的能力永远都不过时。强大的学习能力和旺盛的求知欲永远都不过时。你大脑的思维方式永远都不过时。”

ACM就是你学习编程语言、算法数据结构的最好的方法之一。
哪怕你并不想在这方面深入,也是非常好的为你进入其他方向打好基础的一个工具。

同时还有个好处:顺便将专业课中的 C/C++课、数据结构课解决了(意思是这些课你可以学点其他什么,不是玩游戏),同时期末轻松拿高分。
要是你学习中用的都是英文资料,那这就是一笔一石三鸟的生意。

我们学校服务器上搭载了一个OJ: http://ncc.neuq.edu.cn/oj
(Online Judge系统(简称OJ)是一个在线的判题系统,在你根据要求写出程序后,将代码提交到其中,它会帮你检验程序源代码的正确性)

在写出程序后,我们可以看是否正确的,以及你的战绩统计。这是一个简单的激励系统,跟你砍完怪得到金币和装备是同样的道理。

大家可以向周围的人宣传下我们的这个oj,不限于计工院的学生。

我们接下来会组织一些的编程比赛,一是为了给大家学习的动力,同时也为各种大赛,蓝桥杯以及ACM ICPC做准备。

最后分享一篇《ACM有什么用》从“大学四年走到这里也快要画上一个句号了”这一段开始看

在写这篇的时候,我浏览了一下2013ACM-ICPC区域赛入围名额,发现五个赛区我们东大的总校一共也只入围了2名(我们目前是0),

我有一个想法,在明年的ACM-ICPC我们至少在这个数据上超越他们,给他们一个下马威,觉得这个注意甚好的同学可以在下面留言。

路漫漫其修远兮,什么时候开始都不如现在开始的好

欢迎大家关注我的微信公众帐号 Flincllck Talk
当有新文章的时候,会推送到你手机。

分享到: