有哪些高效的学习方法
可能你经常看到这样的词:“Study in Public”、“Learning by sharing/teaching”、“Learning by doing”,这些都是绝佳的高效学习方法。
高效学习要解决两个问题:
1. 如何有持续的高质量输入?
2. 如何对学习的结果有高质量的反馈?
学习可能是一件不那么舒服和难以坚持的事情,反馈周期会比较长。在学校的时候,有老师监督和反馈,有考试的压力,有拿高分和考名校的 ,多少还是能坚持下去,毕业后这些都没有了。
像“Learning by sharing/teaching”,就是当你想要教别人、要去做presentation、要写技术博客,这之前就得逼着自己先把所要分享的知识点反复吸收,设想各种可能的提问,查阅各种资料,再加上deadline的压力,对于输入的效果是相当理想的。
而“Study in Public”,不仅仅有输入上的压力,并且还能收到各路大神的高质量反馈。像我经常会因为一些不成熟的或者错误的观点被打脸,但这让我从中受益良多,就像有很多老师在帮助自己。
“Learning by doing”尤其适合学习技能相关的领域,比如编程。“技能就是那些你以为你知道,但如果你没做过,就永远不会真的知道的事情。” https://twitter.com/dotey/status/1633332872416317440?s=20 学习技能意味着必须要动手练习,光看书看视频是学不会的。更重要的是,只有在动手过程中,才能获得有效的反馈。程序能不能运行,性能如何,很容易得到直接的反馈。
学习中的“反馈”,除了对知识正确错误这种反馈以外,还有一种反馈就是正向反馈,也就是对自己有激励意义的反馈。
就像现在的Tw1tter和微博的技术圈子,大家给出的反馈基本都是积极正面的,不会嘲笑你:“怎么这都不懂”,这种情况下“Study in Public”才是最有价值的。
同样是“Learning by doing”的方式学编程,为什么有的人能享受其中的过程,也是因为他们更能从中得到正向的反馈,找到编程的乐趣。
如何让自己获得正向反馈,我自己的一些经验技巧:
- 从容易得到结果的事开始,比如学习编程通常都从打印Hello world开始,一下子就看到结果了
- 一开始就让自己能得到正向反馈,比如先写单元测试,比如先写UI界面
- 把复杂的任务拆成多个简单的任务,一次憋一个大的很容易就半途而废了,不如变成一个个小的里程碑,更容易达到
- 多和ChatGPT(GPT-4效果更佳)结对编程,让ChatGPT成为自己的导师,遇到错误扔给ChatGPT给你提示,让ChatGPT给你提供编程思路
- 使用GitHub Copilot这样的编程助手,提升效率
- 把自己的成果分享出来,哪怕只是很小的不完善,就像这次AIGC浪潮中,很多人把自己的项目开源出来,哪怕有些还不完善,但大多都收获了很多Star,这种激励是巨大的
最后,适合自己的才是最好的,这些方法不一定适合所有的人,不过最好是能找到适合自己的一种或者几种学习方法,让自己可以能持续的有高质量输入,能持续的得到反馈,尤其是正向的反馈,就是最好的!
via: twitter: 宝玉
原创文章,作者:xyhun,如若转载,请注明出处:https://www.xyhun.com/13750.html