刻意练习达到知行合一
一、更好的学习
-
成年人的知识记忆能力很弱。所以,必须将知识点转换成方法记忆或者经验记忆,才能更好地学习。
参考 https://blog.youkuaiyun.com/renyongjian1994/article/details/118054146
-
对于编程而言,这个过程需要刻意练习。
-
刻意练习,需要先有一个心理表征,或者说一个思维模型。
二、编程的心理表征
- 问自己一个问题,如果现在直接让你手写一个堆排序,能写出来吗?
- 如果不能写出来,是因为欠缺了什么?
- 其实使用代码解决问题,是分两步的。第一,思维上要理解问题,找到解决方法。第二、使用代码把你的思维表达出来。
- 思维是缥缈的。只能使用抽象的方法来描述思维。
- 比如,这个堆排序,堆就是一个思维因子。描述这个思维因子的东西,是数据结构。而针对这些思维因子的操作,就是使用算法。所以说,程序=数据结构+算法。
- 我最终要做到的是,如果我理解了这个问题,并且想到解决方法,我就可以使用代码表达出来。
- 我认为这种能力就是编程的能力。
三、怎么做
-
去发现和解决更多的问题。每次写代码的时候,问问自己,问题中有哪些思维因子要描述?需要添加哪些操作步骤?
-
使用导图帮忙罗列思维因子。相信会有进步。
-
刻意练习-》 比如练习一些 Linux 的命令。
练习 写一些简单算法练习 解决一个简单的问题。
练习 一些 好用的软件的快捷键的使用。
练习 多线程的API的使用练习 网络编程练习 推演网络协议交互的过程。
练习 写一些复杂的算法练习 玩游戏?
练习 解决一个网络问题练习 做一个自己的小软件。
练习 和别人沟通?练习 使用更好的记忆方法。
练习 使用不同的方法。使用 python 和 C 都写一写。
-
让心中的高峰变成一节节的台阶。如果是一座高峰,总是感觉难以跨越。如果是一节节台阶,每走一步,都有一步的成就感。
就是要拆解问题,分解出多个里程碑事件,来提升自己练习的体验。
-
练习相当于直接变成经验记忆了。但是为了更快的学习,也要和方法记忆结合。