-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.ini
296 lines (214 loc) · 7.79 KB
/
config.ini
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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
[app]
; Name of the application
name = My Coursework
; Temporary directory where to save the submission while marking it
dir_temp = _temp
; Directory where submissions are stored. Each submission should be in a
; directory of its own, where its name is passed as an argument to pyfeedbacker
; using the -m argument
dir_submissions = _submissions
; Enable debugging
;
; At the moment, this basically is used to allow the application to crash
; ungracefully
debug = True
; Number of columnns for distribution graph
graph_columns = 10
[scorer]
; Enable submission score statistics footer (default: False)
enable_footer = False
[marker]
; Enable submission mark statistics footer (default: True)
enable_footer = True
[model]
; Which model to use (currently only 'file' is supported)
type = file
[model_file]
; Directory to save the model data
directory = _output
; Filename for CSV of raw scores
file_scores = %(directory)s/scores.csv
; Filename for CSV of finalised marks
file_marks = %(directory)s/marks.csv
; Filename for JSON of raw feedback
file_feedbacks = %(directory)s/feedbacks.json
; Filename for finalised feedback (for the student). Use ##submission##
; for the submission ID
file_final_feedback = %(directory)s/feedback-##submission##.txt
; Filename for JSON of outcomes
file_outcomes = %(directory)s/outcomes.json
; Filename for JSON of marks for each outcome
file_outcomes_marks = %(directory)s/weights.json
; Scores are always displayed as ints in feedback (default: False)
; If True, in feedback, marks will always been shown as integers. Note in
; outcomes model floats are always used.
scores_are_ints = True
; Marks are always displayed as ints in feedback (default: False)
; If True, in feedback, marks will always been shown as integers. Note in
; marks model floats are always used.
marks_are_ints = True
[assessment]
; Initial number of marks
score_init = 0
; Minimum score possible
score_min = 0
; Maximum score possible
score_max = 100
; Minimum mark possible
mark_min = %(score_min)s
; Maximum mark possible
mark_max = %(score_max)s
; List of stages of the submission as a comma-separated list
;
; For each stage, you must have a segment of configuration below with the
; name "stage_XXX" where XXX is the name of the stage
;
; For example, if your list of stages is:
; stages = init, execute, finalise
; you will need three ini segments, like so:
; [stage_init]
;
; ; Label for the stage
; label = Initialise
;
; ; Handler for the stage
; ; Currently this is: HandlerNone (does nothing)
; ; HandlerQuestionnaire (user answers questions)
; ; HandlerPython (execute Python code)
; ; HandlerProcess (execute external process)
; handler = HandlerExecution
;
stages = init, isgood, feedback, finalise
; Auto-progress on success (default: True)
progress_on_success = False
; Halt feedback generation if an error occurs (default: False)
halt_on_error = False
; Scores are marks (default: true, each score equals one mark)
; If False, you will have to do a post-hoc score-to-mark conversion
; You may want to do this when you want to decide a weighting at the end
; of marking.
;
; If True, scores are automatically applied to submission's mark.
scores_are_marks = False
[stage_init]
; Label for the stage
label = Initialise
; Handler for the stage
handler = HandlerPython
; Minimum number for the score (set to false to disable, default: false)
score_min = 0
; Maximum number for the score
score_max = 1
; Minimum mark possible
; mark_min = %(score_min)s
; Maximum mark possible
; mark_max = %(score_max)s
; Automatically preprend this feedback
feedback_pre = My coursework feedback - (##mark##/##mark_max##)
; Automatically append this feedback
feedback_post =
; Halt feedback generation if an error occurs (default: false)
halt_on_error = true
; Copy the following folder into the temporary directory (default: '')
# framework_directory = _framework
[stage_textmate]
; Label for the stage
label = TextMate
; Handler for the stage
handler = HandlerProcess
[stage_isgood]
; Label for the stage
label = Is it good?
; Handler for the stage
handler = HandlerForm
; Maximum number for the score (set to false to disable)
; score_min = 0
; Maximum number for the score (set to false to disable)
; score_max = 20
; Minimum mark possible
; mark_min = %(score_min)s
; Maximum mark possible
; mark_max = %(score_max)s
; Automatically preprend this feedback
feedback_pre =
1. ASSESSMENT OF CODING QUALITY (##stage_isgood_mark##/##stage_isgood_mark_max##)\n
; Scales for answering questions as JSON arrays
scale_set1 = ["N/A", "No", "Yes"]
scale_set2 = ["Very Poor", "Poor", "OK", "Good", "Very Good"]
scale_set3 = ["N/A", "Very Poor", "Poor", "OK", "Good", "Very Good", "Excellent"]
; Questions, the scale used, the scale and score
question1 = How would you rate the coding style?
type1 = scale
answer1 = scale_set2
score1 = 0,2,4,6,6
feedback1 =
Your coding style was very poor, you should revisit the lecture material.
Your coding style was poor, you should revisit the lecture material.
Your coding style was OK but there was room for improvement, you should revisit the lecture material.
Your coding style was very good, but try to always be consistently excellent in future.
Your coding style was very good!
required1 = True
question2 = How would you rate variable naming?
type2 = scale
answer2 = scale_set2
score2 = 0,1,2,3,4
feedback2 =
Your variable names were not always that good, please remember that code should be self documenting through clear structures, syntax, and variable/function naming.
Your variable names were not always that good, please remember that code should be self documenting through clear structures, syntax, and variable/function naming.
Your variable names were OK but please remember that code should always be self documenting through clear structures, syntax, and variable/function naming.
Your variable names were pretty good, pleased try to ensure that variable/function names are always self-documenting and clear.
Your variable names were great and very clear to understand!
required2 = True
question3 = Did they complete the task to a good standard?
type3 = scale
answer3 = ["No", "Yes"]
score3 = 0,3
feedback3 =
\n\nOverall, you sadly didn't complete the task to a good standard, as expected.
\n\nOverall, you completed the task to a good standard.
required3 = True
question4 = Did they complete bonus task to a good standard?
type4 = scale
answer4 = scale_set1
score4 = 0,2,3
feedback4 =
You didn't attempt the bonus task, so no marks were awarded here.
The attempt at the bonus task was lacking somewhat.
You did manage to achieve a few extra marks for completing the bonus task to a good standard.
required4 = True
question5 = Enter some bonus marks
type5 = input_score
min5 = 0
max5 = 4
required5 = False
question6 = Enter some extra feedback
type6 = input_feedback
[stage_feedback]
; Label for the stage
label = Feedback
; Handler for the stage
handler = HandlerEditText
; Selective feedback based on score
selective_0_24 =
2. SUMMARY
Your score is rather low in this coursework, suggesting you need to revise the course material much more closely.
selective_25_49 =
2. SUMMARY
Although you attempted some of this coursework, your overall mark is a little on the low side.
selective_50_69 =
2. SUMMARY
You did well in this coursework.
selective_70_84 =
2. SUMMARY
You did very well in this coursework.
selective_85_94 =
2. SUMMARY
You did exceptionally well in this coursework.
selective_95_100 =
2. SUMMARY
Your coursework was close to faultless.
[stage_finalise]
; Label for the stage
label = Finalise
; Handler for the stage
handler = HandlerPython