5. Learning objectives and assessment

5.1. Learning objectives

Development skills

  1. Approaches for working in teams.
  2. Designing a working library for specific technical requirements.
  3. Working to a realistic project specification.
  4. Effective use of version control.
  5. Devising tests.

Programming skills

  1. Reinforcement of skills developed in Michaelmas Term.
  2. Introduction to user modules and multi-file library implementations.
  3. Working with user-defined objects.

5.2. Assessment guidelines

The following points will be used in assessing your implementation. Markers will want to view your Git log.


  1. Programs should execute without error.
  2. Interfaces should conform to the specification in the Deliverables.
  3. Programs should be correct.
  4. Clarity and structure of the implementations.
  5. Appropriate re-use of functions.

Documentation and process

  1. Documentation of the library (both docstrings and comments in the code).
  2. Unit tests.
  3. Effective use of version control (commits of small steps with clear messages).
  4. Balance of work within the team (as shown by the Git log).
  5. Use of continuous integration.