Scratch’s programming language is graphical – blocks may be dragged, dropped and
attached together to create programs. Scratch’s programming paradigm is mostly
procedural, though it contains some object-oriented features (Object-Oriented
Programming, 2014). A notable feature of Scratch is the design of the blocks – each
block is color coded and has a physical shape indicative of which blocks it can attach to
(David J. Malan, 2007) (Mitchel Resnick, 2009).