CS50 · 用 Scratch 学编程 · 九集课件
看视频不够,还要有讲义
哈佛 CS50 专门给零基础做的九集 Scratch 课。每集配一份中文课件:本集学什么、核心概念、要认识哪些积木、跟着视频做哪些例子、一个动手练、一句话带走。视频自托管、页内直接看。
课程与例子来自 Harvard CS50,依 CC BY-NC-SA 4.0 授权自托管改写 · 本页免费第 1 集角色与舞台Sprites23:43
字幕:英文为 CS50 官方字幕,中文为机器翻译(点播放器字幕按钮开关)
01本集学什么
- 认识 Scratch 界面:积木库 / 脚本区 / 舞台 / 角色区
- 往舞台放角色,给它换造型、换背景
- 让角色显示、改大小、改方向
02核心概念
03认识这些积木
04跟着做(视频里的例子)
- 认识角色 — 把猫和鱼摆到舞台不同位置,理解 x/y。
- 造型动画 — 给角色加多个造型、来回切换,做出最朴素的动画。
- 换背景 — 加一个水下背景,把鱼放进去,试试旋转方式。
放一个角色 + 一个背景,给角色加两个造型,让它切换造型看起来像在动。
程序 = 一串你给“演员”下的命令。先摆好舞台和演员,故事才能开始。
官方大纲 · 跳转时间戳
- 0:00什么是编程
- 2:13角色 Sprite
- 11:00造型 Costume
- 17:52背景 Backdrop
第 2 集函数Functions33:43
字幕:英文为 CS50 官方字幕,中文为机器翻译(点播放器字幕按钮开关)
01本集学什么
- 用积木让角色移动、转向、滑行、说话
- 理解一块积木就是一个“会做事的函数”
- 用“等待”控制节奏,让变化看得见
02核心概念
03认识这些积木
04跟着做(视频里的例子)
- Move / Move & Turn — 单块移动,再组合移动+转向走出折线。
- Glide — 刺猬沿矩形滑行一圈回到起点。
- Say — 带时序的对话,一句接一句显示。
- Bear — 造型+背景+移动,讲一小段叙事。
- Duck — 用显示/隐藏 + 声音玩捉迷藏。
- Music / Pen — 演奏一段音阶;移动配合抬落笔画出圆。
让角色说三句话、每句停 2 秒,讲一个小笑话。
每块积木都是一个“函数”——你不用管它内部怎么实现,给输入、它替你做事。这就是真实编程里的“调用函数”。
官方大纲 · 跳转时间戳
- 0:00开场
- 1:13移动
- 4:21移动+转向
- 10:28滑行
- 13:53说话
- 16:38小熊 1/2
- 25:39鸭子
- 26:38音乐
- 29:42画笔
第 3 集事件Events29:47
字幕:英文为 CS50 官方字幕,中文为机器翻译(点播放器字幕按钮开关)
01本集学什么
- 用“当…就…”让程序响应点击、按键、声音
- 让多个角色各自独立地对事件做反应
- 用计时器协调不同角色的动作
02核心概念
03认识这些积木
04跟着做(视频里的例子)
- 绿旗齐响应 — 多个角色同时对绿旗做反应,学会协调多脚本。
- 点角色触发 — 点鸭子它就随机传送。
- 背景选择器 — 三个按钮角色切换北极/丛林/水下三个场景。
- 架子鼓 — 点不同鼓发不同声音。
- 游动的鱼 — 方向键移动、数字键改大小,多个独立事件脚本。
- 气球 / 计时器 — 麦克风响就变大;猫和恐龙定时互相打招呼。
做一个“按钮”:点它,就切换到另一个背景。
“当…就…”是交互的起点。真实软件全靠事件驱动——等世界发生事,再决定做什么。
官方大纲 · 跳转时间戳
- 0:00开场
- 0:42当绿旗被点击
- 6:13点角色触发
- 8:10背景选择器
- 13:12架子鼓
- 16:03按键触发
- 17:10游动的鱼
- 23:18气球
- 25:24计时器
第 4 集值Values30:30
字幕:英文为 CS50 官方字幕,中文为机器翻译(点播放器字幕按钮开关)
01本集学什么
- 认识“值”:数字和文字,是函数的输入
- 用运算符做加减、拼接、四舍五入、取随机
- 用“询问/回答”接住用户输入并使用它
02核心概念
03认识这些积木
04跟着做(视频里的例子)
- Position — 用 join 拼出“x=.. , y=..”显示坐标。
- 走路/旋转/计时的刺猬 — 移动距离随大小变;随机指向;round(计时器)显示秒。
- Hello — 问用户名字,再打招呼。
- 四个小问答 — 用回答决定:走几步 / 去哪(x,y) / 几条腿(造型) / 几点(背景)。
问用户“你几岁?”,然后说“你明年就 X 岁啦”(用加法运算符)。
程序里流动的是“值”。会问、会算、会记,程序才聪明——这就是所有语言里的数字、字符串、布尔。
官方大纲 · 跳转时间戳
- 0:00开场
- 0:40坐标位置
- 12:26走路刺猬
- 16:02旋转刺猬
- 18:04计时刺猬
- 20:29你好
- 23:54走几步
- 24:51去哪
- 26:04几条腿
- 28:23几点了
第 5 集条件Conditions28:09
字幕:英文为 CS50 官方字幕,中文为机器翻译(点播放器字幕按钮开关)
01本集学什么
- 用“如果…那么…”让程序会看情况做决定
- 用碰撞/比较写出真/假的判断条件
- 把条件嵌套起来,处理多种情况
02核心概念
03认识这些积木
04跟着做(视频里的例子)
- Meow / 猫和气球 / 猫和树 — 按空格叫;只有碰到气球才叫;碰到绿色就报告。
- Balloon — 每按一次变大,到 200 就隐藏并爆掉。
- Numbers — 输入一个数,用嵌套条件判断正 / 负 / 零。
- 刺猬赛跑 & 迷宫 — 到边显示用时;按用时说快/慢;撞到红墙就随机传送。
做一个“猜大小”:问一个数,判断它比 10 大还是小,说出来。
if / else 让程序会做决定。会判断,程序才有“智能”的雏形。
官方大纲 · 跳转时间戳
- 0:00开场
- 1:30喵
- 4:56猫和气球
- 6:35猫和树
- 8:58气球
- 10:26数字
- 20:06刺猬赛跑1
- 22:46刺猬赛跑2
- 24:19迷宫
第 6 集循环Loops27:31
字幕:英文为 CS50 官方字幕,中文为机器翻译(点播放器字幕按钮开关)
01本集学什么
- 用循环重复执行,不用手动复制一堆积木
- 分清 forever / repeat N / repeat until 三种循环
- 用循环切造型做出走路、游泳等动画
02核心概念
03认识这些积木
04跟着做(视频里的例子)
- 走路的猫 — forever + 碰边反弹 + 切造型 = 走路动画。
- 游动的鱼 — 多个循环同时跑:跟随鼠标 + 播放海洋声。
- 摸猫 / Meow — 离鼠标近就喵;按输入次数叫(repeat N)。
- Circle / 气球 — 重复移动+转向画圆;repeat 10 次充气再爆;repeat until 到目标大小再爆。
用 repeat 让角色走 4 步、每步转 90 度,走出一个正方形。
别重复自己,让机器重复。循环是编程里最省力的杠杆。
官方大纲 · 跳转时间戳
- 0:00开场
- 1:13走路的猫
- 8:04游动的鱼
- 12:30摸猫
- 16:42喵
- 19:54画圆
- 21:20气球1
- 24:57气球2
第 7 集变量Variables32:02
字幕:英文为 CS50 官方字幕,中文为机器翻译(点播放器字幕按钮开关)
01本集学什么
- 新建变量,把值存起来待用(分数、生命、大小)
- 用 set / change 给变量赋值和增减
- 用变量当条件、做计分和简单物理模拟
02核心概念
03认识这些积木
04跟着做(视频里的例子)
- 计数猫 — 点一下 +1,配一个重置按钮。
- 追星星 — 碰到星星加分,到分数阈值换背景、结束。
- 弹跳球 — 用变量存速度:重力加速 + 落地损耗,像真的一样弹。
- Balloon / Spiral — 滑杆控制大小;步长逐渐变大画出螺旋。
做一个点击计分器:每点角色一下,分数变量 +1 并显示在舞台上。
变量是程序的记事本。有了它,程序能记住分数、生命、进度——游戏就活了。
官方大纲 · 跳转时间戳
- 0:00开场
- 1:02计数猫
- 7:29追星星
- 15:01弹跳球
- 24:29气球
- 27:38螺旋
第 8 集抽象Abstraction24:37
字幕:英文为 CS50 官方字幕,中文为机器翻译(点播放器字幕按钮开关)
01本集学什么
- 把一段复杂逻辑打包成自己的“我的积木”
- 用参数让自定义积木变得灵活可复用
- 理解“抽象”让代码更干净、更好读
02核心概念
03认识这些积木
04跟着做(视频里的例子)
- 恐龙游戏 — 把“判断是否到达星星”抽成一个可复用积木。
- Balloon — 带参数的自定义积木控制充气/放气。
- 走路的熊 — 多参数自定义积木:走 N 步、用两只脚还是四只脚。
把你前面写过的一段重复逻辑,做成一个“我的积木”,然后调用它两次。
抽象 = 给一坨逻辑取名、藏细节。这是从“会写代码”到“会组织代码”的关键一跳。
官方大纲 · 跳转时间戳
- 0:00开场
- 0:38恐龙游戏
- 11:56气球1
- 16:52气球2
- 20:41走路的熊
第 9 集从零做一个作品Building from Scratch33:58
字幕:英文为 CS50 官方字幕,中文为机器翻译(点播放器字幕按钮开关)
01本集学什么
- 用广播让角色之间互相“发消息”通信
- 用克隆在运行时动态复制角色(如不断下落的水晶)
- 综合前八集,独立搭出一个能玩的小游戏
02核心概念
03认识这些积木
04跟着做(视频里的例子)
- Broadcasts — 猫问候恐龙、恐龙收到再回应——去掉写死的时序依赖。
- 控制鸭子 — 点箭头广播 up/down,鸭子响应移动——事件委托。
- 拜访的鱼 / Stars — 点舞台广播 visit,鱼游向鼠标;点星星生成克隆滑到随机位置。
- Crystal Catch(压轴) — 完整接水晶游戏:方向键控制猫、水晶克隆下落、catches 计分、三次 miss 结束、随机横向、结束广播停止。
综合前八集,做一个你自己的小游戏(哪怕很小):要有一个可控制的角色、一个计分变量、一个结束条件。
会广播、会克隆、会管状态,你就能从零搭出真正能玩的作品。这正是编程的乐趣:想法变成能跑的东西。
官方大纲 · 跳转时间戳
- 0:00开场
- 2:57广播
- 5:24控制鸭子
- 8:31拜访的鱼
- 9:38星星
- 11:45接水晶