  In this work, we developed an algorithm for detecting code quality issues in
the templates of online programming tasks, validated it, and conducted an
empirical study on the dataset of student solutions. The algorithm consists of
analyzing recurring unfixed issues in solutions of different students, matching
them with the code of the template, and then filtering the results. Our manual
validation on a subset of tasks demonstrated a precision of 80.8% and a recall
of 73.3%. We used the algorithm on 415 Java tasks from the JetBrains Academy
platform and discovered that as much as 14.7% of tasks have at least one issue
in their template, thus making it harder for students to learn good code
quality practices. We describe our results in detail, provide several
motivating examples and specific cases, and share the feedback of the
developers of the platform, who fixed 51 issues based on the output of our
approach.
