新手如何自学一个领域?这里有一份全指南

原创 Lachel算法

L先生说编程

 

之前写过很多跟学习相关的文章,但大都是集中于某个点,欠缺系统性。网络

 

今天,我想经过这篇详细的文章,把「学习」这个问题,简单梳理一下。框架

 

固然,这是一个巨大的话题,不免挂一漏万。之后有机会,再慢慢补充,造成一整个关于学习的系列。编程语言

 

但愿可以帮到你。分布式

 

 

 

1. 框架学习

 

很多读者朋友问过我「刚刚入门一个领域,什么都不懂,怎么学?」个人回答永远都是同样的:网站

必定要先从搭框架开始。spa

什么叫搭框架呢?简而言之,就是给你的大脑一个铺垫,让它准备好,告诉它:在将来的日子里,咱们将会大量吸取这个领域的知识,请作好理解和储存它们的准备。操作系统

 

举个例子:当你撰写一份策划方案、报告时,你第一步是否是先有一个总体构思,列一个大纲:我先写什么,而后写什么,最后写什么 —— 接下去才开始动手?

 

学习也是同样的。若是缺乏了框架,你全部获取的知识,就只是碎片信息而已。它们会孤零零地漂浮在记忆里,难以稳固存在,也难以被你所调用、组织、整合。

 

那么,如何搭建框架,令咱们的学习更加体系化呢?

 

我建议的方法,是去搜寻这个领域相关的经典教材,大约3-5本。而后读一遍 —— 无需一字不漏地精读,这太花时间了。大体翻一遍、通读一遍,就能够。

 

在这个过程当中,你须要思考和回答这三个问题:

  • What:这个领域研究的对象是什么?有哪些主要流派和分支?有哪些经常使用的术语?
  • Why:这个领域存在的意义是什么?为了解决什么问题?如今进展到哪里?
  • How:这个领域的主要方法是什么?有哪些被普遍认可和应用的基本成果?

 

举个例子。不少读者问「如何入门心理学」,我总会推荐几本大部头,像《心理学与生活》《社会心理学》《认知心理学》。不少人看到就会开始打退堂鼓:

「好几百页,何时才能看完,至少得看一年吧……」

 

其实你须要一页页把它们读完吗?固然不须要,也没有必要。你先读一下前两章,对它们的起源有一个初步了解,再大体翻一下其余章节,了解心理学有哪些分支、分别研究什么、目前有了哪些主要成果;再着重看里面加粗的、或是章末拎出来的术语,大体理解它们的意思。就能够了。

 

再好比,学习哲学,你没有必要一页页去翻完《大问题》《西方哲学导论》,你要作的是:总体通读一遍,了解哲学的起源是人对天然的怀疑,主要关注的问题是本体论、认识论和伦理学,大致上能够划分为古希腊哲学、经院哲学、近代哲学、现代哲学,每一个阶段都有什么特色 —— 好比近代哲学受文艺复兴和启蒙运动影响,思辨的核心从宗教转变为人文,开始引入成熟的逻辑学、科学,开始变得多元化,等等 —— 就能够了。

 

这个阶段,你要作的是什么呢?是博观约取,在内心创建起一幅图景。不要把本身局限在「做者的脉络」里面,而是要以你内心的图景为主,缺什么就补什么。

 

这在心理学上面,就叫作「图式」(Schema)。它是咱们认知和理解事物的基础。

 

好比:你翻完了一本书,知道哲学研究的一个问题是认识论。但你不清楚什么叫认识论。那就再翻到相关的部分多看几遍,或是把书里全部提到认识论的内容整合起来。没必要细究每一个概念是什么意思、每一个结论是怎么推出来的,知道它大概指什么便可。

 

这阶段的首要任务,是把这幅图景补全。一旦成功创建图景,它在你将来的学习里,会起到举足轻重的做用。

 

 

2. 概念

 

搭建完框架以后,你要作的,就是去把它精细化、补充完善。

 

在搭框架的过程里,你必定会碰到许多术语和概念,停留在「似懂非懂」的程度,颇有可能存在误差。那么,是时候把它们攻克掉了。

 

这个阶段,你要采起的方法,就不只仅局限在经典教材里面了,而是普遍地搜索。

 

好比,学习哲学,你看到一个术语,叫「质料」,翻了一下,发现来自亚里士多德,但书里由于篇幅缘由没有详述。那么,你就要本身去搜索这个术语,想办法把它弄通、弄透。

 

好比,你能够去找亚里士多德的哲学导论、解读,翻到相关的部分,去尝试着理解它准确的内涵。能够找书,能够在网上搜索,能够看公开课……不拘泥于一切形式。

 

你要作的是:快速定位到你存在疑惑的概念,用尽量多的信息去攻克它。

 

在这个过程当中,你多半又会碰到新的概念,那么,不妨继续顺藤摸瓜,循着「质料」出发,把相关的概念都归入进来,一块儿理解清楚。

 

不少朋友常见的困惑是:我怎么控制这个「度」呢?怎么避免本身不断延伸、跳转,陷入新的「概念海洋」里面?

 

个人建议就是:时时刻刻在内心自问一遍:「我是否可以用本身的话把这个概念解释清楚?」若是能够,而且不涉及新的概念,那就说明是时候停下来了。

 

好比:循着「质料」,你可能会看到「质料-形式」,跳到「四因说」……到这里就能够了。再继续深刻,就已经跟「质料」没有太大关系了。

 

要时刻记住,本身出发的目的是什么。以目的为导向,给本身划定「边界」。

 

一旦你认为本身足够理解了一个概念,就将它放回到框架里,试着用本身的话去解释它,看是否通顺、合理。若是是,那很好,继续寻找下一个概念,以此类推。

 

慢慢的,当这些概念都弄通透了,你的整个框架,也就更加准确了。

 

 

3. 网络

到了这一步,你就算是正式开始入门了。

通过框架搭建和概念澄清,你会发现,以前看不懂的东西,彷佛可以大体理解了;以前想固然的地方,原来是本身的理解不够准确;以前以为模糊的问题,也彷佛有了一些思路了。

 

那么,这个阶段,就能够带着下面这个问题,去阅读、听课、学习了。

 

什么问题呢?始终带着「联系」的思想,时时刻刻思考:我学到了一个什么知识点?它能够跟别的什么知识点联系起来?如何构建这种联系?

 

这才是学习的核心:知识的本质永远不是信息自己,而是信息之间的联系。

 

正是这种联系,涌现出了超越单个信息点总和的「系统性」。

 

如何思考「联系」呢?我本身经常使用的方式,是把每一个知识点看做一个「知识元」,它有三个突触,分别是 what、why 和 how。

  • What:话题,结构,类别
  • Why:原理,缘由,起源
  • How:应用,解释,结果

 

举个例子。你读到笛卡尔的「我思故我在」,你发现,他是在解释「自我」—— 那么,就能够把它跟「自我」联系起来。

 

过了一段时间,你也许会读到丹尼尔·丹内特的「多重草稿模型」,你会发现,他从脑科学的角度,提出了一种全新的「自我」观念。那么,一样把它跟「自我」联系起来。

 

这时,你会发现,围绕着「自我」,「我思故我在」和「多重草稿模型」产生了某种联系。什么联系呢?显然,后者是在反驳前者,提出了一种非实体的、分布式的「自我」。那么,你就能够把这二者,创建起一种新的联系。

 

进一步,你还能够去思考:为何他们的观点会有这样的差别呢?若是你把笛卡尔放回以前创建的「框架」里,不难从宗教和本体论去找到他思想的根基:他的身心二元论,本质上是一种对宗教和科学的调和 —— 那么,你又能够从 why 出发,去延伸下去。

 

一样,关于丹尼尔·丹内特的理论,从 why 出发,又能够延伸到脑科学、认知科学……

 

像这样,把浩瀚、繁多的概念节点组合起来,就可以组成一张网络。一张覆盖了种种学科、领域,从底层和表层,巨细靡遗的庞大网络。

 

这就是你的知识体系。

 

 

4. 主题

 

在上面的例子中,若是咱们把目光,聚焦到「自我」这个概念上,会怎么样呢?

 

你也许会想到「我思故我在」,想到「多重草稿」,想到休谟的「自我不过是一连串印象的集合」……这些被你嵌入知识网络中的节点,会所有显现出来,映入你的视野。

 

那么,你不妨去思考一下:围绕着这个主题,这些不一样的人、不一样的观点,可以如何整合起来?

 

他们的发展脉络是什么样的?彼此之间是什么样的关系?为什么会产生这些差别点和共同点?

 

这就是「主题」—— 聚焦到咱们庞大知识网络中的某个细节,去拎出一个「局部网络」。

 

像我在 大脑的漏洞:你是如何走向狭隘和顽固的? 中所写的内容,「事实 → 结论 → 观念 → 信念」这么一个过程,就是我知识网络中,围绕着「偏见」这个主题,所构成的局部网络。

 

有哪本书直接提到这个过程吗?有哪本书提出过「过分简化」「孤立记忆」这两个词汇吗?其实没有。

 

它们并非心理学中的固有知识。而是我围绕着「偏见」这个核心,把全部会致使偏见的过程,进行提炼、总结、概括,再赋予它一个名字,所得出的成果。

 

一样,「证明误差」和「信息茧房」,是同一个领域的知识吗?其实不是。前者属于心理学,后者属于传播学。但没有关系。在「偏见」这个主题下面,它们就是互相补充的。

 

这就是「主题」的力量。围绕一个主题,你能够把一个复杂的、抽象的过程提炼出来,变成一个新的节点;你一样能够把不一样领域的知识点放到一块儿,按照它们内在的类似点和共性,去总结出一个新的、更高层次的结论。

 

打一个比方。若是说知识网络就像一栋房子,那么「主题」,就是你在这栋房子里面,能够进行的种种活动:聚会,工做,吃饭,看电影,等等。

 

这些种种主题,就构成了咱们对世界的认知。

 

 

5. 迁移

 

终于说到了迁移。

 

若是说前四点,都属于「知识的积累」;那么到这里,就正式进入了「知识的应用」。

 

什么叫迁移?它的意思其实就是:把旧的、已知的规律、模式,迁移到新的问题、情境上面。

 

这个阶段,最重要的是什么呢?是理解和拆解外部情境的能力。

 

好比这个问题:博物馆着火了,你应该救一幅名画仍是救一只猫?—— 当你看到这个问题时,就应该透过表象去思考它的实质:

 

这个问题的实质是什么呢?是一个两难选择。

两难之处在哪里?一端是价值(名画),一端是道德(生命)。

 

那么,你或许就会发现:它的本质是什么呢?其实就是被说滥的「电车难题」的变体而已。

 

再进一步,当咱们面临道德和价值的两难抉择时,应该如何思考呢?咱们不妨求助于伦理学。

 

伦理学有两个观点,分别是目的论和义务论。前者着眼于事物的「效用」和「价值」,后者着眼于行为的动机和行为自己,只要出发点是善的,行为就是善的。

 

那么很显然,把伦理学的知识迁移过来,咱们就会知道:这类两难问题并不存在答案。但透过这类问题,咱们能够作的是,反思本身的立场和观念。

 

好比,你是一位功利主义者,那么不妨想想:你真的能接受一条生命在你面前消失吗?你是一位义务论者,那么不妨想想,你的行为真的是发自心里的吗?是否会受到外界的影响和干预?

 

固然,若是你用别的知识去迁移,那得出的可能又会是别的结论。

 

这就是一种迁移。具体来讲,就是三步:

1)在前四步积累知识时,为知识预留出「接口」(参考第四点的 how 突触)

2)遇到新情境、新问题时,经过对问题进行拆解,找出它背后的核心。

3)把问题核心跟「接口」作对比,利用已有的知识,去应用到新问题上面。

 

一样,假如你在学习编程,那么,最重要的一步是什么?就是对你想实现的效果去「拆解」,把它们用计算机可以理解的流程、模式,描述出来,再对应到本身积累的编程知识,去「调用」已有的知识来解决问题。

 

举个例子。假如我想在一群人里作一个「一对一匹配」的小活动,能够如何来拆解这个问题呢?

 

不妨思考,它最终的目的是什么?是使到类似的人尽量地匹配上。那如何让电脑理解「类似」呢?咱们知道,计算机是不理解语言的,它只能理解数字。因此,咱们只能经过数字,来实现「类似」。

 

那么, 一个简单的思路就是:咱们事先定义出若干个分类,再让参与活动的人作一个问卷,依据问卷结果,把他们分配到不一样的分类里面(给每一个人贴上一个一、二、3……的标签),再在同一个分类里随机选取。

 

进一步,你会发现,这其实跟推荐系统的算法也是类似的。只不过推荐算法的输入,换成了各类各样的用户行为数据,以及算法复杂了不少。

 

简而言之,结合这几个例子,咱们有哪些进行「迁移」的方法呢?

 

1)类比。能够去思考,这个问题跟哪些旧的问题、咱们已知的问题类似,能够进行模仿和类推。

2)黑箱。不妨把这个问题视为一个黑箱,去思考:它的输入是什么,输出是什么。

3)抽象。不妨去掉具体情境,试着把它泛化、抽象化,提炼出它的结构和骨架,思考,它本质上是一个什么样的问题?

 

 

6. 模型

 

当你进入「迁移」的阶段以后,下一步,就是不断去练习。不断去寻找和发现新的情境,练习拆解和迁移。

 

在这个过程当中,你也许会慢慢发现:

许多新问题之间,实际上是存在一些共性的。它们虽然不一样,但均可以用同一套知识模式去迁移解决。

 

这时,你就创造出了一个「模型」。

 

这也是不少人缺少的能力。他们或许知道怎么迁移,也不缺少练习量,但缺的是,从解决问题的经验中,进行高层次的总结概括、抽象出「模型」的能力。

 

许多咱们所说的「专家」和「聪明的人」,其实比咱们厉害的,也正是这一点:他们的优点并不在于知识量的储备 —— 那些都是静态的。他们的长处,是拥有大量的「模型」积累。

 

你会发现,面对一个新问题,他们老是可以很快把它进行拆解,并调用相关的知识来解决 —— 这就是模型起到的做用。

 

好比,我在第5点举的例子「救画仍是救猫」中,用到的措辞是「这类问题」 —— 这其实就是一种「模型」。

 

再好比,我在之前的文章里,提到过不少次「动力-阻力」模型。这个模型有哪一本书提到过吗?其实没有。它彻底是我原创的。

 

可是,经过这个模型,我就能够把许多相关的知识浓缩起来,去处理一系列跟决策、行为、习惯、政策……等等相关的问题,更好地思考它们和解决它们。

 

我经常说,要努力去创造本身的方法论。模型就是本身的方法论。你全部的知识,都是这个世界上已有的、已知的,惟有这些经过你的经验和实践,所得来的浓缩的「模型」,才是真正专属于你本身的财富。

 

你会发现,模型跟主题很是像。它们的区别是什么呢?主题是对内的,是你围绕知识网络中某个节点所展开的一系列「解释」;而模型是对外的,它是将主题迁移到一系列情境上面的结果。

 

简而言之,模型的本质,就是主题+情境;主题聚焦于「为何」,而模型聚焦于「怎么作」。

 

当你可以打通前五层,而且从模型的角度看待新问题、解决新问题的时候,你就已经进入「专业」的领域了。

 

 

7. 更新

 

最后一层,是更新。

 

学无止境。一个框架搭建起来,一个知识网络构建起来,它始终是「过去」。但人类的知识是在不断发展的。你必须时刻去更新它,去更新旧的节点,更新节点间的联系,才能让你的知识网络保持生命力。

 

如何更新呢?这里,就是碎片信息的做用了。我会在生活中,去看各类各样的网站、博客、杂志,看一些不长的、专一于某个点的文章,并用最新的结论和观点,去覆盖和修正个人旧观点。

 

一样,在生活中,若是个人旧观点受到挑战和质疑,我也会去想办法「寻找共识」,找到本身观点的不足和残缺点(正),把对方的观点整合起来(反),以达到一个更高层次的「合」。

 

这就是一个不断更新知识库、不断升级大脑操做系统的过程。

 

但不少人在这一层,也特别容易产生一个问题:封闭心态。

 

许多人会把不一样的观点,当成是对本身的攻击,从而下意识地启动防卫机制,来维护本身的正确、稳定。

 

(具体的机制,我在 大脑的漏洞:你是如何走向狭隘和顽固的? 写得很清楚了)

 

记住:只有开放的心态,可以让咱们保持生命力。

 

当你的心里变得封闭,当你关上了接纳和共识的大门时,你才是真正地变「老」了。

 

 

最后,简单提几个你们常见的问题。

 

1)有些人可能会以为「我好像没有框架」。实际上,框架是必定存在的。你之因此以为「没有框架」,只不过是由于它没有被你意识到而已。

 

但这样一来,就很容易形成什么结果呢?框架不完整,不许确,支离破碎。从而致使,你对新知识的接收和储存,也是破碎的。

 

因此,把本身的框架「显式化」,也是一种很是重要的能力。

 

2)这套理论适用于绝大多数的学习。只不过对不一样领域的学习而言,每一层次的比重会有所不一样。

 

好比,偏理论型的知识领域(好比哲学、历史、艺术),框架-概念-网络-主题的占比可能会重一些;而偏实践、技能型的知识领域(好比编程),框架-概念、迁移-模型的比重就会大一些。

 

3)大多数人的问题是什么呢?被动学习。

 

什么意思呢?打开一本书,从头看到尾,忙着去思考「做者讲了什么」「书的结构是什么」,全盘照收;听一门课,忙着把课程结构、脉络梳理出来,而后去记忆和背诵……

 

这样有用吗?也许有,但不大。你只是在复制别人的思想而已。学再多,你也只是在复述,很难真正可以「运用」。

 

不要以为跟着别人走就是捷径。学习没有捷径。

 

4)不少人在前几层的时候会有困惑:但是,我怎么知道我搭的框架、理解的概念是否正确?万一错了呢?

 

其实没必要过度担忧。一方面,框架的搭建、概念的理解并不是源于臆测 —— 你是要查阅资料来攻克它们的。这一点能够保证不会出现方向性的误差。

 

另外一方面,这是一个稳健的系统。框架和概念共同组合,彼此做用,若是误差过大,那么这个框架必定是有内在矛盾的,也很容易被咱们所发现。

 

最后,无需追求100%的正确,这既没必要要也不可能。关键是,要保持开放的心态,在后面的学习中,时刻去检查和更新本身的知识。这就能够了。

 

咱们要追求的,永远不是「绝对正确」,而是「比过去的本身更好」。

 

 

最后,再回顾一下这张图。

 

 

 

 

立刻就 2021年了。但愿能为你新的一年,注入一些动力。

 

新的一年,一块儿加油。: )

如做者所说,学习编程须要先创建本身的知识体系,在学习的过程当中也要结合书籍、课程来学习。而编程尤其注重实战,但学校的教育少了工程师培养的部分。它只负责授课,并不负责工程师的培养。

那么,新手如何在学习编程语言的同时,也拥有一些实战经验,或是看到项目开发实践题时有底气呢?

 

若是你C/C++感兴趣,想学编程,小编推荐一个C/C++技术交流群【点击进入】!

涉及到了:编程入门、游戏编程、网络编程、Windows编程、Linux编程、Qt界面开发、黑客等等......

相关文章
相关标签/搜索