如何平衡理论知识和项目知识的学习

        友@昱全yuquan在微博中提到“有时候觉得自己基础不扎实看看算法,计算机网络,操作系统。又觉着自己工作的东西还木有做的好,得多熟悉项目和安卓源码,这两件事情得有一个平衡吧。特别是基础知识,最怕学的不系统,到时候打了水漂。。。”那么到底怎么平衡这两部分知识的学习呢?


        我们先把理论知识和项目知识各自所指的内容确定一下。

        我认为这里说的理论知识指的是算法、数据结构、操作系统、设计模式、面向对象分析与设计、软件工程等计算机学科中通用性较强的理论内容,这些内容可能很难直接作用于项目,并且其收益不是立即就能得到体现,但是这些理论却能为自己的思想、理念等更升到新的高度。

        另一方面,项目知识我认为其所指包括工作中用到的开发语言、项目工具、项目代码、项目文档以及与工作内容密切相关的衍生知识。其内容主要围着日常工作,作用是提高工作效率和工作能力,并且能在较短的时间内收效显著,有利于工作任务的完成。


        建立在这样两类知识划分的基础之上,就可以较合理的分配学习计划了。

        首先是考虑紧急程度。如果项目需要的知识很急迫,那么就可以优先学习这部分知识,而且要有重点,有取舍,除非时间充裕,不要眉毛胡子一把抓。这部分的系统性不那么强,因此可以在较短的时间内熟悉并掌握,当你在试用期内的时候,这部分是最高优先级要学习的内容。

        其次是考虑个人的持续发展。每一位技术人员都希望自己能持续发展,只有实践经验是不够的,而且用不了多久就会发现实践经验的提升会越来越慢,这样就需要理论学习了,理论与实践相结合才能使自己的水平快速上行。这些理论知识一般在工作时间内是没有时间学习的,主要的时间来自业余。理论知识有一定的系统性,有些课程有相互关联,这时就要充分了解课程的前后置关系以及课程内容、基本要求、适应人群等,防止对系统性的破坏。同时最好与经验丰富的朋友多交流,以免在不合时宜的时候花大量的时间在不恰当的课程上。要先学会走路,再试着跑步。

        余下的就是考虑自己的时间、现有的水平、学习状态等其他因素了,不在此一一叙述。


        总结一下,要根据项目的紧急程度来安排学习内容的优先级,对理论知识要保持学习的持续性和连贯性,选择合适的课程学习并且要持之以恒。这就是我对开头问题的回答。


——欢迎转载,请注明出处 http://blog.csdn.net/caowenbin ——

你可能感兴趣的:(设计模式,数据结构,算法,工作,文档,技术人)