It’s time to choose your own adventure! Your assignment, quite simply, is to implement in Scratch any project of your choice, be it an interactive story, game, animation, or anything else, subject only to the following requirements:

  • Your project must have at least two sprites, at least one of which must resemble something other than a cat.
  • Your project must have at least three scripts total (i.e., not necessarily three per sprite).
  • Your project must use at least one condition, one loop, and one variable.
  • Your project must use at least one sound.
  • Your project should be more complex than most of those demonstrated in lecture (many of which, though instructive, were quite short) but it can be less complex than Ivy’s Hardest Game. As such, your project should probably use a few dozen puzzle pieces overall.

If you’d like to try out some Scratch projects from past students, here are a few:

You might find these tutorials or starter projects helpful. And you’re welcome to explore for inspiration. But try to think of an idea on your own, and then set out to implement it. However, don’t try to implement the entirety of your project all at once: pluck off one piece at a time. In other words, take baby steps: write a bit of code (i.e., drag and drop a few puzzle pieces), test, write a bit more, test, and so forth. And select File > Save now every few minutes so that you don’t lose any work!

If, along the way, you find it too difficult to implement some feature, try not to fret; alter your design or work around the problem. If you set out to implement an idea that you find fun, odds are you won’t find it too hard to satisfy the above requirements.

Alright, off you go. Make us proud!

Once finished with your project, select File > Save now one last time. Then select File > Save to your computer and keep that file so that you can submit it.

Hello, World

Suffice it to say it’s a bit harder to meet classmates when taking a course online. But, thanks to technology, everyone can at least say hello!

If you have a phone (or digital camera) and would like to say hello to classmates, record a 1- to 2-minute video of yourself saying hello, perhaps stating where in the world you are, why you’re taking CS50x, and something interesting about you! Try to begin your video by saying “hello, world” and end it with “my name is …., and this is CS50.” But, ultimately, it’s totally up to you.

If you do record a video, upload it to YouTube (unless blocked in your country, in which case you’re welcome to upload it elsewhere) so that you can provide us with its URL when you submit!

How to Submit

Step 1 of 2

Submit this form.

Step 2 of 2

This step assumes that you’ve downloaded your Scratch project as a file whose name ends in .sb3. And this step also assumes that you’ve signed up for a GitHub account, per the above form.

  1. Visit this link, log in with your GitHub account, and click Authorize cs50.
  2. Check the box indicating that you’d like to grant course staff access to your submissions, and click Join course.
  3. Go to
  4. Click “Choose File” and choose your .sb3 file. Click Submit.

That’s it! Once your submission uploads, you should be redirected to your submission page. Click the submission link and then the check50 link to see which requirements your project met. You are welcome to resubmit as many times as you’d like (before the deadline)!

To view your current progress in the course, visit the course gradebook at!