Developing media in Scratch requires students to apply a variety of concepts common to many programming languages. But unlike traditional programming languages, Scratch offers users a graphical interface of “drag-and-drop” blocks that can be manipulated and applied to the creation of complex projects. Seven of the Scratch programming concepts known to be transferrable to other programming (and non-programming) environments are described below