自学的学习方式探索

本文主要有三部分,第一部分和第二部分是翻译,第三部分是自己的一些看法,黑体字表示值得关注的地方(如果不想看过多文字就看黑体字好了)
第一部分翻译自 The Difference Between Top-Down Teaching & Bottom-up Teaching
第二部分翻译自 Learn to code (or do anything): top down, bottom up and other approaches

学习

自上而下教学与自下而上教学的区别

有效的教学方法可能受到学校课程的限制,但教育工作者仍然可以根据学生的需求设计教学方法。有些课程通过讲座更好地教授,而其他课程可能需要课堂参与,并通过实验室和实地考察直接互动。两种常见的教学方法被称为自上而下和自下而上,它们采取相反的方法为学生提供教育

自上而下的学习

自上而下的教学风格侧重于为学生提供一个主题的大视图,让他们沉浸在大图中,而无需解释构成主题的组件。例如,在英语作为第二语言课程中,自上而下的方法将首先让学生沉浸在学习英语的各个方面,包括写作,阅读和发音。学生不会首先学习元音,名词和代词的复杂性,而是将他们全部学习英语,然后逐渐学习构成英语的构建基础。

自下而上的教学

与自上而下的教学方法不同,自上而下的教学方法首先采用主题的宏观视图,自下而上的教学方法从主题的组成部分开始,逐渐建立到整体。例如,在ESL课程中,自下而上的方法将从诸如语音,字母,元音和音节之类的东西开始,这些是语言的构建块。只有在学生掌握了这些特定的规则和系统之后,才能进行口语和阅读。

方法上的区别

自上而下和自下而上的教学方法具有相同的学习目标,但实现它们的方式不同。自上而下的教学涉及激励学生通过直接互动和沉浸来学习,并允许他们通过运用自己的经验在主题中找到意义。自下而上的教学更多是讲师驱动的,并侧重于主题的细节,作为通过重复和记忆来解码和简化每个组件的方式。

其他考虑因素

由于自上而下的教学强调通过语境进行教学,并且部分依赖于学生获取知识的背景和经验,因此它可能无法提供与自下而上教学方法相同水平的特定学科技能。相反,尽管自下而上的教学方法将加强学生对某一学科基础的掌握,但在较大的整体环境中缺乏对学习的强调可能会限制其有效性。例如,学习单词特定含义的学生可能无法理解该单词的含义是如何根据使用单词的文化而变化的。
学习

学习编码(或做任何事情):自上而下,

自下而上和其他方法学习编码很难。软件工程是我们在谈论“学习编码”时最常提到的领域,它基于计算机科学和应用数学的基础。虽然你不需要成为一名数学家或计算机科学家来成为一名软件工程师,但另一个事实是,学​​习基本的编程概念对大多数人来说都很难。在本文中,我们将探讨一些学习理论,以及如何将它应用于刚开始学习如何编码的人。我将列出一些概念的优点和缺点,如自下而上与自上而下的学习方法,以及一些值得考虑的替代方案。此内容面向较新的程序员,但这些概念适用于有兴趣更有效学习的任何人,即使该主题不是编程。

我已经是一名专业的程序员已经超过7年了,我开始更早地使用代码。如果有一件事我可以自信地说这个职业,那就是学习永远不会停止,而且永远不会变得容易。每当你掌握一个困难的概念,你就可以确定另一个即将到来。我花了很多时间在阅读关于编程主题的过程中,主要是以闪亮的新框架比问题的旧解决方案更好的形式。我读到了关于我是否应该将jQuery或MooTools用于我的下一个网站项目的主题。经常感觉不到我的深度,就像我无法理解Web开发生态系统的任何重要部分(这是在前端解决方案爆炸之前)。值得庆幸的是,像我这样的人存在,只有足够的视角来帮助你避免陷阱和时间汇,这无助于你有效地升级为程序员。

自顶向下和自底向上处理的概念已经应用于许多学科,但我们最感兴趣的是自上而下和自下而上可以应用于学习。自上而下学习的一般定义是让学习者沉浸在主题的完整背景中的过程。换句话说:如果你是一个有兴趣学习如何游泳的人,而且我有兴趣采用自上而下的方法,那么我会把你扔进游泳池。 相反,自下而上的方法涉及一个更加细化和理论化的过程。自下而上的学习方法涉及将学习者单独暴露于主题的基本概念。学习游泳的自下而上的方法将涉及学习流体动力学,解剖学和物理学,但不涉及池。

自底向上

自下而上的学习/教学过程只涉及特定主题的组成部分,并慢慢建立在整体上的这些组成部分。使用此方法的学习者只有在掌握了先前的必备组件后才会转到下一个组件。在大多数情况下,传统的公共教育(至少在美国)采用这种方法。

自底向上的优点

自下而上的方法具有许多优点。我认为其中最重要的是学习者能够完全理解该主题,只要他们花时间掌握每个组成部分。自下而上也很容易构建:将问题分解成小的,连贯的片段,这有助于组织。计划自下而上的课程方法的教师必须将他们的材料组织成小的主题。在编程领域,理解任何语言,框架或工具的重要部分是一个漫长而艰难的过程。在学习新语言时,自下而上的方法对于需要在高层次理解概念的学习者来说是有用的,以便对继续学习另一个概念充满信心。例如,使用自下而上的方法学习JavaScript的基础知识可能需要学习原始值,如数字,字符串,布尔值,数组和null / undefined,然后转到对象和函数,最后转到范围和控制流程。理想情况下,每个概念都将建立在之前的概念之上,以创造一个很好的进展

自底向上的缺点

自下而上方法最明显的缺点是使用这种方法的学习者将缺乏关于他们所学习的概念的任何有用的背景。这种隔离导致无法以任何有意义的方式应用所学习的概念。如果我们回到游泳示例片刻,似乎常识不管你对流体动力学,解剖学和物理学有多少了解,如果你从未真正尝试过游泳,那么你就不会真的做个好游泳运动员。这也是为什么你几乎从未见过任何类型的(好的)现代编程资源,至少不包括某些类型的实际部分。

自顶向下

自上而下的学习方法包含一个宏观导向的实践过程,让学习者沉浸在主题中。自顶向下方法的优先级是提供问题或主题领域的更广泛视角,而不必详细说明特定组件如何协同工作。应用于编程的自顶向下学习的一个很好的例子是,给新开发人员一个他们需要使用不熟悉的语言或工具集完成的项目。自上而下的方法不是依赖于孤立组件的掌握,而是让学习者通过探索和实验来理解各个部分。

自顶向下的优点

对于一些编程学生来说,自上而下的学习方法特别有利,因为有机会看到一切都在一起工作是令人兴奋的。就个人而言,我对编程的兴趣是由资源激发和维护的,这些资源可以让我实现我自己的完整(主要)工作项目。最初,这是通过脚本进行命令行测验和向游戏添加功能的混乱,但这里的共同点是,如果学习的唯一方法是一次一步,我可能不会感到困扰。除了提供学习动机外,自上而下的方法也很实用。对于许多学习者而言,目标是仅学习理解或实施非常具体概念所必需的内容。在这种情况下,自下而上的过程可能会过度,甚至可能浪费时间。

自顶向下的缺点

自上而下学习也有缺点。一般来说,自上而下的学习将细节留给学生,这很多时候会导致对概念的不完整理解。学习者可以掌握足够的“让它工作”,没有动力或明确的途径来理解基础组件如何协同工作。当我编写第一个命令行测验时,我不了解字符串和数字等原始值之间的差异,所以当像1 +“1”这样的语句导致11时,我感到非常困惑。

虽然自上而下和自下而上的方法都有其自身的优点,但我相信像许多事情一样,简单的二分法并不代表所有可行的选择。这有点陈词滥调,但我确实认为最好的方法位于中间位置。
在这里插入图片描述

个人的一些看法

困惑的来源

如何能快速的学习一项技能或知识?这种问题格式是不是很熟悉——知乎体。在大学毕业后的自学过程中有各种各样的“30分钟***”、“**从入门到精通”这类的博客文章或书籍深深吸引着我,天真的我以为认真看完就能搞定以后遇到的问题了(至少不会四顾茫然)。然而现实却是看完这样的一片博客或学完这样的一本书后仍然茫然的反问自己:这些懂了吗?相关的问题都能处理吗?

问题的探索

一项有价值、需要学习才能获取的技能或知识肯定不是一个30分钟或者一本30多页的书籍或者一串连续的文章就可以让你“一览众山小”的,至少对于我来说是这样。接触到自上而下和自下而上这两种学习方式后才明白,学校的教育就是自下而上的学习方式:从每个小内容学起,一步接一步,学到最后你才有可能明白自己学的是什么。而毕业后的自学更多的就是自上而下的学习方式:总览整体,通过一个个主题探索深入学习。
学校式教育从我高中时代的开始就被我所抛弃,因为始终有个疑问萦绕在我的脑中:我学习这些东西有什么用?处于这种想法开始了自我探索,最终确定启发式学习才是我适合我的:从一个兴趣点开始,逐步深入展开。大学毕业后一直实践这一学习方式,效果却没有想象中的好,因为随着逐步展开过程中会有许多磕磕绊绊,有些可以解决,有些无法逾越,到最后“漏网”太多。
对于自上而下的学习也探索过,但是一直有个梗,就是学习的过程中有很多东西让你感觉很基础但是却不知道,跟启发式学习一样,有一种重回学校把基础知识撸一遍的冲动

我的总结

进行高中大学般的自下而上的学习已经不太可能了,原因很简单:要吃饭,但是这个过程是必不可少的。而最适合自学的学习模式就是以自上而下为开端,达到初步了解全局的程度,再结合启发式的兴趣引导,最后在完成自上而下的初步遍历后开展自下而上的补充式学习
上面有句译文非常值得与君共勉:每当你掌握一个困难的概念,你就可以确定另一个即将到来。
所以,翻滚吧,阿信!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值