dc.description.abstract | Programming is a difficult skill to learn, and programming courses have high dropout rates. In this thesis we study the problems that students have during their first introductory programming course at The University of Bergen. We inspect the solutions that they submit for the given assignments, and look at the frequency of the different kinds of mistakes in their work. We present a problem taxonomy that we use to classify the mistakes found to be the most common, and conclude that a significant part of the problems are observable misconceptions. We introduce a web-based tool, Javis, that we have developed to aid the students with these kinds of problems. Based on the experience and knowledge gained during this work we present a proposal of a grading by annotation scheme. This scheme is specif- ically designed to increase the quality of the feedback given to students on their submitted work and provide valuable feedback to the teachers regarding the problems that their students have. | en_US |