-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathgrading.yml
More file actions
167 lines (152 loc) · 4.64 KB
/
grading.yml
File metadata and controls
167 lines (152 loc) · 4.64 KB
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# This is a separate section containing a few templates that we will use below.
# The & feature is built into YAML, it is not a special feature of the website.
# The section does not need to be called `templates` necessarily.
templates:
1: &automatisch
type: points
subgrades:
akkoord: boolean
automatic:
akkoord: -correctness_score.floor
calculation: akkoord
auto_publish: true
# hide_subgrades: true
# hide_calculated: true
2: &automatisch_pass
type: pass
subgrades:
akkoord: boolean
automatic:
akkoord: -correctness_score.floor
calculation: akkoord
auto_publish: true
hide_calculated: true
3: &aftekenen
type: points
subgrades:
akkoord: boolean
calculation: akkoord
# hide_subgrades: true
hide_calculated: true
4: &punten
type: points
subgrades:
punten: float
calculation: punten
hide_subgrades: true
5: &semiautomatisch
type: points
subgrades:
akkoord: boolean
automatic:
akkoord: -correctness_score.floor
calculation: akkoord
hide_subgrades: true
# GRADES - contains definitions of how grades are structured. The names of the
# grades match the names of submits that may be defined in `submit.yml`
# elsewhere, but you can also create grades without an accompanying submit.
#
# The following properties are supported:
#
# - `type` can be `integer`, `float` or `pass`, which influences presentation
# and input
#
# - `subgrades` defines any extra numbers to be added to a grade, with their
# types `integer`, `pass`, `boolean` or `float`
#
# - note: if any subgrades are defined, teaching assistants are only allowed to
# enter those, and can't override the grade itself
#
# - `calculation` is an expression that is evaluated in the context of the
# subgrades, which means you can use any subgrade by name in that expression, as
# well as any standard Ruby objects and syntax
#
# - `automatic` is an expression that is evaluated in the context of any
# automatic grading results (as defined in `submit.yml`) - allowing the use of
# the variable `correctness_score`. It can only be used to fill in subgrades,
# but you can then use the `calculation` to transfer the value of a subgrade
# into the grade.
#
# - `hide_calculated` hides the calculated grade, only showing the entered
# subgrades (to de-emphasize grades for students)
#
# - `hide_subgrades` hides the subgrades, for example if you want to do a simple
# calculation but only show the resulting grade to students
#
# You can leave this out if grading isn't used or if each submit simply requires
# entering a final grade, no subgrades and no calculations.
grades:
# Python
python_tutorial: *aftekenen
weken: *automatisch
isalpha: *automatisch
lower: *automatisch
orakel: *automatisch
index: *automatisch
slice: *automatisch
capitalize: *automatisch
title: *automatisch
find: *automatisch
split: *automatisch
calculator: *automatisch
join: *automatisch
replace: *automatisch
camelcase: *automatisch
# --steropdrachten
kenteken: *automatisch
split_real: *automatisch
# Collections
sets: *automatisch
dicts: *automatisch
tuples: *automatisch
recommend: *automatisch
big-o-questions: *aftekenen
# --steropdracht
cc_hangman: *automatisch
# Objects
queue: *automatisch
jar: *automatisch
# ADTs
cards: *automatisch
card_implementations: *automatisch
# --steropdracht
cash_tests: *punten
# Containers
war: *automatisch
dict_implementations: *automatisch
# --steropdracht
markov: *automatisch
# Linked structures
list_implementations: *automatisch
profiling: *punten
# Restricted lists
palindrome: *aftekenen
priority_queue_adt: *aftekenen
# Object graphs
police: *automatisch
adventure-steps:
<<: *semiautomatisch
subgrades:
check_points: integer
quality_points: integer
automatic:
check_points: (correctness_score * 7).round
calculation: check_points + quality_points
# Meesterproef
meesterproef1:
exam: true
type: pass
subgrades:
voldoende: boolean
calculation: voldoende
hide_calculated: true
# Meesterproef
meesterproef2:
exam: true
type: pass
subgrades:
voldoende: boolean
calculation: voldoende
hide_calculated: true
minimeesterproef:
exam: true