Avaliador pedagógico da qualidade de código - Alfredo, Francisco Miguel da Anunciação (2020)
When it comes to learning how to program, during introductory programming courses, students tend to form misconceptions regarding certain code aspects, that they aren’t aware of. These misconceptions can result in code quality issues, which don’t affect a program execution, but are considered bad practices and should be avoided. Most often, they will stay unaware of such issues until an intervention is made, by a third-party agent, such as a professor. There are already a few tools that focus on this type of issues, by highlighting the code quality issues and supplying a quick fix for them. This approach, while effective, isn’t ideal for beginners, since providing a solution without explaining the problem, won’t make the student understand why the code that was written is considered a bad practice. With this being said, a pedagogical tool was developed. This tool uses static analysis in order to apply some code quality issues detectors to the student’s codebase, and focus on highlighting the issues, while explaining why they are considered to be wrong and therefore, why they should be avoided. After the development of the tool was done, a study where a batch of projects from the previous year’s course were subjected to the tool, in order to find out how often can these code quality issues be found in the student’s codebase, and which code issues are the most popular amongst unexperienced programming beginners.