Program Dossier


The program dossier is an individual piece of well-documented work, completed during the course, involving a problem that can be solved using computer systems. The emphasis is on the use of a logical approach and analytical thinking from definition and decomposition of the problem through to its solution by constructing algorithms in C++. The choice of problem is left to each student however the choosen project should allow for the demonstration of mastery as detailed

Mastery of aspects

There are certain aspects in which mastery must be demonstrated. Mastery is defined as the ability to use an aspect appropriately for some non-trivial purpose which is well documented.

SL students must attempt to show mastery of all seven of the following aspects:

HL students must attempt to show mastery of atleast nine of the following aspects:

Assessment Areas

The assessment areas are given below. These apply equally to SL and HL program dossiers

  1. Analysing the problem
  2. Documenting the design process
  3. Using appropriate data structures
  4. Using efficient algorithms
  5. Designing a testing strategy
  6. Including an annotated hard copy of the test output
  7. Incorporting user friendly features
  8. Handling errors
  9. Implementing the program
  10. Using good programming style
  11. Evaluating solutions
  12. Including user documentation

There is one further requirement of HL students and that is that the program dossier includes linked lists or trees, pointers would most probably be used to implement these linked data structures

Once the program dossier is marked, a mastery factor is applied as shown below. The final mark for the project is multiplied by the mastery factor to give the overall mark

Level Total number of different aspects in which the student demonstrates mastery Mastery Factor
SL 7
4 or 5
0, 1, 2 or 3
HL 9, 10 or 11
7 or 8
5 or 6
0, 1, 2, 3 or 4