Introductory programming courses are considered difficult and challenging for students. They have to focus on and develop different skills related to problem-solving and programming domains ...