“…Roles represent programming knowledge on a level higher than the simple programming language knowledge, which are always utilized by experts and experienced programmers (Sajaniemi & Prieto, 2005) and can be explicitly taught to the novices (Kohn, 2017). Studies have shown that roles of variables could improve novice code comprehension and debugging skills (Byckling & Sajaniemi, 2006;Sajaniemi & Kuittinen, 2005) and help students in building more general and abstract understanding of the program structures (Al- Barakati & Al-Aama, 2009; and the relation to problem domain concepts (Laakso et al, 2008). Teaching the concepts of roles of variables in the novice programmers learning can help them to understand the different methods of using variables in a program (Taherkhani & Malmi, 2013).…”