Giter VIP home page Giter VIP logo

code_learning's Introduction

正常初学者学编程

现有的编程课程,书本,教程,对非计算机专业、转行的初学者而言,都非常糟糕。

  1. 抽象得太抽象浓缩,看完无法迁移。伪代码无法实现转化为实际代码。
  2. 具体的手册太具体,一大堆功能、函数、方法交给你。为了教会你,用的都是彼此分离不同属没有关联的例子。只是为了讲这个方法的用法而用,实际使用的时候依然用不好。只有正确的用法,不指出常见的错误方法。典型的就是 Python 著名的库 Pandas 的作者写的《Python数据分析》、《鸟叔的Linux私房菜》。很多编程入门书,真的就只是入门书。对于有计算机编程基础的人员,入了门,很快就可以开始做项目。但是对于从零开始的人员,则需要经过痛苦的摸索阶段。
  3. 另外一些书则是介绍一些奇淫巧技,对于初学者毫无帮助。
  4. 还有的书因为出版的缘故,写得极其精简简略,生怕多重复强调一点。实际上,就像复习是最好的学习,而不断的重复也是让初学者更好入门的招数。不要怕啰嗦,只要能把道理讲清楚,特别是对于网络发布的情况。反而应该反对过度的凝练。传统的教育方法是书本凝练,课堂详细展开。但是对于自学、转行的人员,无法达到这样的条件。
  5. 还有就是对于零基础的人员,缺乏足够的知识组合。其实学习本身应该是融会贯通的,就像在学校,不会一学期就学这一门,学完这门才学另一门,都是同步进行。而如果课程设置合理,完全可以刚在这门课学到的知识,就用在了下一门的基础上。形成良好的闭环和循环增强,巩固了旧知识,学会了新知识。
  6. 刷LeetCode怎么刷?这块其实也是一个痛点。我最开始刷LeetCode的时候,想得最多的就是,我写的这个解法,它是怎么在后台被测试的?如何更好的构建类?而一直没有一个合格的人告诉我是如何运作的,似乎所有的人都默认为大家都知道了。QTMD。
  7. 也就是说,目前存在一个 huge 的 gap 横亘在初入门和熟练资深者之间,导致初学者长期卡在初学者阶段,无法良好的进入下一阶层。这个问题需要改变。这也是我们目前现代化教育的弊端:
    1. 学生学不会。
    2. 学生学会了不会用。
    3. 学生用了但是不是应该的用法。

我们的教育也是出大问题了。

现在市面上有不少号称针对初学者的教程,比如:《一百天学会python》《零基础入门Linux》,但实际上一点都不实用。要么是太简略,该教的必备知识没教,要么是太简陋,只不过是把官方文档堆了出来,要么就是太庞杂,一坨东西呼人脸上,无所适从。

所以我想,自己试着一点点,把基础知识和引用知识,捣碎了,结合具体事例,反复灌输,传授出来。

太基础的我也不讲,因为网上已经有很多很好的。

我的大纲设计是:

  1. 这个知识点,到底是什么,是来解决什么问题的。
  2. 这个知识点,在python下是怎么做,在Perl、Java、kotlin、Go、C/C++ 下又分别是怎么做。
  3. 配合实例,怎么把这个知识用起来。

希望能够成功。

code_learning's People

Contributors

sanbeichahegongheguo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.