Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问 看一些网络上优质教程造轮子 和学习公开课写项目 有什么本质区别吗? #3

Open
lsy1109 opened this issue Dec 3, 2022 · 7 comments

Comments

@lsy1109
Copy link

lsy1109 commented Dec 3, 2022

就是说哪个更好呢?比如看教程写一个编译器和看cs143 完成五个编程作业

@csr632
Copy link
Owner

csr632 commented Dec 3, 2022

我其实没有资格回答这个问题哈~ 因为我自己也很少学习公开课(更别说完成作业)。我只能谈谈我的理解。

在我的理解中,学习资料分为两种:

  • 教材式(参考书式)。知识体系完善,章节内聚且深入。讲解到一个知识点的时候,往往会在一个章节内将所有细节要点都讲清楚。因为教材要被重复查阅,所以章节会非常“内聚”,章节之间的界限划分清晰。但是它造成的问题是:如果你是刚初学者(尤其是自学者),你很容易迷失在细节中,而且容易感觉枯燥。因为其中讲解的很多细节,对初学者来说是没有体感的。
  • 实践式。项目导向,脉络清晰。主线清晰且连贯,每一章有明确的目标。读者很容易跟上作者的思路,完成某个项目。它的好处是,读者能很快学到这个领域的核心知识脉络、整体框架(比如,学到写一个编译器要涉及到哪些模块,每一个模块主要完成什么事情,模块之间的关系是什么)。相对应的,它的坏处就是:这样的书籍往往不会深入一个具体的主题(比如,不会告诉你编译器的Parsing有哪些不同的算法,它们的优劣是怎样的)。

因此我觉得,初学者应该先选择一种“实践式”资料来学习,掌握了这个领域的整体知识框架以后,再看“教材式”的书籍来加深理解、丰富知识枝叶。这也是为什么我会在这个资料清单中,将一些资料标注为“实用”、“实践”的。


当然,如果你有很好的阅读方法,其实也可以直接看“教材式”的书籍入门的。比如:先略读一遍,不求甚解,掌握知识框架。然后做作业、做项目、多次重复查阅。(最好还能同时看几本相同领域的书籍,对照理解)如果你学习兴趣高、学习习惯好的话,这个方式也是很好的。

@lsy1109
Copy link
Author

lsy1109 commented Dec 3, 2022 via email

@csr632
Copy link
Owner

csr632 commented Dec 3, 2022

是的,有的优质课程,本身就带有很棒的实践项目。确实可以替代“实践式教程”的作用。但是我的一点担忧是:

那些优质课程的实践项目,往往配套学校的线下辅导(随时解答学生的疑问)、学生之间的优质交流,学生能及时获得反馈。而自学者无法享受到这些,可能会遇到问题无法解决、不知道自己做得好不好、不知道有没有其他方式完成,等等。因此,对于外部自学者来说,这些实践项目的使用门槛相对比较高。

而“实践式教程”,则本身就是针对自学者来设计的。往往不会有这些问题。

还有一个区别,前者必须要自己动手做,才能收获知识。后者则是有人带你做,你可以跟着作者,“抄”他的答案,甚至只是“看”他的答案。因此后者的门槛要低很多。而且很适合那些“我现在只想学会知识框架,不想花太多时间在实践上”的人。

我的建议是,优质课程的项目,你可以尝试用它来入门,但是不必强求。如果遇到困难,可以先通过其他实践资料学习,以后再来挑战。

仅作参考哈,不一定适用于所有人。

@lsy1109
Copy link
Author

lsy1109 commented Dec 3, 2022 via email

@csr632
Copy link
Owner

csr632 commented Dec 3, 2022

但是实践式教程手撸轮子的话,一般不是会花更多的时间在实践上吗?

实践式教程,学习的灵活性是很大的。你可以亲手撸轮子(多花时间),也可以直接看作者的方案来理解(少花时间)。选择权完全在读者。

我看有的人说造轮子 掌握的更好?

确实是这样,你自己理解以后,依靠自己的理解亲手写出代码(在过程中尽可能地少看作者答案,完成以后再对比复盘),学习效果是最好的。

但是在时间有限的前提下,深度和广度不可兼得。“深入学习、亲身实践”一本书所花的时间,或许可以等同于“粗略学习”2本书。究竟选择哪种方式,要根据自己的情况来决定。

@lsy1109
Copy link
Author

lsy1109 commented Dec 3, 2022 via email

@lsy1109
Copy link
Author

lsy1109 commented Dec 3, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants