思维-学习方法和模式(3.30)

这个题目有点大,也感觉这块内容要系统化整理出来比较困难,但是我还是准备先写这篇文章,将自己最近的思考做一个总结,以后有了更加系统化的思考再进行修订。

既然我在谈思维的文章中谈到了思维本身是有框架和模式的,也初步整理了这方面的内容,那么对于学习而言本身也一定有一种基础的方法和模式可以遵循,而我对学习方法和模式的思考更多的也在于如何进行抽象和归纳,以抓住一些本质的内容。

如果简单的谈学习方法,你会发现前面在思维方式中的很多内容完全适用于学习方法,比如学习要遵循一定的步骤,先易后难,由简入繁,懂得归纳和演绎,能够熟练的运用 分类,对比,抽象,分解,组合,聚合,排序,合并,假设,验证,模拟,统计 等一系列的思维方法来理解和加工你学习到的知识和内容,最终把这些知识内化吸收到,并能够应用学到的知识去指导后续实践。

理论和实践本身并没有严格的边界,你现在看到的理论知识和常识性的定理,很可能则是前人通过大量的实践和试验,最终得出的经验总结。而我们现在的实践,最终在固化或显性化为经验后,最终又可能成为后人的基础理论。我们现在的学习有一个基础就是我们已经 站在了巨人的肩膀上面

1.对新领域形成主干认知

当进入一个新领域知识的学习的时候,一开始是最困难的阶段,太多的新名词,术语和公式等,很容易让你一开始就丧失了信心。而刚开始的重点恰好在于 不求甚解 四个字上面。

不求甚解的核心就是不要一开始就钻入到细枝末节中去了,刚开始的重点一定是搞清楚新的领域究竟是个啥?怎样用最通俗的方式对新领域有个完整的理解。同时基于新领域通过搜索和采集大量以粗浅信息为主的泛读,通过泛读目的只有一个,就是形成一个对新领域最核心的主干知识点的理解。

即刚开始的学习是要第一次打开新领域这个黑匣子,那么一开始就不能钻的太细,而是真正理解清楚这个黑盒子里面究竟有几个主干点,同时这些主干点相互之间究竟是什么关系?主干知识点之间是如何相互影响的同时本身有无前后依赖顺序等?

如果你理解不清楚这一步,那就不要朝下面走,你可以去找有经验的人去把这个最粗的脉络用最通俗的方式给你讲清楚,并让你理解清楚,能够洞悉到事物的本质,同时你理解后能够用你的方式复述清楚。对新领域学习形成一个基础的主干认识是我展开后续学习的基础,只有这样才能够让我们带着最基础的目标去学习,才知道学习的知识究竟有什么用?能够解决我们什么问题?

再强调一遍,各个领域的学习基础方法仍然是相同的,因此对于主干脉络的形成并不需要你一定要去大量实践后才能够形成,根据你已有领域的学习经验,根据前人的总结和知识传递,你完全可以在没有进行大量实践的情况下形成对某个新领域主干框架的搭建,在这点上 理论本身是可以转理论的 ,虽然这个直接转化的理论在某些细节上面可能存在错误或偏差,但是这些都不要紧,后面实践后自然会纠偏。

2.快速迭代行动达成最小目标

在学习上没有太多的捷径可走,但是任何事物的学习一定是可以从简单到复杂,从容易到困难的。那么我们在形成主干框架后最重要的一件事情就是要快速的通过学习,完成和达到一个最小目标单元。你也可以理解为在主干框架不做过多展开的情况下,我假设了一个场景或案例,快速的学习后进行一个一个达成目标的基础验证。

在这个验证中,你会真正理解清楚各个主干知识点之间是如何串联起来的,相互之间是什么关系,输入和输出之间是如何衔接的,最终又是如何协调运作完成和达到一个最简单的目标的。

类似Java开发的学习,比如用SSH框架开发企业级应用,到了这个步骤后最重要的就是用SSH框架完成一个最简单的数据表的CRUD操作功能。这个功能你做完后可能没有任何实用价值,但是完成这个功能后你对整个框架各层之间如何协同,完成一个最基本功能涉及到哪些工作内容基本就清楚了。

也就是说通过这种最小周期迭代你达成了一个最简单的目标,完成这个目标后你对Spring原理,IOC等估计很多东西都没有仔细理解清楚,但是这不妨碍你完成这个功能,也不妨碍你通过这个最小迭代搞清楚一个开发过程的最基础框架,模式和原理。

这个步骤相当关键, 其一是理清事物基础原理和运作机制,其二是快速达成小目标树立信心

3. 梳理完整的知识树

到了这一步又是相当关键,还是原来说过的,如果你自己都不清楚你要到哪里去,给你一张地图也没有用;为了搞清楚你要到哪里去?那就必须解决两个问题,其一是搞清楚你最终的学习目标是什么?其二是搞清楚该学习目标究竟和哪些细化的知识点有关系,这些知识点间本身又存在哪些关联和依赖关系。

在第2个步骤达成小目标后,我们又需要 大量的泛读和资料搜集 ,注意这个步骤仍然是不要钻入细节,这个步骤的核心目的就是将第1个步骤形成的主干知识结构进行知识点的分解和梳理,让其真正变化为一个羽翼丰满的知识树,从只见树木到最终能够看清楚完整的森林。

完整的知识树的梳理你会发现主干知识点都还需要进一步分解为更加详细的知识点和技能点,同时你也可能发现主干知识点在进行这部分分解后,细化后的知识点之间会存在重复,交叉等情况了。即分解到下面你会发现2个主干知识点都需要你掌握一个基础理论或技能。比如还是拿Java程序开发来说,你会发现分解到后面对于Java里面的多线程和IO编程可能变成一个共性技能点。

完成知识树的形成后,更加重要的就是进一步搞清楚知识树上的每一个知识点究竟是解决哪类问题的?同时搞清楚这些知识点本身和我们要达成的关键业务目标究竟有无关系等。梳理清楚这部分的原因是, 我们需要拿到这种地图根据目标驱动制定详细的学习和行动路线了

4. 基于目标优先级制定可视化学习进度

到了这个阶段,最重要的就是基于我们想达到的目标,按各个知识点对目标贡献大小的优先级,各个知识点直接本身的前后依赖关系来制定分阶段迭代的计划,按照迭代计划逐步开始学习。

每一个迭代学习完成后,就马上进行实践,实践完成后再进行复盘总结。

同时每一个迭代计划关键是一定要可视化,即任何一个迭代学习完成最终对学习成果的检验都是可以量化的,我们能够真正看到我们学习的成效。 任何领域的学习都是如此,只有每个阶段能够看到实际的成效才能够真正让你树立信心开展后续进一步的学习。

这个阶段往往需要大量的实践,反复的练习,不要急于求成,既要懂得短周期迭代的道理,但是也要懂得任何学习和实践都无法真正一蹴而就。

学习和实践过程中遇到了问题怎么办?如何检验自己的学习成果?到了这个阶段你会发现学习和实践的过程一定不能是自我封闭式,而是应该是 开放式,团队化或社群化 的,是和实践结合交替影响的,正是由于这个原因如果让你参与一个实际项目在过程中学习,那么其效果远远会好于你单纯的看书和自学。

同时在这个阶段导师仍然很重要,旁观者清,只有你的导师往往才容易以旁观者的身份看清楚你存在的关键问题点或欠缺点,从而帮助你制定有针对性的改进计划迭代提升。如果完全是你自己,你很可能无法发现这些薄弱点,而自我感觉良好并措施了关键技能点打扎实和改进提升的机会。

5.突破瓶颈寻求量变到质变

从一个简单的工匠变为大师,从初级到中级,中级到高级,你会发现所有的阶段跳跃点都是最困难的。有些人花费了一辈子的努力往往也很难达成质变的跨越。把这个简单的归结到不够坚持和专注显然是不对的。

到了学习的后期,如何真正实现突破才是关键,在你已有了大量的实践练习和量的积累后,如何寻求质变?诱导质变的关键点究竟在哪里?对于无法突破究竟是练习的时间不够,还是基础不牢固,还是知识没有系统化等等原因你都需要去静下心来好好分析。

首先你要 养成总结反省和复盘的习惯 ,懂得反省和寻求自我改进和突破的关键步骤,保持这个习惯那么就容易出现突然开悟这种场景,你会发现在量积累到一定阶段后,由于某些特殊事件的触发让你将所有知识点全部串联起来并融会贯通,让你真正能够跳出盒子来看待整个完整事物。

其次做任何一件事情都带着更加严格和专业的眼光来要求自己,能否做的更快速点?搭建的系统能否更加安全和可靠?如何将成本进一步降低等。所有的这些思考都会让你去追求极致,这种专注才能让你形成 持续改进的思想 ,只要你在持续改进你就一定会发现不断的再进一步并逼近一个极限和临界点。那么突破这个临界点自然也就是早晚的事情了。

最后你会发现,真正的质变往往更多来源于 高人的指点 ,虽然这种指点代替不了你自己的反复实践练习。但是这种指点最大的好处就是真正以前人的经验来梳理你当前行动,让你少走不必要的弯路,同时也帮你真正找到你无法突破的关键点或影响因素究竟在哪里。如果你在自我突破关键时候遇到这种高人那就是最大的幸运。

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章