最近斌头老师在给新人们强调 计算思维的训练 ,我觉得也许这个东西可以关注一下。
在网易的哈佛 CS50 公开课视频的第一节课里,提到了 Scratch 这个门槛极低的编程工具,通过它可以编程序操作角色实现动画、游戏等等,甚至还可以操作乐高机器人等等设备实现与外界的互联。
前两天恰好聊起了小学生学编程的话题,想起了这个东西,再次试着在 官网 的编辑器玩了一下,不得不说,它的设计真的是十分直观和简洁,隐藏了那些涉及具体机器实现的复杂细节,下面是一点点例子:
- 结构化程序的顺序、选择、循环结构:
![](https://static-img.0xffff.one/UGEH_2sB6Je3mVGfQ_5Ylk4G0hYbUEmOBfZZ8eGC1AE/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAxOC0xMC0y/NS8xNTQwNDc5NDU2/LTU2Mjk5MS04LnBu/Zw.jpg)
- 变量概念与列表数据结构(想想,数组、链表不也就是在做这个事情)
![](https://static-img.0xffff.one/iEe4K2Aw86EfOBYxCyOxlmsWf6wFCSxL9fY75TjvLes/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAxOC0xMC0y/NS8xNTQwNDc5NzQ1/LTczNzI1MC0xMS5w/bmc.jpg)
- 子程序(函数)
![](https://static-img.0xffff.one/jAuAq0FK434VFZa9-UUFcj3sFMLZpzcPFeyUFoNgTHc/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAxOC0xMC0y/NS8xNTQwNDc5Nzk3/LTIyODYwNi0xMC5w/bmc.jpg)
- 乐高等外部设备编程接口
![](https://static-img.0xffff.one/oe7h_0FMpOw6b1_dek4Rr8VbZogVQrD2uZOrWYOerjw/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAxOC0xMC0y/NS8xNTQwNDgwMjIz/LTMyMTYyMC1waG90/by0yMDE4LTEwLTI1/LTIyLTMwLTM0Lmpw/ZWc)
![](https://static-img.0xffff.one/l5lnrVF-CGg0sAk-ps5ywyKdDU0M72K6c5gN6HA40c0/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAxOC0xMC0y/NS8xNTQwNDgwMTk0/LTgzMzcyNi1waG90/by0yMDE4LTEwLTI1/LTIyLTMwLTQyLmpw/ZWc)
子进程,fork 的思想
![](https://static-img.0xffff.one/nrM7jObatlX6mkTGfKE68yU5FmqximpWj-GgSsYcLFM/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAxOC0xMC0y/NS8xNTQwNDgwMjU0/LTI3MTMzNS1waG90/by0yMDE4LTEwLTI1/LTIyLTMwLTM3Lmpw/ZWc)
发布-订阅 模式,事件广播
![](https://static-img.0xffff.one/GtAg1O5pw5SG7tVRdx_CTTOUAd-t4A-8nbK1v4G10LA/q:90/w:800/rt:fit/aHR0cHM6Ly9zdGF0/aWMuMHhmZmZmLm9u/ZS9hc3NldHMvZmls/ZXMvMjAxOC0xMC0y/NS8xNTQwNDgwMjg4/LTY0MTk2Ny1waG90/by0yMDE4LTEwLTI1/LTIyLTMwLTM5Lmpw/ZWc)
我们学的语言,也是思维的具体的表达方式~
通过它来建立对编程的一些核心的思想的直观印象,我觉得是一种不错的方式。