课程复盘 | Rails 第三课:Rails 实战:招聘网站(1)
课程目标
两个主题:
- 什么是 Computational Thinking
- 如何把脑袋的点子落地变成代码
做第一个简单的网站:一个招聘网站。这个网站会跟 Rails 101 很像。你会发现,将脑袋的点子落地变成代码,并不是想像中的难
课程复盘
1. Computational Thinking
许多人对于「入门编程」这件事,存在的最大误解就是:
编程 = 学习逻辑、程式语法
其实,编程不是这样的。
如果你要入门写代码,最重要的其实是养成一种独特的思维:Computational Thinking。
所谓的 Computational Thinking 是什么呢?
- 用计算机解决问题的思维
- 把大问题拆解成可以实作的小问题步骤
- 在实作过程中找到资源
- 这才是一个程序员应当具备的最重要的能力。
学编程并不会很困难。困难的是,很多人在当中容易被情绪「淹没」导致「放弃」。
红画面报错 ≠ 人生失败
过去在人生中,其实是「少有人当面指出你的错误」,所以一旦自己收到很多「反馈」,就会立即反射到自己「容易犯错」,容易陷入深深的挫败。
但编程的「错误信息」其实是「不带情绪」的「真实反馈」,如果定神一看,会发现也只是一般的英文而已。可能提示你少打几个字,或拼错字而已。改掉就没事了。
学习 ≠ 登山
学习是拼图,而不是登山。
学习编程,并不需要从计算机的基础理论知识开始学起,也并不需要把某个编程语言的语法规则全部掌握了,才能开始去编程实战。
我们的传统教育,让我们误以为所有的学习必须是:把基础打牢固了才可以进行下一步的学习。
但其实这是错误的认知。你有看过
- 小孩先学「力学原理」,再学走路吗?
- 厨师先学「热力学」,再学烹饪吗?
当然不是。
所有的人都是从镜像模仿开始,掌握基本的高频小套路。熟练之后,才复盘补充学习基础理论,最后牢固的。
学习实质上是拼图
学习不是登山而是拼图。既然是拼图,就是说你可以这里拼一块,那里拼一块,假以时日,你是可以把整个图给拼起来的。
当然,拼图最有效的方法应该是先把整个图的边框给拼起来。这样,你就知道图的边界在哪里了,然后,再往中间填东西。
这门课就是以这样的原理 —— 「最外层的边框」 高频小套路 —— 构成的。
Computational Thinking => Programming
在这里给各位总结一下,编程是什么?编程是:
- 观察输入是什么,输出是什么;
- 把大问题拆解成可以实作的小问题;
- 在实作过程中找到资源;
- 用电脑自动化解决问题。
如此简单而已。
2. RSA大法
遇到问题时善用RSA大法:Read(读报错信息、日志、自己的代码)——Search(Google搜索)——Ask(向高手请教)
3. 「从入门到崩溃」的编程学习方法
- 先学编程语法
- 误入歧途,不知道如何迁移
- 纯自学
- 掉入坑里,情绪崩溃
4. 拆解任务
这一课,我们要做的是搭建一个简单的招聘网站,请按照前面介绍过的方式。
- 写下 7-10 件你觉得需要做的功能;
- 整理出目的群组;
- 按照 Must Have / Should Have / Could Have / Nice to Have 整理出一张图。