This online tutorial is used by David Malan in his introductory computer science course at Harvard University. The course teaches basic programming concepts to undergraduate students using Scratch for the first two weeks of the course.
The tutorial introduces budding computer scientists to the building blocks of programming by way of Scratch. It assumes that you are already familiar with Scratch's usage and, accordingly, have a general sense of how to program with Scratch. The tutorial aspires to formalize your understanding of programming, framing some basic programming constructs in the language of Scratch.
Table of Contents
You can learn also watch an online recording of David Malan's course lecture: Introduction to Programming and Scratch or read a research article about his work.