zoukankan      html  css  js  c++  java
  • 计算机专业如何自学

    我在知乎上听了一场live分享,标题是”如果自学计算机专业课程“,觉得老师讲的很好,所以整理了这篇笔记。

    首先自己要明白,为什么要学习计算机专业,如果没有明确的目标,是很难坚持下去的。这个目标就因人而异了,而我学习的目的是因为现在的工作的太无聊,为了提升自己的核心竞争力,也为了自己的一个小梦想。

    计算机的基础知识是枯燥难懂的,而且大部分知识工作中都用不到,但学习这些基础知识,会让你”知其然,知其所以然“,也更有机会获得创造性强的工作。计算机知识虽然庞大,但靠业余时间自学是完全可行的,不用怀疑

    关键知识领域

    计算机科学被划分为18个领域,领域之间都是有关联性的,他们共同构成了计算机专业的关键知识领域

    自学路线

    下面这张图概述了要学习的内容,推荐大家阅读下浪潮之巅

    学习方法

    推荐阅读“学习之道”这本书,这本书介绍了人的大脑是如何进行学习的。简单来说,我们很多时候学习的知识都是零散的,人类学习的过程就是把知识转化为组块,并将其移入长期记忆的过程。我们在学习时的记忆是瞬间的,比如我听了这场live,过了两天我可能全忘了,但是记录下来通多不断巩固,就会变成长期记忆。

    基于组块的场景式学习


    这种方式非常适合解决工作中的问题。举个例子,我的github有个开源项目Essay,这个项目最初我是为了解决公司业务中的vue ssr问题,要解决这个问题我需要学习webpack、vue、node、linux等这些组块,通过掌握结合这些组块顺利解决了ssr问题。

    学习的基本原则

    这张图很好理解,任何知识都不是看一遍就能完全掌握的,因此好书值得多看上几遍。同样,学习必须要制定计划,遇到问题不能得过且过。现在网络这么发达,你遇到的问题很多都有解决方案,即使网上找不到,还有很多社区同行可以帮你。而有计划的学习可以让进度可控,比如一本书有二十章,我每天必须掌握一章内容,把时间得到充分应用。最后的学习目标那就更重要了,能读到我这篇笔记的人,相信都是有目标的人

    认知规律

    很多时候我们学习都是出于一时的兴趣,这时的我们是感性的,并不知道学习它能给我带来什么。慢慢的,当我们逐步深入,我们就会对要学习的东西有了理性的认识。

    从具体到抽象可以看做是一个从初级到高级的过程,比如编程语言中的面向对象

    理论必须在实践中才能真正学好,这点相信每个人都有体会,上学时不知道学习的知识有什么用,工作后发现到处都要用

    知识的“互联网”

    知识的深度遍历

    深度遍历在实际生活中都有用到,比如我是做前端开发的,需要学习HTML、CSS、JS,而学习这三项又需要掌握其他知识,直到把他们都搞懂才算真正掌握

    N + 1 和 N - 1层

    工作中,我们处于第N层,比如前端大部分时间是写页面、对接口。N + 1层表示上一层,比如这个功能我如何做才能让用户喜欢、体验更好。N - 1层就是下一层,比如浏览器的工作原理、http协议,为什么浏览器能渲染我的页面?客户端和服务器是如何通信的?

    读书的基本原则

    “难书”如何阅读

    有些书看似薄薄的一本,但是看一页都要花几个小时,自信心受到打击,真么办?下面是几种推荐方法

    计算机专业课程学习建议

    计算机与数学

    数学和计算机的关系是紧密的,特定领域对数学的要求不同,但不可能脱离数学

    推荐学习教材

    认识计算机

    下面这两本书,带你走进计算机的世界

    深入理解计算机系统是一本经典教材,值得多读几遍

    数据结构与算法

    数据结构和算法是紧密关联的,因此当数据结构发生变化,算法也同样发生变化。学习数据结构和算法的目的,是为了针对特定的问题,设计出解决方案。比如https中的非对称加密算法,其目的是为了解决数据传输的安全问题

    下面是推荐阅读的书籍和学习路线

    计算机组成原理推荐书籍

    计算机网络

    学习计算机网络的关键是为了弄明白计算机是如何连接的、数据是如何在网络中传输的、网络软件系统应该如何构建

    推荐阅读图灵出版的书籍《网络是如何连接的》

    结语

    最后用一张图概括这场live所要表达的核心。

    点线面,构成整个知识体系。另外,这个live是针对研究生的,因此是有难度的

    常用网站: SegmentFault | GitHub | 掘金社区
  • 相关阅读:
    WINDOWS 远程桌面不能直接拷贝文件问题
    Spring的xml文件详解
    xml名称空间详解
    markdown基本语法
    web.xml文件详解
    Spring事务的7中传播行为
    docker修改容器配置文件
    Load balancer does not have available server for client: CLOUD-PROVIDER-HYSTRIX-PAYMENT
    layui导出表格的两种方法
    解决:Error:java: 无效的源发行版: 12
  • 原文地址:https://www.cnblogs.com/yesyes/p/15382601.html
Copyright © 2011-2022 走看看