aboutsummaryrefslogtreecommitdiff
path: root/doc/graduation.md
blob: 9edc289a0f412b5007fa239a2834e2440544e8fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Graduation

## Table

There exist a single table called `Graduation` to hold all graduation information.
A single table is used to reduce the amount of requests required to load the data.
It is important that only teachers are allowed to read from the table.

## Graduation Changes

Graduation changes are unique and the systems ensures that no duplicates are entered.

Changes can be active or archived.
The state of a particular change is derived from subsequent changes.

Currently multiple changes have to be retrieved to determine their state.
This decision allows us to write data once and not modify changes in the future.
The assumption is that a single person does not acquire that much changes, that this would be a performance issue.

### Database format

Note that the database is a Moodle database activity and thus does not allow access using SQL.
The below scheme uses a SQL like syntax.

```sql
TABLE Change(
	Date: Date,
	Coach: String,
	Json: STRING,
)
```

The author of the change and the creation time are tracked by Moodle.

### Data format

Each stored change is represented as JSON and has the following fields:
(Fields marked by `?` are optional.)

* `studentId` - the id of the student
* `change` - the type of the change
* `?reason` - the type of the change
* `?context` - arbitrary data used to handle the type of change

### Changes

Valid changes are:

* `Grün` - sign for wanted behavior
* `Orange` - sign for unwanted behavior
* `Rot` - sign for unacceptable behavior
* `ObservationRequest` - the student requested an observation
* `ObservationStart` - the student's observation started
* `ObservationEnd` - the student's observation ended
* `LevelChange` - the student's level changed
* `Observation` - an observation of the student

#### Green Mark

Green marks are collectables.

#### Orange Mark

Orange marks highlight the need for a pedagogical session and are rendered archived by any subsequent `Gespräch` change.

#### Red Mark

Red Marks track unacceptable behavior and are only archived by consequence explicitly doing so with a `Änderung` change.

#### Obseration

An observation consists of a set of answers to thefollowing questions:

1. "Arbeitet konzentriert an Aufgaben"
2. "Arbeitet zunehmend selbstständig"
3. "Führt das Logbuch zuverlässig"
4. "Bringt Material mit"
5. "Hält Regeln ein"
6. "Geht verantwortungsvoll mit Materialien und LernRaum um"
7. "Nimmt Rückmeldungen an und setzt sie um"

The answer set is ordered and each answer is one of the three values `"yes"|"no"|""`.