Assessment aspects | Criteria |
---|---|
Syntactic correctness | All commands in code must be correct. Automatic code graders can simply verify this using a compiler |
Semantic/logical correctness | Code’s outputs must agree with the expected solution described by specifications. Most automatic code graders can validate the code outputs using defined test cases |
Efficiency/performance | Code must provide outputs within a specific duration and computer resource. Most automatic code graders can specify CPU time and memory limits to validate this aspect |
Quality/maintainability | This aspect involves coding style, guidelines and best practices which focus on readability and reusability. It is a consideration for advanced programming course. This aspect cannot be judged by automatic code graders |
Plagiarism | Code should not replicate nor closely resemble another student’s code. Some automatic code graders have a feature to check for code authenticity, but it could yield high false positives in cases of simple coding questions |