在上个月某一天的夜里,当时躺在床上的我就突然想到一个主意:为什么不构建我自己的知识框架呢?
到了大三上学期,终于对计算机这门学科有一点点的全面认识,初步了解到很多基础学科以及专业学科都是紧密联系在一起的。例如《C++》与《数据结构与算法分析》,《通信原理》与《计算机网络》。构建知识框架,就是把自己所全部学过的关于计算机的课程和知识放在一起,尽可能地联系起来。可以预见的好处就是,对自己的知识储备有一个比较清晰的认识,对自己的弱项进行补强、强项加以利用。例如,如果我觉得自己对操作系统的了解不够,可以先复习《计算机原理》,再看《现代操作系统》,因为前者是学院安排的后者的基础课程。 还有一个好处也是可以预见的,学习新知识的时候,就是扩建知识框架。一种情况是根据现实需要学习,接到一个自己比较陌生的任务,假设是Linux下的C/C++开发。那么,首先,对Linux系统的了解是必须的。那么联想到自己所学过的《现代操作系统》里面有提到过Linux,就可以先复习相关的内容,然后再找对应的书籍以及其他资料补充知识。由于有了基础,学起来就会比较轻松,更加有方向性而不是到图书馆一股脑借好几本书胡乱看一通。另一种情况是自主进阶,在没有具体工作需要的时候,为了让自己不原地踏步落后于人,那就肯定要逆水行舟向前进,提高自己的水平。给自己充电的情况又有两种,一种是学习全新的知识,另一种是在有基础的情况下学习更高新的技术。无论是哪种情况,根据知识框架审慎选择学习方向和内容都是非常重要的,因为可供利用的时间本来就不多,根本不能浪费在迷茫不知道学什么和学一些对自己没有多少用的知识上。 学习知识不是目的,目的是把所学的东西应用到现实当中去。构建知识框架,就等于把自己所学过的东西做成一个数据库。这个“数据库”不仅可以帮助我们维护和管理“数据”(知识),当我们需要用到具体“数据”的时候,还可以非常有效率地把“数据”提取出来以供使用。如何开发这样一个强大的“数据库”?写博客,把自己的学习内容、学习情况、学习想法等等统统写出来,让自己变成一个DBMS(数据库管理系统),把博文当做一张张基本表,一步一步地实现这个构想。我习惯于先说后做。先说出来,不是为了吹牛向人炫耀,而是为了让自己知道到底要做些什么、到底要怎么做。当然了,计划只是一个蓝图,到底能不能变成现实,还要看以后到底能不能做到自己所说的点点面面。