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

编程入门 #8

Open
hangzz opened this issue May 4, 2019 · 2 comments
Open

编程入门 #8

hangzz opened this issue May 4, 2019 · 2 comments

Comments

@hangzz
Copy link
Owner

hangzz commented May 4, 2019

编程

启蒙

编程基础

  • 算法思想
  • 语法
  • 系统基础

学习导引

  • MIT 6.00.1x (麻省理工:计算机科学和 Python 编程导论)

    • 作为一门优秀的导论课,它强调学习计算机科学领域里的重要概念和范式。课程内容:计算概念,Python 编程语言,一些简单的数据结构与算法,测试与调试。
  • Harvard CS50x (哈佛大学:计算机科学)

  • 廖雪峰Python教程

  • 熟悉完python就学习 The C Programming

入门

入门阶段需要做什么

  • 反思自己曾经写过的程序
  • 去思考程序为什么 (Why) 要这样设计?
  • 思考怎样 (How) 写出更好的程序?
  • 试图去探寻理解编程的本质:利用计算机解决问题

入门阶段导引

  • SICP 计算机程序的构造和解释

    • 辅导资料

      完成了这部分学习后,你会逐步建立起一个自己的程序设计模型,你的脑子里不再是一团乱麻,你会意识到记住库和语法并不会教你如何解决编程问题,接下来要学些什么,在你心里也会明朗了很多。这时候才是真正开始进行项目实践,补充推动力的好时机。关于项目实践:对于入门阶段的初学者,参与开源项目还为时过早,这时候应该开始一些简单的项目,诸如搭建一个网站并维护它,或是编写一个小游戏再不断进行扩展,如果你自己的想法不明确,推荐你关注 炼瓜研究所 ,或者从 Mega Project List (https://github.com/karan/Projects/)中选取自己喜欢的项目。

  • 读 The Elements of Computing Systems
    http://book.douban.com/subject/1998341

    • 它会教会你从最基本的 Nand 门开始构建计算机,直到俄罗斯方块在你的计算机上顺利运行。 具体内容不多说了,这本书会贯穿你的整个编程入门阶段,你入门阶段的目标就是坚持完成这本书的所有项目(包括一个最简的编译器与操作系统)

进阶

计算机系统基础

数据结构与算法基础

  • 算法导论

    • 算法导论不会的话,学数据结构与算法分析
  • 课程 麻省理工学院:算法导论

  • 结合SICP,读《编程珠玑》,《程序设计实践 》

编程语言基础

@hangzz
Copy link
Owner Author

hangzz commented May 4, 2019

编程入门指南 https://zhuanlan.zhihu.com/p/19959253

@hangzz
Copy link
Owner Author

hangzz commented May 4, 2019

思维导图
image

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

1 participant