This site is from a past semester! The current version will be here when the new semester starts.

tP: DeliverablestP: Supervision


tP: Grading

Note that project grading is not competitive (not bell curved). Given below is the marking scheme.

Total: 60 marks ( 35 individual marks + 25 team marks)

See the sections below for details of how we assess each aspect.

1. Project Grading: Product Design [ 5 marks]

Evaluates:

  • how well your features fit together to form a cohesive product
    (not how many features or how big/novel/interesting/difficult the features are)
  • how well it matches the target user

Evaluated by the teaching team

Based on the product features.

2. Project Grading: Implementation [ 20 marks]

2A. Code quality

Evaluates: the quality of the parts of the code you claim as written by you

Evaluation method: manual inspection by tutors + automated-analysis by a script

Criteria:

  • At least some evidence of these (see here for more info)

    • logging
    • exceptions
    • assertions
  • No coding standard violations e.g. all boolean variables/methods sounds like booleans. Checkstyle can prevent only some coding standard violations; others need to be checked manually.

  • SLAP is applied at a reasonable level. Long methods or deeply-nested code are symptoms of low-SLAP.

  • No noticeable code duplications i.e. if there multiple blocks of code that vary only in minor ways, try to extract out similarities into one place, especially in test code.

  • Evidence of applying code quality guidelines covered in the module.

2B. Effort

Evaluates: how much value you contributed to the product

Method:

  • This is evaluated by tutors.
  • The score could be further moderated by this question answered by team members.

3. Project Grading: QA [/ 10 marks]

Evaluated by the teaching team.

Based on,

  • the robustness of your product
  • the quality of test cases

4. Project Grading: Documentation [/ 15 marks]

Evaluated by tutors

Based on the quality of your UG and DG, adjusted based on your individual contribution to the UG/DG.

5. Project Grading: Project Management [ 5 + 5 = 10 marks]

5A. Process:

Evaluates: How well you did in project management related aspects of the project, as an individual and as a team

Based on: tutor/grading-script observations of project milestones and GitHub data

Grading criteria:

  • Project done iteratively and incrementally (opposite: doing most of the work in one big burst)

  • Milestones reached on time (i.e., the midnight before of the tutorial) (to get a good grade for this aspect, achieve at least 75% of the recommended milestone progress).

  • Good use of GitHub milestones mechanism.

  • Good use of GitHub releases mechanism.

  • Good version control, based on the repo.

  • Reasonable attempt to use the forking workflow at least for the early part of the project.

  • Good task definition, assignment and tracking, based on the issue tracker.

  • Good use of buffers (opposite: everything at the last minute).

5B. Team-tasks:

Evaluates: How much you contributed to team-tasks

Based on: peer evaluations, tutor observations

Grading criteria: Do these to earn full marks.

  • Do close to an equal share of the team tasks (you can earn bonus marks by doing more than an equal share).
  • Have your code merged in at least four of weeks 7, 8, 9, 10, 11, 12

tP: DeliverablestP: Supervision