什么是编程?

说起编程,大多数人的第一印象是什么呢?
可能是一堆看着乱七八糟但是应该是很厉害的代码
代码滚屏_waifu2x_5x_3n_1997.gif
也可能是一个在和键盘进行输死搏斗的少年
敲键盘.gif
还可能是一个被老板和产品经理摧残的光头小强
别跑-把代码写完.gif
那到底什么是编程呢?
百度百科给出的定义是这样的。
编程-百科.png
编程就是让计算机代为解决某个问题,对某个计算体系统规定一定的运算方式,使计算体系统按照该计算方式运行,并最终得到相应结果的过程。
其实乍听起来有点懵的感觉,但是我觉得后面这两段内容说的更清晰一些。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
所以说什么是编程呢?我们可以把它认为是一种语言,一个语种,和英语、法语。西班牙语这些外语一样,只是编程这门语言不是用来和外国人进行交流的,而是和计算机进行交流的,所以对编程的学习有的时候也叫做编程语言学习。
而随着我们科技的进步,编程这门语言已经不只是和我们传统印象中的计算机交流了,还能和手机、电视、音箱、智能家具,甚至和汽车、飞机、飞船交流。甚至它也融入了普通人的日常工作和娱乐中了。
所以说这个可能在印象里晦涩难懂又枯燥的东西,其实已经在我们生活的每一个角落里面了。
而且我相信正是因为这样,你才点进了这里,想来看看和学学所谓的编程。

为什么学习编程?


相信你能点进来,肯定是不需要别人告诉你为什么的。。。

我的编程路径

相信对于了解编程学习,特别是少儿编程教育的同学,一定是知道scratch这个编程工具的,现在是广泛应用于少儿编程教育,用于青少儿的编程启蒙使用。
同样,我接触到scratch也是当我有了从一个程序员转型青少年编程教育的想法开始的,当我开始了解和深入学习这个软件的时候,我觉得scratch作为一个优秀的可视化编程软件(或者叫做编程游戏),很适合那些从未接触过编程的同学,通过它来打开编程世界的大门。所以我的编程路径从scratch开始,但是这并不是单纯针对青少年的编程路径,而是适合所有未接触过编程但是又想尝试编程的同学。
下面的思维导图既是我将要去展示的编程课程,同时也是我自己转型编程教育的学习计划,可能这些课程我更倾向于科普基础的内容,如果通过我的讲述,能够燃起你更深入挖掘某一项编程能力的热情,我相信我的目的已经达到了。
我的编程路径.png

什么是Scratch

既然是从scratch开始认识编程,那我们就先来认识下什么是scratch。
首先scratch作为一个英文单词来讲,它的意思是抓、刮、乱写乱画。我觉得用scratch这个单词来命名这门编程语言的含义就是,对于初次接触编程的人来说,你可以像一个小奶猫一样,在这里肆无忌惮的尝试,从而来探索未知的编程世界。
猫抓.gif
而下面就是scratch的网站图标,而这只小猫也会伴随着我们来学习scratch。
scratch图标.jpg
那我来介绍一下scratch这门编程语言:

  • 来自麻省理工学院媒体实验室
  • 可视化编程语言
  • 使用编程积木代替代码,游戏化的体验

scratch小展示.gif

为什么选择scratch作为人生中第一门编程语言

  • 图形化编程语言对于初学者更友好
  • 游戏化交互体验不会让初学者感到枯燥
  • 及时的效果反馈展示会增加学习者的成就感
  • 它虽然更像是一个玩具或游戏,但是与代码编程语言一样,有着编程的基本逻辑,更轻松的掌握编程的基本逻辑之后,学习更复杂的编程语言会很容易上手

如果你是一个想要接触编程的初学者,或者你想要带着自己的孩子学习编程,亦或者你像我一样想要从事少儿编程领域的工作,那么我们就一起来学习吧。

Scratch的安装

官方网站下载:https://scratch.mit.edu
如果你打不开网站或者比较慢的话,可以直接从我的网盘资源下载:
百度网盘:https://pan.baidu.com/s/1e2O0kslUWLP38s8_EKsFzg
提取码:7bkr
下载完成后即可安装使用,我的展示中将使用scratch3.0这个版本。

Scratch的界面介绍

scratch界面.gif
scratch编程由于是图形化编程语言,它的整个编程过程特别像是去编排一场舞台剧,而开发者就是这台舞台剧的导演,我们通过积木形式的指令来安排各种角色在舞台上进行表演。所以scratch的功能界面也就是围绕着这场舞台剧的表演而展开的。
而构成这个表演的三个基本要素就是:舞台,角色和背景。
而剩下的工作台上面的代码、造型和声音都是围绕着这三个基本要素(舞台、角色和背景)而来的。

舞台区

舞台区就是展示角色和背景的地方。

背景区

就是舞台的背景,可能这个舞台只有一个背景,也可能有多个背景,而这些背景都是在背景区来创建和管理的。

角色区

所有的参加这个表演的角色都是从这里创建,并且在这里管理的,这里的角色可不只是人物或者动物哦,而且参与舞台表演的所有对象,可能是一个人物、一个动物,也可能是一颗小树这样的道具,反正舞台上面除了背景之外的所有物体,都是一个参加这场编程表演的角色。

工作台——代码区

这是scratch编程的核心区域,看这个代码区的名字我们就知道,这里的编程积木就是scratch里面的代码,就像是代码编程一样,我们用这些积木来代替写代码。而在scratch这个舞台表演中,代码区就相当于是这场表演的剧本,我们通过代码积木来为角色写剧本,命令这些角色什么时候该说什么台词,什么时候该做什么动作,也可以命令舞台背景根据表演的需要,什么时候来更换背景。这就是代码区的作用。

工作台——造型区

相信大家一看到名字就明白这个区域的功能了吧,对于一个角色来说,他可能是站着的,可能是走着的,可能是跑着的,也可能刚刚还在睡觉,现在又在运动了。这些都是一个角色的不同造型,而这些造型就是在造型区这里来创建和管理的。

工作台——声音区

没什么好讲的,如果想要让角色发出声音,我们就在这里动动手脚就可以啦。

扩展功能

scratch除了这些基本的功能外,还有一些好玩的功能,比如模拟乐器、视频检测、机器人编程等等,这些功能背后都有很复杂的计算机知识,scratch用图形化的方式让大家能更容易的去体验到它们,让我们看到编程这个事情更多的乐趣。

Scratch怎么用?

scratch这个图形化的编程语言,它的开发初衷就是面向的少儿教育,所以它的使用是一种游戏化的体验,用搭积木或拼图的方式去完成编程。
拼图.gif
我们可以在刚才讲到的工作台代码区看到,这里有很多图形,我们叫它们指令积木,而这些指令积木上面,有些事有凸起和凹槽,有些是有空洞,只要按照形状,用这些指令积木拼拼搭搭,就可以控制舞台上面的角色和背景了。
搭指令积木.gif