45
45
which is always visible in IVLE. Clicking the IVLE logo always returns you to
48
The user "studenta" is enrolled in several subjects, and has several files
48
The user ``studenta`` is enrolled in several subjects, and has several files
49
49
already in her Subversion repository, but they aren't immediately accessible.
51
First, click all of the "Checkout" buttons, to check out the Subversion
51
First, click all of the *Checkout* buttons, to check out the Subversion
52
52
repositories. Now you can explore the sample files, for example, in the
55
Go into the "stuff" directory and left-click the file "hello.py". This will
55
Go into the ``stuff`` directory and left-click the file ``hello.py``. This will
56
56
open the build-in text editor, which lets you modify the file. Along the top,
57
there is a button marked "Serve". Clicking this will *run* the Python code as
57
there is a button marked *Serve*. Clicking this will *run* the Python code as
58
58
a CGI application -- this should open a new window which reads "Hello,
59
world!". You can also click "Run", which will run the program in the built-in
59
world!". You can also click *Run*, which will run the program in the built-in
60
60
Python console (which pops up from the bottom of the screen). This will be
61
61
much uglier, printing the CGI output.
63
* "Serve" runs Python programs as CGI applications, showing their web output.
64
* "Run" runs Python programs as command-line applications.
63
* *Serve* runs Python programs as CGI applications, showing their web output.
64
* *Run* runs Python programs as command-line applications.
66
66
Note that you can also use the console at the bottom of the screen as a
67
67
generic Python console, whenever you wish.
69
You can also serve other files, such as HTML files (try "Welcome to
70
IVLE.html"). This will just present them as normal web pages.
69
You can also serve other files, such as HTML files (try ``Welcome to
70
IVLE.html``). This will just present them as normal web pages.
72
72
Files also have full Subversion histories. If you click on a file in the file
73
view (such as "hello.py"), and go to More Actions -> Subversion -> View Log,
73
view (such as ``hello.py``), and go to *More Actions ‣ Subversion ‣ View Log*,
74
74
you will see the history of a file, and be able to "select" then view a "diff"
75
of the file. If you edit a file, you need to commit it (More Actions ->
76
Subversion -> Commit). If you create a new file (More Actions -> Directory
77
actions -> New file), you need to add it (More Actions -> Subversion -> Add),
75
of the file. If you edit a file, you need to commit it (*More Actions ‣
76
Subversion ‣ Commit*). If you create a new file (*More Actions ‣ Directory
77
actions ‣ New file*), you need to add it (*More Actions ‣ Subversion ‣ Add*),
83
83
This student has already completed a project, and is ready to submit it. Go
84
into the Intermediate Ivle -> mywork directory. Select "phase1.html" and
85
choose More Actions -> Publishing -> Submit. This takes you to the Submit
84
into the *Intermediate IVLE ‣ mywork* directory. Select ``phase1.html`` and
85
choose *More Actions ‣ Publishing ‣ Submit*. This takes you to the Submit
88
Choose to submit to Phase 1, and click Submit Project. You should see a page
89
telling you the submission was successful, with a link to "verify". Verify
88
Choose to submit to Phase 1, and click *Submit Project*. You should see a page
89
telling you the submission was successful, with a link to *Verify*. Verify
90
90
shows you exactly which files were submitted, and their contents at the time
91
91
of submission (if the files have changed since then, you'll still see the
92
92
submitted version). You should verify after each submission -- you can verify
93
93
any submitted project from the subject page.
95
If you go into the Intermediate Ivle -> group1 directory, you will be able to
96
make a group submission to Phase 2 (which is a group project). Note that the
97
Phase 3 submission has already closed.
98
Also note that the file here ("phase2.html") was edited by studenta and
95
If you go into the *Intermediate IVLE ‣ group1* directory, you will be able
96
to make a group submission to Phase 2 (which is a group project). Note that
97
the Phase 3 submission has already closed.
98
Also note that the file here (``phase2.html``) was edited by studenta and
99
99
studentb collaboratively, as you can see in the project's revision log.
104
Click on Intermediate Ivle -> Subject Home from the home screen (or, from the
105
IVLE pulldown menu, choose Subjects and select Intermediate Ivle). There is
106
one worksheet, Worksheet Basics. Clicking this takes you to the worksheet,
104
Click on *Intermediate IVLE – Subject Home* from the home screen (or, from
105
the IVLE pulldown menu, choose *Subjects* and select Intermediate IVLE). There
106
is one worksheet, Worksheet Basics. Clicking this takes you to the worksheet,
107
107
where students are challenged by Python questions.
109
109
After reading the worksheet, attempt the first simple programming question,
110
which is to write the Hello world program.
110
which is to write the "Hello world" program.
112
First, click Submit without writing any code, and note that the system
112
First, click *Submit* without writing any code, and note that the system
113
113
automatically runs a test case, which fails. Now change the code to be "almost
114
right" (for example, write "Hello world" instead of "Hello, world!"), and
115
press Submit again. It will tell you that you almost got it right. In this
114
right" (for example, write ``Hello world`` instead of ``Hello, world!``), and
115
press *Submit* again. It will tell you that you almost got it right. In this
116
116
way, the IVLE test framework can show users that they're on the right track.
117
If you get it exactly right and click Submit a third time, you will pass the
117
If you get it exactly right and click *Submit* a third time, you will pass the
120
Note that you can also click "Run", and it will execute your solution in the
120
Note that you can also click *Run*, and it will execute your solution in the
121
121
Python console. This doesn't cost you an "attempt", nor does it run the test
122
122
cases. It just lets you test it out for yourself before making an official
140
140
A lecturer's view
141
141
=================
143
Log into IVLE as a lecturer (username: 'lecturer', password: 'password'). Many
144
of these things are also possible as a tutor (try username: 'tutor', password:
143
Log into IVLE as a lecturer (username: ``lecturer``, password: ``password``).
144
Many of these things are also possible as a tutor (try username: ``tutor``,
145
password: ``password``).
147
147
Being a lecturer or tutor is a per-subject privilege, so it only applies to
148
148
certain subjects. All of your special powers are under the subject home for
149
149
the subjects you are a tutor in. Note that everything a lecturer can do, an
150
150
admin can also do, for all subjects in the system.
152
Click "Intermediate IVLE - Subject home" (the one which does not display a
152
Click *Intermediate IVLE – Subject home* (the one which does not display a
153
153
semester -- implying the currently active semester). From here, you will see
154
largely the same view as a student, but with more buttons. "Change details"
155
allows you to modify the subject properties. "Administer enrolments" allows
154
largely the same view as a student, but with more buttons. *Change details*
155
allows you to modify the subject properties. *Administer enrolments* allows
156
156
you to add existing IVLE users as students or tutors of the subject you are
157
teaching, change the roles of existing members, and revoke members.
157
teaching, change the roles of existing members, and revoke enrolments.
159
159
Managing projects
160
160
-----------------
162
Click "Manage projects" to go to the project management screen. Note that the
162
Click *Manage projects* to go to the project management screen. Note that the
163
163
3 projects are grouped into "Solo projects" (projects submitted by each
164
164
individual student) and "Group projects". Try adding a new Solo project, by
165
clicking on "Add a new project" within that box. The fields should be fairly
165
clicking on *Add a new project* within that box. The fields should be fairly
166
166
self-explanatory.
224
224
Managing worksheets and exercises
225
225
---------------------------------
227
Return to the subject home page. Click "Manage worksheets". On this page, you
228
will see all of the worksheets for the subject. Here you can edit worksheets,
229
add new ones, and re-order them. You can also edit any worksheet from its own
227
Returning to the subject home page, click *Manage worksheets*. On this page,
228
you will see all of the worksheets for the subject. Here you can edit
229
worksheets, add new ones, and re-order them. You can also edit any worksheet
232
232
To get an idea of what a worksheet looks like in edit mode, click the edit
233
233
action (pencil) next to "Worksheet Basics".
235
* The "URL name" is the name of the worksheet as it appears in URLs.
236
* The "Assessable" checkbox will make the exercises in the worksheet count
235
* The *URL name* is the name of the worksheet as it appears in URLs.
236
* The *Assessable* checkbox will make the exercises in the worksheet count
237
237
towards each student's worksheet mark, if checked. Uncheck it for
238
238
informational worksheets.
239
* The "Format" selection controls the format used to write the worksheet in
240
the box below. Leave it on "reStructuredText" unless you have a reason not
239
* The *Format* selection controls the format used to write the worksheet in
240
the box below. Leave it on *reStructuredText* unless you have a reason not
243
243
Now, you can edit the worksheet content in reStructuredText. The existing text
244
244
briefly explains this format. See `A ReStruecturedText Primer
245
245
<http://docutils.sourceforge.net/docs/user/rst/quickstart.html>`_ for a full
246
guide. Note that the exercises themselves are not in the worksheet. They are
247
separate resources, which can be shared across subjects. Exercises can be
248
embedded with a line like this::
246
guide. Note that the exercises themselves are not defined in the worksheet.
247
They are separate resources, which can be shared across subjects. Exercises
248
can be embedded with a line like this::
250
250
.. exercise:: factorial
252
Click "Manage exercises" to see the exercises (in the sample data, just
253
"factorial"). An exercise is a very complex thing, due to the fact that it
252
Click *Manage exercises* to see the exercises (in the sample data, just
253
``factorial``). An exercise is a very complex thing, due to the fact that it
254
254
runs automated testing on the student code. The details are outside the scope
255
255
of this tour. Hopefully, you can figure out how they work by examining the
256
existing "factorial" exercise.
256
existing ``factorial`` exercise.
258
258
If you are game enough, create a new worksheet from scratch. If you are
259
259
*really* game, create a new exercise for your worksheet.
270
270
Administering users
271
271
-------------------
273
Firstle, pull down the IVLE menu (top-left). There is an additional item for
274
admins -- the "Users" page. This lists all users with an account in IVLE.
273
Firstly, pull down the IVLE menu (top-left). There is an additional item for
274
admins -- the *Users* page. This lists all users with an account in IVLE.
275
275
Clicking on a username takes you to the user's profile page. Try it with the
278
278
The profile page is exactly the same as the user himself would see it, but
279
with a few more buttons on the side. "Change password" is the same as the
280
user's own "Change password" page. However, "Reset password" is a special
279
with a few more buttons on the side. *Change password* is the same as the
280
user's own *Change password* page. However, *Reset password* is a special
281
281
admin page which lets you change a user's password without knowing the old
282
one. "Administer user" also lets you change administrative settings for the
282
one. *Administer user* also lets you change administrative settings for the
283
283
user, such as their full name (more formal than display name, which the user
284
284
themselves can change) and student ID. You can also add/remove admin status
285
285
for, or disable/enable (i.e., ban from IVLE) any user (except yourself, of
304
304
subject, for one semester). Lecturers can administer *offerings* they are
305
305
enrolled in, but not *subjects*.
307
As an admin, go to the "Subjects" page. You will see a link "Manage subjects
308
and semesters". The list at the top of the page shows all registered
309
subjects. Click "Create new subject" to create a brand new subject (i.e., a
307
As an admin, go to the *Subjects* page. You will see a link *Manage subjects
308
and semesters*. The list at the top of the page shows all registered
309
subjects. Click *Create new subject* to create a brand new subject (i.e., a
310
310
new course). Call it "Introduction to Programming", with the URL name
311
"intro-prog" and subject code 200101.
311
``intro-prog`` and subject code 200101.
313
313
Now we have created a *subject* but not an *offering*, so nobody will be able
314
314
to teach or enrol in this subject. From the "Introduction to Programming"
315
page, click "Create new offering". Select the semester in which the subject
315
page, click *Create new offering*. Select the semester in which the subject
316
316
will be first taught. If you wish to create the first offering of a semester
317
317
(e.g., 2011 semester 1), you will have to create a new semester first. Type
318
318
in a subject description. (Note that each offering has an independent