“…• Mini-languages used to teach introductory programming, such as Karel the Robot [98] and Logo [116] • The use of robots such as LEGO Mindstorms has been reported to affect motivation [414,435] • Auto-graded coding exercise platforms -student behaviour when using them and their benefits for learning [120,184,589,711] • Interactive books and learning objects and their benefits [182,515,686] • Integrated development environments and their aspects that might be beneficial for novice programmers [304,548] • Intelligent tutoring systems (ITS): their benefits [623], the role of tutorial dialog in ITS [710], and the use of automatic program repair in ITS [722]. • Tools for algorithm development: ALVIS [290] and MELBA [573], as opposed to tools for coding, such as Verificator [484,485] Tools have also been used in the evaluation of pedagogical approaches such as self-paced learning [480], explicit instruction of the roles of variables [601], and the quality of examples in textbooks [83]. Evaluations have also been made of various features of tools, including menu-based self-explanation [198], example-based learning [573], and tutorial dialogue [710], as well as how students learn with tools such as Visual Program Simulation [633].…”