Abstract :
Summary form only given. Programming assignments (PAs) are very important to many computer science courses. Traditionally, the grading of a programming assignment is based mainly on the correctness of the code. However, from the view point of software engineering education, such a grading does not encourage students to develop code that is easy to read and maintain. Thus, the authors created a grading policy that considers not only the correctness but also the quality of the code, expecting students to follow the most important discipline — the source code should be written in a way that is readable and maintainable. Instead of using pure subjective code-quality ratings, bad smells are used to assess the code quality of PAs. When a PA is graded by the teaching assistant, a list of bad smells is identified and given to the student so that the student can use refactoring methods to improve the code.