4
SET client_encoding = 'UTF8';
5
SET standard_conforming_strings = off;
6
SET check_function_bodies = false;
7
SET client_min_messages = warning;
8
SET escape_string_warning = off;
10
SET search_path = public, pg_catalog;
15
SELECT pg_catalog.setval('assessed_assessedid_seq', 1, true);
21
SELECT pg_catalog.setval('login_unixid_seq', 5004, true);
27
SELECT pg_catalog.setval('login_loginid_seq', 5, true);
33
SELECT pg_catalog.setval('offering_offeringid_seq', 6, true);
39
SELECT pg_catalog.setval('project_extension_extensionid_seq', 1, false);
45
SELECT pg_catalog.setval('project_group_groupid_seq', 1, true);
51
SELECT pg_catalog.setval('project_projectid_seq', 3, true);
57
SELECT pg_catalog.setval('project_set_projectsetid_seq', 2, true);
63
SELECT pg_catalog.setval('project_submission_submissionid_seq', 1, false);
69
SELECT pg_catalog.setval('semester_semesterid_seq', 4, true);
75
SELECT pg_catalog.setval('subject_subjectid_seq', 4, true);
81
SELECT pg_catalog.setval('suite_variable_varid_seq', 2, true);
87
SELECT pg_catalog.setval('test_case_part_partid_seq', 6, true);
93
SELECT pg_catalog.setval('test_case_testid_seq', 6, true);
99
SELECT pg_catalog.setval('test_suite_suiteid_seq', 3, true);
105
SELECT pg_catalog.setval('worksheet_exercise_ws_ex_id_seq', 1, true);
111
SELECT pg_catalog.setval('worksheet_worksheetid_seq', 1, true);
117
ALTER TABLE assessed DISABLE TRIGGER ALL;
119
INSERT INTO assessed (assessedid, loginid, groupid, projectid) VALUES (1, 2, NULL, 1);
122
ALTER TABLE assessed ENABLE TRIGGER ALL;
127
ALTER TABLE enrolment DISABLE TRIGGER ALL;
129
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (2, 1, 'lecturer', NULL, NULL, NULL, NULL, NULL, true);
130
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (2, 2, 'lecturer', NULL, NULL, NULL, NULL, NULL, true);
131
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (3, 2, 'tutor', NULL, NULL, NULL, NULL, NULL, true);
132
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (4, 1, 'student', NULL, NULL, NULL, NULL, NULL, true);
133
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (4, 2, 'student', NULL, NULL, NULL, NULL, NULL, true);
134
INSERT INTO enrolment (loginid, offeringid, role, result, special_result, supp_result, special_supp_result, notes, active) VALUES (5, 2, 'student', NULL, NULL, NULL, NULL, NULL, true);
137
ALTER TABLE enrolment ENABLE TRIGGER ALL;
142
ALTER TABLE exercise DISABLE TRIGGER ALL;
144
INSERT INTO exercise (identifier, name, description, partial, solution, include, num_rows) VALUES ('factorial', 'Factorial', 'Write a function, `fac`, to compute the **factorial** of a number. e.g.::
149
Then, write a function `main`, which reads a number from stdin, and writes its factorial to stdout. e.g.::
167
print fac(f)', '', 12);
170
ALTER TABLE exercise ENABLE TRIGGER ALL;
175
ALTER TABLE exercise_attempt DISABLE TRIGGER ALL;
179
ALTER TABLE exercise_attempt ENABLE TRIGGER ALL;
184
ALTER TABLE exercise_save DISABLE TRIGGER ALL;
188
ALTER TABLE exercise_save ENABLE TRIGGER ALL;
193
ALTER TABLE group_invitation DISABLE TRIGGER ALL;
197
ALTER TABLE group_invitation ENABLE TRIGGER ALL;
202
ALTER TABLE group_member DISABLE TRIGGER ALL;
204
INSERT INTO group_member (loginid, groupid) VALUES (4, 1);
205
INSERT INTO group_member (loginid, groupid) VALUES (5, 1);
208
ALTER TABLE group_member ENABLE TRIGGER ALL;
213
ALTER TABLE login DISABLE TRIGGER ALL;
215
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (1, 'admin', '5f4dcc3b5aa765d61d8327deb882cf99', 'enabled', true, 5000, 'Anne Admin', NULL, NULL, '2009-12-08 11:44:02.285862', 'password', NULL, 'Anne Admin', NULL, NULL);
216
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (2, 'lecturer', '5f4dcc3b5aa765d61d8327deb882cf99', 'enabled', false, 5001, 'Larry Lecturer', NULL, NULL, '2009-12-08 12:12:16.375628', 'password', NULL, 'Larry Lecturer', NULL, NULL);
217
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (3, 'tutor', '5f4dcc3b5aa765d61d8327deb882cf99', 'enabled', false, 5002, 'Terry Tutor', NULL, NULL, '2009-12-08 19:08:59.817505', 'password', NULL, 'Terry Tutor', NULL, NULL);
218
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (4, 'studenta', '5f4dcc3b5aa765d61d8327deb882cf99', 'enabled', false, 5003, 'Alice Student', NULL, NULL, '2009-12-08 12:11:46.349133', 'password', NULL, 'Alice Student', NULL, NULL);
219
INSERT INTO login (loginid, login, passhash, state, admin, unixid, nick, pass_exp, acct_exp, last_login, svn_pass, email, fullname, studentid, settings) VALUES (5, 'studentb', '5f4dcc3b5aa765d61d8327deb882cf99', 'no_agreement', false, 5004, 'Bob Student', NULL, NULL, NULL, NULL, NULL, 'Bob Student', NULL, NULL);
222
ALTER TABLE login ENABLE TRIGGER ALL;
227
ALTER TABLE offering DISABLE TRIGGER ALL;
229
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (1, 1, 1, 'This subject will introduce you to the basics of IVLE.', 'http://www.ivle.org/example/101', 'none');
230
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (2, 2, 2, 'Enhancing your understanding of IVLE''s usage and operation, this subject will consolidate and expand your general IVLE knowledge.', 'http://www.ivle.org/example/102', 'none');
231
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (3, 1, 3, 'This subject will introduce you to the basics of IVLE, again.', 'http://www.ivle.org/example/101', 'none');
232
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (4, 3, 3, 'This subject will provide you with a working knowledge of advanced IVLE concepts.', 'http://www.ivle.org/example/201', 'none');
233
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (5, 2, 4, 'Enhancing your understanding of IVLE''s usage and operation, this subject will consolidate and expand your general IVLE knowledge, again.', 'http://www.ivle.org/example/102', 'none');
234
INSERT INTO offering (offeringid, subject, semesterid, description, url, groups_student_permissions) VALUES (6, 4, 4, 'After undertaking this subject, you should be a master of all things IVLEy.', 'http://www.ivle.org/example/202', 'none');
237
ALTER TABLE offering ENABLE TRIGGER ALL;
242
ALTER TABLE project DISABLE TRIGGER ALL;
244
INSERT INTO project (projectid, short_name, name, synopsis, url, projectsetid, deadline) VALUES (1, 'phase1', 'Phase 1', 'This is the first project in Intermediate IVLE.', NULL, 1, '3009-08-21 18:00:00');
245
INSERT INTO project (projectid, short_name, name, synopsis, url, projectsetid, deadline) VALUES (2, 'phase2', 'Phase 2', 'This is the second project in Intermediate IVLE.
246
Get into groups of 3.', NULL, 2, '3009-09-11 18:00:00');
247
INSERT INTO project (projectid, short_name, name, synopsis, url, projectsetid, deadline) VALUES (3, 'phase3', 'Phase 3', 'This is the final project in Intermediate IVLE.
248
Complete this with the same group as Phase 2.', NULL, 2, '2009-09-25 18:00:00');
251
ALTER TABLE project ENABLE TRIGGER ALL;
256
ALTER TABLE project_extension DISABLE TRIGGER ALL;
260
ALTER TABLE project_extension ENABLE TRIGGER ALL;
265
ALTER TABLE project_group DISABLE TRIGGER ALL;
267
INSERT INTO project_group (groupnm, groupid, projectsetid, nick, createdby, epoch) VALUES ('group1', 1, 2, 'group1', 2, '2009-12-08 17:04:42.981005');
270
ALTER TABLE project_group ENABLE TRIGGER ALL;
275
ALTER TABLE project_mark DISABLE TRIGGER ALL;
279
ALTER TABLE project_mark ENABLE TRIGGER ALL;
284
ALTER TABLE project_set DISABLE TRIGGER ALL;
286
INSERT INTO project_set (projectsetid, offeringid, max_students_per_group) VALUES (1, 2, NULL);
287
INSERT INTO project_set (projectsetid, offeringid, max_students_per_group) VALUES (2, 2, 3);
290
ALTER TABLE project_set ENABLE TRIGGER ALL;
295
ALTER TABLE project_submission DISABLE TRIGGER ALL;
299
ALTER TABLE project_submission ENABLE TRIGGER ALL;
304
ALTER TABLE semester DISABLE TRIGGER ALL;
306
INSERT INTO semester (semesterid, year, semester, state) VALUES (1, '2009', '1', 'past');
307
INSERT INTO semester (semesterid, year, semester, state) VALUES (2, '2009', '2', 'current');
308
INSERT INTO semester (semesterid, year, semester, state) VALUES (3, '2010', '1', 'future');
309
INSERT INTO semester (semesterid, year, semester, state) VALUES (4, '2010', '2', 'future');
312
ALTER TABLE semester ENABLE TRIGGER ALL;
317
ALTER TABLE subject DISABLE TRIGGER ALL;
319
INSERT INTO subject (subjectid, subj_code, subj_name, subj_short_name) VALUES (1, '100101', 'Introduction to IVLE', 'ivle-101');
320
INSERT INTO subject (subjectid, subj_code, subj_name, subj_short_name) VALUES (2, '100102', 'Intermediate IVLE', 'ivle-102');
321
INSERT INTO subject (subjectid, subj_code, subj_name, subj_short_name) VALUES (3, '100201', 'Advanced IVLE', 'ivle-201');
322
INSERT INTO subject (subjectid, subj_code, subj_name, subj_short_name) VALUES (4, '100202', 'Mastering IVLE', 'ivle-202');
325
ALTER TABLE subject ENABLE TRIGGER ALL;
330
ALTER TABLE suite_variable DISABLE TRIGGER ALL;
332
INSERT INTO suite_variable (varid, suiteid, var_name, var_value, var_type, arg_no) VALUES (1, 1, '', '4', 'arg', 0);
333
INSERT INTO suite_variable (varid, suiteid, var_name, var_value, var_type, arg_no) VALUES (2, 2, '', '5', 'arg', 0);
336
ALTER TABLE suite_variable ENABLE TRIGGER ALL;
341
ALTER TABLE test_case DISABLE TRIGGER ALL;
343
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (1, 1, 'Calculates factorial correctly', 'Wrong answer', 'ignore', 0);
344
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (2, 1, 'Doesn''t use functools', 'You used functools, you arrogant git', 'ignore', 1);
345
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (3, 2, 'Calculates factorial correctly', 'Wrong answer', 'ignore', 0);
346
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (5, 3, 'Main worked correctly', 'Main printed something else as well. You should only print out the answer.', 'ignore', 1);
347
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (4, 3, 'Main printout included the correct answer', 'Main didn''t print out the correct answer', 'ignore', 0);
348
INSERT INTO test_case (testid, suiteid, passmsg, failmsg, test_default, seq_no) VALUES (6, 1, 'Doesn''t use __import__', 'You used __import__, you subversive git!', 'ignore', 2);
351
ALTER TABLE test_case ENABLE TRIGGER ALL;
356
ALTER TABLE test_case_part DISABLE TRIGGER ALL;
358
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (1, 1, 'result', 'match', '', NULL);
359
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (2, 2, 'code', 'check', 'lambda solution, attempt: ''functools'' not in attempt', NULL);
360
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (3, 3, 'result', 'match', '', NULL);
361
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (5, 5, 'stdout', 'norm', 'lambda x: x.strip() # Allow leading or trailing whitespace', NULL);
362
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (4, 4, 'stdout', 'check', 'lambda solution, attempt: solution.strip() in attempt # Substring test', NULL);
363
INSERT INTO test_case_part (partid, testid, part_type, test_type, data, filename) VALUES (6, 6, 'code', 'check', 'lambda solution, attempt: ''__import__'' not in attempt', NULL);
366
ALTER TABLE test_case_part ENABLE TRIGGER ALL;
371
ALTER TABLE test_suite DISABLE TRIGGER ALL;
373
INSERT INTO test_suite (suiteid, exerciseid, description, seq_no, function, stdin) VALUES (2, 'factorial', 'Test fac(5)', 1, 'fac', '');
374
INSERT INTO test_suite (suiteid, exerciseid, description, seq_no, function, stdin) VALUES (1, 'factorial', 'Test fac(4)', 0, 'fac', '');
375
INSERT INTO test_suite (suiteid, exerciseid, description, seq_no, function, stdin) VALUES (3, 'factorial', 'Test main', 2, 'main', '4
379
ALTER TABLE test_suite ENABLE TRIGGER ALL;
384
ALTER TABLE worksheet DISABLE TRIGGER ALL;
386
INSERT INTO worksheet (worksheetid, offeringid, identifier, name, data, assessable, seq_no, format) VALUES (1, 2, 'worksheet1', 'Worksheet Basics', 'IVLE allows lecturers and tutors to create worksheets, which are presented to students, optionally, for assessment.
388
Worksheets are reStructuredText (rich text) documents which can present students with information or tutorials, much like a textbook. For example, we might explain that "recursion is when a function calls itself".
390
We can use any reStructuredText markup, such as **bold** and `links <http://ivle.org>`_. We can also embed exercises. For example, we might invite students to "try out recursion in the following exercise".
392
Beginning a line with ``.. exercise:: <exercise-name>`` embeds an exercise in a worksheet, like this:
394
.. exercise:: factorial
396
Now, the student may try out the above exercise, and submit it as many times as (s)he wishes. Once they have it correct, they will receive a point on their assessment.', true, 0, 'rst');
399
ALTER TABLE worksheet ENABLE TRIGGER ALL;
404
ALTER TABLE worksheet_exercise DISABLE TRIGGER ALL;
406
INSERT INTO worksheet_exercise (ws_ex_id, worksheetid, exerciseid, seq_no, active, optional) VALUES (1, 1, 'factorial', 0, true, false);
409
ALTER TABLE worksheet_exercise ENABLE TRIGGER ALL;