However, students’ engagement in programming is not an easy process. Research shows that students encounter difficulties in understanding what an algorithm is and how programming concepts operate [8],[14]-[18]. They often have serious misconceptions that raise confusion and lead to drop outs.