GP is a free, general-purpose blocks programming language (similar to MIT's Scratch) that is powerful yet easy to learn. It runs on most platforms, including laptops, Chromebooks, tablets, and web browsers.
GP is an excellent vehicle for learning and teaching computer science. Blocks allow beginners to work with complete statements, expressions, and control structures, rather than individual characters, avoiding syntax errors and allowing the learner to focus on problem solving rather than mechanics. However, while GP is certainly welcoming to beginners, its flexibility and speed also allow it to be used to explore advanced computer science topics such as algorithms, data structures, media manipulation, object oriented programming, UI design, and data visualization.