大学生新学期新规划
进入大学以来,许多同学会在学习上对与高中完全不同的学习方式感到困惑而不知所措,没有了老师的督促,我们更应该以自学为主,那么我们该如何调整自己,使自己快速适 应大学的学习方式呢?
解决问题的流程
在学习的过程中,我们总会有不了解的东西,恰好身边又有大神了解。这时有些人就不假思索开始提问了。我曾经回答过相当多的技术问题。
当自己学习出了问题时,要尽可能独立思考去解决;再考虑通过查阅书籍和网上的资料来解决;实在还是解决不了,再考虑请教别人,而提问也需要智慧。
自主学习的动力来源
人的本性都是充满好奇心,渴望了解一个未知事物的。好奇心的驱使下,人是会主动学习的。就整个人类社会而言,自古就不断的探索宇宙,这就是好奇心的表现,如果把全人类看做一个整体,人类的终极目标,或许就是要找到宇宙的真理,找到无尽的知识,满足人类无止境的好奇心。
为什么要自主学习?
作为一个大学生,如果你希望能有所成就,但又想像中学一样等着老师来灌输知识,那肯定是不行的。最有价值的东西,往往都是原创性的,如果老师都能教给你,那你只能做一些体力活,创造不了什么价值。
问题尽量独立解决,反复思考实在不明白才去请教别人,这样才能锻炼学习能力。有种说法,内向的人更容易成功,从学习能力的角度来看,内向的人更倾向于自己解决问题,所以学习能力得到的锻炼更多,促使其更容易获得成功吧。
为什么要通过网络和书籍学习
牛人为什么写博客呢?他们不喜欢即时回答问题,没法随时保持很好的心情和灵感。有些问题太常见了,也没有那么多的时间精力耐心,一遍又一遍的去回答别人。更喜欢在有灵感的时候写博客把所想所学全部写下来,然后让有疑问者自己去看。典型的FAQ,就是收集了常见的问题和回答进行整理的结果,大大提高了问题解决的效率。大神写代码、设计电路的时候都深刻的领悟了“模块复用”的思维,这是人类的智慧结晶,于是很多大神也一直努力把这种理论应用到实际:多写博客少回答问题,成功的做到了“知识复用”。有些人写书也一样。最优秀的人,可能没有精力也不愿意当老师,但是他们愿意写博客、写书分享知识。
除了精力有限以外,文字能更持久的保存知识。即使很多年过去,甚至作者都不记得当年的学习心得了,或者作者已经不在了,只要当时把知识写成文字,我们还是能通过这些作品学习到需要的东西。书籍是人类进步的阶梯,正是这个道理。
善用搜索引擎
如果你在学习一门很多人都会学的知识,例如现在的安卓开发,你所遇到的各种问题,往往有很多别人都遇到过。所以只需要利用强大的搜索引擎去寻找问题就好。
科技学术方面的内容,一定优先考虑谷歌;生活方面的内容,可能百度更懂中文(切身体会,血的教训。一个技术问题百度翻了好几页都没解决,用谷歌的第一条搜索结果就搞定了)。谷歌如果上不了,可以使用其镜像站点 www.googleforchina.com
谷歌搜索技巧,可参考网上文档《Google搜索从入门到精通》。
网络博客和书籍的区别
博客和书籍,虽然都是被写成文字,用来分享知识,但两者是有一定的区别的。书籍更加正式,不仅内容比较系统全面,并且经过了比较规范的校对审核,才会被出版。如果你想系统性的学习一门知识,可以考虑看一本不错的书籍。
而博客等网络资源也有好处。有些知识比较零散,没办法也没必要写成一本书,例如编程时遇到的一个奇怪的小问题,这时候更容易在网络上找到解决方法,而不是书上。网络资源及时性好,一旦写好马上就可以发布,而书的出版需要长时间的构思编写,和后期的校对,还要经过出版的流程,才有可能被买到或者借到。通常不需要支付额外的费用,也是网络资源的一个优点。
现状
由于种种原因,尤其是从小就接受的灌输式教育,很多人早已丧失了对知识的渴望。到了大学我们没有了中学那么多的束缚,虽然大学的环境也远没有想象的那么美好,但是至少我们能抽出很多课外时间。学习自己感兴趣的东西,需要自主学习能力。
看似简单的问题不简单
有的人很认真的花了很长时间做了一个东西,比如很复杂的电路,或者很长的程序,然后发现不工作。检查了一下没找到问题,就直接复制出全部代码给别人一发,然后表现的极其可怜的样子,跪求大神帮忙。
提问者往往认为,对于大神来说,这点代码岂不是一眼就能看出问题来么?但是事实上,这种检查故障的问题,往往比写程序、做电路难,做一个同样功能的东西往往都更简单,因为找错的过程很容易被错误的想法误导。尤其是电路,往往根本不是网上聊一聊,就能愉快解决问题的。
举两个例子。
1、大一的时候学C语言,小明学的不错,大作业很快都做出来了。一个舍友让帮忙找错,小明看了很久也没找到问题,最后终于才发现,原来舍友把分号写成了中文分号,但是屏幕上显示的,根本看不出来。解决这个问题花了半个小时,而小明自己做这道题时只用了几分钟。
2、有个初学者做的电路出问题了,LED闪灯常亮但是不闪烁。然后有个同样是初学者说了句,是不是三极管接反了,因为他(她)有同样的经历。竟然真的是这样,问题这么轻松的解决了。
但是在此之前,这个人可能也问过所谓的大神。大神一想,最常见的原因肯定是电路错了或者没焊好,又或者从电路原理,根据现象来彻底的分析了一遍,但是发现模拟电路基础不够牢,最后没有得出结论(LED闪灯电路很简单,制作起来相当容易,连一些大一的同学都看不上。但是原理很难懂,自己设计电路更难)。大神考虑问题更加全面复杂。
这个时候,提问者可能会想,原来所谓的大神也不过如此。真相就是这样的,大神也有很多不懂的问题,没有亲自做过这个电路;如果做基本上不会出问题,因为该注意的问题他在潜意识里就知道;但是检查别人的问题却如此困难。因为你永远不知道自己到底学了哪些东西,并把它们都倒出来,就像你不能逐个列举你所知道的每个单词一样。
最后的结论就是,维修电路、程序的这种问题,即使大神也不一定会回答。除非你的程序确实很短而对方恰好很了解,比如printf的参数不对,一眼看出来了,那就不是难题了。又或者是由于关系很好、心情很好、你表现的很真诚、大神恰好有灵感等。
你可能听过一个故事,一个硬件工程师,在一个电路上画了一条线,拿到了几百万。看到这里或许你就明白,画出那条线的工程师是有多了不起了,绝非想象的那么简单。
不简单的问题如何解决?
遇到这种问题没人帮忙应该怎么办呢?我认为还是应该独立解决问题。至于如何解决问题,这就是一个很复杂的课题了,也是很考验智商的,锻炼的好机会。很多时候解决一个问题并不一定能马上想到,可能睡觉的时候突然有了灵感然后想明白,可能绝望的看网上的资料突然就想明白了。甚至还有做梦的时候想明白问题的例子,例如化学史上苯环的发现。
解决程序和电路故障的一种有效方法是,分模块实现、分模块检查。一个大的系统,分成了一个个的小模块,每个模块相对简单很多,分别实现并检查每个模块,每个模块都没有问题了,整个系统基本上也就没有问题了。
现实有时很残酷
有的人,程序调试了两个小时找不出来问题就崩溃了,觉得自己已经很努力了。但是有时候一个问题可能需要很久才能解决,甚至很多问题你都不知道它有没有答案,但是不得不硬着头皮去摸索。能坚持到什么地步,也是体现人与人之间差距的重要一点。有兴趣可以看一下这篇文章,看一下我如何解决了一个头疼的难题。