从 Scratch 开始 - CS50x 2026

是时候选择你自己的冒险了!这个作业很简单:请在 scratch.mit.edu 上用 Scratch 实现一个你自选的项目。它可以是互动故事、游戏、动画,或任何其他形式,只需满足以下要求:

  • 你的项目必须至少使用两个角色,其中至少一个不能是猫。
  • 你的项目总共必须至少有三个脚本(也就是说,不必每个角色都有三个)。
  • 你的项目必须至少使用一个条件判断、一个循环和一个变量。
  • 你的项目必须至少使用一个你自己创建的自定义积木(通过 Make a Block),并且这个积木必须至少接收一个输入。
  • 你的项目应该比课堂上演示的大多数项目更复杂(其中许多项目虽然有教学意义,但都相当短),但可以比 OscartimeIvy’s Hardest Game 简单。

为了满足这些要求,你的项目大概需要使用几十个积木。理想情况下,你的代码不仅要正确,还要设计良好。如果某个脚本变得有点长,试着把它拆成多个脚本,让每个脚本只负责一件具体的事情。也请尽量利用“抽象”:如果你能想到给一串积木起一个描述性的名字(例如 meow),那么它们很可能就适合被移到一个自定义积木里!

如果你想从往届学生的作品中获得一些灵感,这里有几个例子:

这些 tutorialsstarter projects 也许会有帮助。你也可以浏览 scratch.mit.edu 来寻找灵感。不过,请尽量先自己想出一个点子,然后着手实现它。不要试图一次性完成整个项目;像我们在课堂上做的那样,一次处理一个小部分。换句话说,循序渐进:写一点代码(也就是拖放几个积木),测试,再写一点,再测试,如此反复。并且每隔几分钟就选择 File > Save now,以免丢失工作!

如果在实现过程中发现某个功能太难完成,不必担心;可以调整你的设计,或者换一种方式绕过这个问题。只要你选择的是一个自己觉得有趣的想法,通常就不会太难满足上面的要求。

如果你决定在项目中导入任何背景、造型或声音,请务必用一条 comment 注明它们的来源!

好了,开始吧。期待你做出让我们骄傲的作品!

对于这个问题集,只要你的 Scratch 项目满足上述要求,提交一个你以前已经提交给其他 CS50 课程的 Scratch 项目是合理的。

完成项目后,最后再选择一次 File > Save now。然后选择 File > Save to your computer,保留下载得到的文件,以便提交。如果你的计算机提示你 OpenSave 该文件,请务必选择 Save

如何提交

请务必严格按照下面的顺序完成这些步骤!

第 1 步,共 2 步

提交此表单

提交此表单后,在某个时间点(可能从几周到几个月不等,因为这些邀请会人工分批处理),你可能会收到 GitHub Education 的邀请,因为你在提交过程中提供了自己的 GitHub 用户名。这是正常情况!可在 github.com/education/students 了解更多信息。

第 2 步,共 2 步

这一步假设你已经把 Scratch 项目下载为一个文件,并且文件名以 .sb3 结尾。同时,这一步也假设你已经按照上面的表单注册了 GitHub 账号。

  1. 访问此链接,用你的 GitHub 账号登录,然后点击 Authorize cs50
  2. 勾选表示你愿意授权课程工作人员访问你的提交内容的复选框,然后点击 Join course
  3. 前往 submit.cs50.io/upload/cs50/problems/2026/x/scratch
  4. 点击“Choose File”,选择你的 .sb3 文件。点击 Submit

如果你遇到错误 “No files in this directory are expected by cs50/problems/2026/x/scratch”,请确认你的 Scratch 项目文件名确实以 .sb3 结尾!

就这样!提交上传完成后,你应该会被重定向到你的提交页面。点击提交链接,然后点击 check50 链接,查看你的项目满足了哪些要求。你可以在截止日期前按需多次重新提交!请注意,如果你上传的文件大于 10MB(对 Scratch 项目来说这已经相当大),check50 可能难以处理它。最好确保文件小于这个限制。

要查看你目前在课程中的进度,请访问课程成绩册 cs50.me/cs50x