Week 1

Scratch and Thinking Algorithmically

Note: Besides setting up your anaconda python environment (see Setting up Python), there is no "compulsory" homework this week. However, attempting some of the following exercises is highly recommended for people who have never had to develop algorithmic solutions to problems before.


Scratch is a pedagogical programming environment which allows you to create surprisingly complex, interactive games by chaining together many "blocks" of code.


Start by visiting https://scratch.mit.edu/projects/editor/?tutorial=getStarted and completing the scratch tutorial. You will need a fairly modern browser for this to work.

Building a scratch game

Have a go at creating a simple game in scratch, for example:

  • Pong

  • Brick Breaker

  • Simon Says

The aim here is to learn to feel comfortable with the creation of blocks of instructions which perform the function you have in mind - you don't have to complete an entire game.

You can google any of these games and find that many people have already made very fancy scratch versions - try to at least see how they did this by clicking the "see inside" button when viewing their scratch project page

See what's possible

Harvard's CS50 course (on which this course is largely based) sets students a scratch challenge during the first week - you can have a look at some of the things people made at https://scratch.mit.edu/users/cs50/

https://scratch.mit.edu/projects/277537259/ is a particular highlight!

Last updated