>Block-based/graphical computer programming, using Scratch and related programming environments such as SNAP, as well as Lego's EV-3 programming environment, has become increasingly popular with students of all ages, as it makes programming structures much more intuitive. Combined with a variety of physical interfaces, such as the Makey-Makey, MakeBlock Arduino, or Scratch-X extensions, graphical programming can be used to control a wide variety of Arduino and other computer hardware. > source