~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to doc/man/tour.rst

  • Committer: William Grant
  • Date: 2010-07-30 01:16:11 UTC
  • Revision ID: grantw@unimelb.edu.au-20100730011611-ik9hj6yueeh6gc9h
Set version to 1.0.2rc1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.. IVLE - Informatics Virtual Learning Environment
 
2
   Copyright (C) 2007-2010 The University of Melbourne
 
3
 
 
4
.. This program is free software; you can redistribute it and/or modify
 
5
   it under the terms of the GNU General Public License as published by
 
6
   the Free Software Foundation; either version 2 of the License, or
 
7
   (at your option) any later version.
 
8
 
 
9
.. This program is distributed in the hope that it will be useful,
 
10
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
   GNU General Public License for more details.
 
13
 
 
14
.. You should have received a copy of the GNU General Public License
 
15
   along with this program; if not, write to the Free Software
 
16
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
17
 
 
18
.. _ivle-tour:
 
19
 
 
20
**************
 
21
A tour of IVLE
 
22
**************
 
23
 
 
24
This page is designed to give a brief overview of IVLE, from a users point of
 
25
view (including administrator and lecturer users). Here we assume that you
 
26
have :ref:`set up a fresh copy of IVLE <ref-install>` and :ref:`installed the
 
27
sample data <sample-data>`. This page refers to the sample data specifically.
 
28
If you are just using an existing installation of IVLE, it might still make a
 
29
bit of sense, but your mileage may vary.
 
30
 
 
31
We will take the tour in three stages: first as a student, then as a lecturer,
 
32
and finally as an administrator.
 
33
 
 
34
A student's view
 
35
================
 
36
 
 
37
Begin by logging into IVLE as a student (username: ``studenta``, password:
 
38
``password``).
 
39
 
 
40
Files
 
41
-----
 
42
 
 
43
You will see the IVLE home screen, which displays the subjects you are
 
44
enrolled in, and your files for each subject. Along the top is the blue bar
 
45
which is always visible in IVLE. Clicking the IVLE logo always returns you to
 
46
the home screen.
 
47
 
 
48
The user ``studenta`` is enrolled in several subjects, and has several files
 
49
already in her Subversion repository, but they aren't immediately accessible.
 
50
 
 
51
First, click all of the *Checkout* buttons, to check out the Subversion
 
52
repositories. Now you can explore the sample files, for example, in the
 
53
``stuff`` directory.
 
54
 
 
55
Go into the ``stuff`` directory and left-click the file ``hello.py``. This will
 
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
 
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
 
60
Python console (which pops up from the bottom of the screen). This will be
 
61
much uglier, printing the CGI output.
 
62
 
 
63
* *Serve* runs Python programs as CGI applications, showing their web output.
 
64
* *Run* runs Python programs as command-line applications.
 
65
 
 
66
Note that you can also use the console at the bottom of the screen as a
 
67
generic Python console, whenever you wish.
 
68
 
 
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.
 
71
 
 
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*,
 
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*),
 
78
then commit.
 
79
 
 
80
Submissions
 
81
-----------
 
82
 
 
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
 
86
Project screen.
 
87
 
 
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
shows you exactly which files were submitted, and their contents at the time
 
91
of submission (if the files have changed since then, you'll still see the
 
92
submitted version). You should verify after each submission -- you can verify
 
93
any submitted project from the subject page.
 
94
 
 
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). Also note
 
97
that the file here (``phase2.html``) was edited by studenta and
 
98
studentb collaboratively, as you can see in the project's revision log.
 
99
 
 
100
Note that the Phase 3 submission has already closed. You can still make a
 
101
"late submission" to a project that has closed, but there is an extra
 
102
confirmation step. Lecturers are given details on late submissions and may
 
103
deduct marks accordingly.
 
104
 
 
105
 
 
106
Worksheets
 
107
----------
 
108
 
 
109
Click on *Intermediate IVLE – Subject Home* from the home screen (or, from
 
110
the IVLE pulldown menu, choose *Subjects* and select Intermediate IVLE). There
 
111
is one worksheet, Worksheet Basics. Clicking this takes you to the worksheet,
 
112
where students are challenged by Python questions.
 
113
 
 
114
After reading the worksheet, attempt the first simple programming question,
 
115
which is to write the "Hello world" program.
 
116
 
 
117
First, click *Submit* without writing any code, and note that the system
 
118
automatically runs a test case, which fails. Now change the code to be "almost
 
119
right" (for example, write ``Hello world`` instead of ``Hello, world!``), and
 
120
press *Submit* again. It will tell you that you almost got it right. In this
 
121
way, the IVLE test framework can show users that they're on the right track.
 
122
If you get it exactly right and click *Submit* a third time, you will pass the
 
123
test.
 
124
 
 
125
Note that you can also click *Run*, and it will execute your solution in the
 
126
Python console. This doesn't cost you an "attempt", nor does it run the test
 
127
cases. It just lets you test it out for yourself before making an official
 
128
submission.
 
129
 
 
130
Back on the subject page, you will notice that the exercise appears complete,
 
131
and you have been awarded a mark.
 
132
 
 
133
A sample solution to the second exercise follows::
 
134
 
 
135
 def fac(n):
 
136
     if n == 0:
 
137
         return 1
 
138
     else:
 
139
         return n * fac(n-1)
 
140
 
 
141
 def main():
 
142
     f = int(raw_input())
 
143
     print fac(f)
 
144
 
 
145
A lecturer's view
 
146
=================
 
147
 
 
148
Log into IVLE as a lecturer (username: ``lecturer``, password: ``password``).
 
149
Many of these things are also possible as a tutor (try username: ``tutor``,
 
150
password: ``password``).
 
151
 
 
152
Being a lecturer or tutor is a per-subject privilege, so it only applies to
 
153
certain subjects. All of your special powers are under the subject home for
 
154
the subjects you are a tutor in. Note that everything a lecturer can do, an
 
155
admin can also do, for all subjects in the system.
 
156
 
 
157
Click *Intermediate IVLE – Subject home* (the one which does not display a
 
158
semester -- implying the currently active semester). From here, you will see
 
159
largely the same view as a student, but with more buttons. *Change details*
 
160
allows you to modify the subject properties. *Administer enrolments* allows
 
161
you to add existing IVLE users as students or tutors of the subject you are
 
162
teaching, change the roles of existing members, and revoke enrolments.
 
163
 
 
164
Managing projects
 
165
-----------------
 
166
 
 
167
Click *Manage projects* to go to the project management screen. Note that the
 
168
3 projects are grouped into "Solo projects" (projects submitted by each
 
169
individual student) and "Group projects". Try adding a new Solo project, by
 
170
clicking on *Add a new project* within that box. The fields should be fairly
 
171
self-explanatory.
 
172
 
 
173
Group projects are complicated by what we call "project sets". A "project set"
 
174
is a set of group projects where the student groups are the same throughout.
 
175
For instance, you will see Phase 2 and Phase 3 inside the same project set
 
176
box. This means students will get into groups of 3 to submit Phase 2, and then
 
177
the same group will submit Phase 3.
 
178
 
 
179
Clicking *Manage groups* lets you put students into groups for a given project
 
180
set.
 
181
 
 
182
Click *Add a new project set* and enter a group size of 6. Then, create a
 
183
project in the new set. Each student must get into a new group for each
 
184
project *set*. Note also that the groups will share a Subversion repository
 
185
for all projects in a set, but if you create a new set, the students will have
 
186
to start using a new repository.
 
187
 
 
188
.. warning::
 
189
   You can't delete a project set after it has been created (this could cause
 
190
   problems for groups and their repositories).
 
191
 
 
192
Usually, the hassle of getting into new groups and creating new repositories
 
193
means that you will want to create just two project sets for a subject: one
 
194
for solo projects, and another for group projects.
 
195
 
 
196
Viewing submissions
 
197
-------------------
 
198
 
 
199
Lecturers and tutors can view any student or group's project submission, using
 
200
an external Subversion client. As submissions are really just Subversion
 
201
commits, you can examine a student's work by simply checking out the correct
 
202
revision of the repository.
 
203
 
 
204
From the offering page, click *View submissions* under the project of interest.
 
205
This takes you to a page which lists the latest submissions from every student
 
206
(presumably you will just see the submission made by ``studenta`` earlier in
 
207
this tour). Next to each submission is a command line, beginning with
 
208
``svn export``. For instance, you might see the line::
 
209
 
 
210
 svn export --username lecturer -r7 'http://svn.ivle.localhost/users/studenta/ivle-102/phase1.html' studenta.html
 
211
 
 
212
Paste this line into a command-line (or, if you use a GUI Subversion client,
 
213
use the username, revision and URL given). Subversion will likely prompt for a
 
214
password. For the sample data, this password is ``password``, but in general, it
 
215
will **not** be your normal IVLE password. You can learn your Subversion
 
216
password by going to your user settings page (it is hidden by default, for
 
217
security reasons).
 
218
 
 
219
This will download the student's work into the current directory, to inspect.
 
220
 
 
221
.. note::
 
222
   This page shows late submissions in red, with a "*", and the number of
 
223
   days late, rounded upwards. Therefore, a submission which is 1 second late
 
224
   is shown with a "(1)", while a submission that is 24 hours and 1 second
 
225
   late is shown with a "(2)".
 
226
 
 
227
You can also try to check out the group submission from Phase 2.
 
228
 
 
229
Managing worksheets and exercises
 
230
---------------------------------
 
231
 
 
232
Returning to the subject home page, click *Manage worksheets*. On this page,
 
233
you will see all of the worksheets for the subject. Here you can edit
 
234
worksheets, add new ones, and re-order them. You can also edit any worksheet
 
235
from its own page.
 
236
 
 
237
To get an idea of what a worksheet looks like in edit mode, click the edit
 
238
action (pencil) next to "Worksheet Basics".
 
239
 
 
240
* The *URL name* is the name of the worksheet as it appears in URLs.
 
241
* The *Assessable* checkbox will make the exercises in the worksheet count
 
242
  towards each student's worksheet mark, if checked. Uncheck it for
 
243
  informational worksheets.
 
244
* The *Format* selection controls the format used to write the worksheet in
 
245
  the box below. Leave it on *reStructuredText* unless you have a reason not
 
246
  to.
 
247
 
 
248
Now, you can edit the worksheet content in reStructuredText. The existing text
 
249
briefly explains this format. See `A ReStruecturedText Primer
 
250
<http://docutils.sourceforge.net/docs/user/rst/quickstart.html>`_ for a full
 
251
guide. Note that the exercises themselves are not defined in the worksheet.
 
252
They are separate resources, which can be shared across subjects. Exercises
 
253
can be embedded with a line like this::
 
254
 
 
255
 .. exercise:: factorial
 
256
 
 
257
Click *Manage exercises* to see the exercises (in the sample data, just
 
258
``factorial``). An exercise is a very complex thing, due to the fact that it
 
259
runs automated testing on the student code. The details are outside the scope
 
260
of this tour. Hopefully, you can figure out how they work by examining the
 
261
existing ``factorial`` exercise.
 
262
 
 
263
If you are game enough, create a new worksheet from scratch. If you are
 
264
*really* game, create a new exercise for your worksheet.
 
265
 
 
266
Viewing worksheet marks
 
267
-----------------------
 
268
 
 
269
You will probably have already noticed that the lecturer's worksheet view is
 
270
not quite like the student's. It has a table at the top which shows some
 
271
statistics about how students in this subject are going with each exercise.
 
272
(Depending on settings, tutors may also be able to access these stats.)
 
273
 
 
274
Lecturers (not tutors) can also get more specific feedback on individual
 
275
students by selecting "View worksheet marks" at the bottom of the subject
 
276
page. This shows the marks in each worksheet, and in the subject overall, for
 
277
each student, and can be used to calculate each student's final grade.
 
278
 
 
279
.. note::
 
280
   The marks are calculated from the current time, by default. However,
 
281
   normally, there is a cutoff time after which students cannot gain any
 
282
   additional marks for worksheets. You can set this cutoff in the offering
 
283
   edit page. Once set, the marks will be calculated based on submissions up
 
284
   until that date, and students will be notified of the cutoff time.
 
285
 
 
286
The "Download as CSV file" link provides these same statistics in CSV format,
 
287
which can be easily parsed.
 
288
 
 
289
An administrator's view
 
290
=======================
 
291
 
 
292
Log into IVLE as an admin (username: ``admin``, password: ``password``).
 
293
 
 
294
Administrator users in IVLE have significant privileges. Note, however, that
 
295
for technical reasons, admins cannot read or write other users' files. This
 
296
requires root access on the machine IVLE is installed on.
 
297
 
 
298
Administering users
 
299
-------------------
 
300
 
 
301
Firstly, pull down the IVLE menu (top-left). There is an additional item for
 
302
admins -- the *Users* page. This lists all users with an account in IVLE, and
 
303
lets you create new ones. Clicking on a username takes you to the user's
 
304
profile page. Try it with the user ``lecturer``.
 
305
 
 
306
The profile page is exactly the same as the user himself would see it, but
 
307
with a few more buttons on the side. *Change password* is the same as the
 
308
user's own *Change password* page. However, *Reset password* is a special
 
309
admin page which lets you change a user's password without knowing the old
 
310
one. *Administer user* also lets you change administrative settings for the
 
311
user, such as their full name (more formal than display name, which the user
 
312
themselves can change) and student ID. You can also add/remove admin status
 
313
for, or disable/enable (i.e., ban from IVLE) any user (except yourself, of
 
314
course -- that could be bad).
 
315
 
 
316
.. warning::
 
317
   Use this with care. Making a user an admin gives them complete control over
 
318
   the system. They could even revoke *your* admin rights!
 
319
 
 
320
Administering subjects and offerings
 
321
------------------------------------
 
322
 
 
323
Admin users also enjoy the same privileges as lecturers, for all subject
 
324
offerings on the system. In addition, admins can enrol users in an offering as
 
325
lecturers (this is the only way to become a lecturer), and change or delete a
 
326
lecturer's enrolment. Go to the subject page for Advanced IVLE and enrol the
 
327
user ``lecturer`` as a lecturer in the subject.
 
328
 
 
329
Admins can also administer subjects. Here it is important to distinguish
 
330
between a "subject" (a course on a specific topic which is repeated over a
 
331
number of semesters or years) and an "offering" (a particular instance of a
 
332
subject, for one semester). Lecturers can administer *offerings* they are
 
333
enrolled in, but not *subjects*.
 
334
 
 
335
As an admin, go to the *Subjects* page. You will see a link *Manage subjects
 
336
and semesters*. The list at the top of the page shows all registered
 
337
subjects. Click *Create new subject* to create a brand new subject (i.e., a
 
338
new course). Call it "Introduction to Programming", with the URL name
 
339
``intro-prog`` and subject code 200101.
 
340
 
 
341
Now we have created a *subject* but not an *offering*, so nobody will be able
 
342
to teach or enrol in this subject. From the "Introduction to Programming"
 
343
page, click *Create new offering*. Select the semester in which the subject
 
344
will be first taught. If you wish to create the first offering of a semester
 
345
(e.g., 2011 semester 1), you will have to create a new semester first. Type
 
346
in a subject description. (Note that each offering has an independent
 
347
description.) Once you have created an offering, you can enrol lecturers, and
 
348
they can in turn enrol students.
 
349
 
 
350
Lecturers can take over administration duties of an offering (such as editing
 
351
the description and managing projects), however it remains the admin's duty to
 
352
administer the subjects, including creating new offerings each semester and
 
353
enrolling lecturers.
 
354
 
 
355
Administering semesters
 
356
-----------------------
 
357
 
 
358
An important duty of the administrator is controlling the *state* of each
 
359
semester. Return to the *Manage subjects and semesters* page. Note the
 
360
*Semesters* table contains a list of all known semesters, and whether they are
 
361
"past", "current" or "future".
 
362
 
 
363
.. note::
 
364
   IVLE could automatically create and manage semesters based on the system
 
365
   clock, but it presently does not. That is because your institution may have
 
366
   a different concept of a "semester" to ours. (For example, what are the
 
367
   semester start and end dates?) IVLE has therefore been designed to require
 
368
   admins to manually activate new semesters and disable old ones.
 
369
 
 
370
In the sample data, 2009 semester 2 is the "current" semester. Let us assume
 
371
that we are moving into the start of 2010. Edit 2009 semester 2 and set its
 
372
state to "Past". Then, edit 2010 semester 1 and set its state to "Current".
 
373
This affects the system in several ways. Mainly, it just changes the UI for
 
374
all users, in terms of which offerings are presented as "current".
 
375
 
 
376
.. warning::
 
377
   Marking a semester as anything other than "current" will make it impossible
 
378
   for students enrolled in offerings for that semester to submit projects.
 
379
   Only do this after the semester has fully closed.
 
380
 
 
381
It is possible for multiple semesters to be marked as "current", if this is
 
382
desired. Therefore, there is no need to disable one semester before enabling
 
383
another.
 
384
 
 
385
Admin scripts
 
386
-------------
 
387
 
 
388
Unfortunately, there are still a few tasks which admins need to do which
 
389
haven't been implemented in the UI for the IVLE web application. These tasks
 
390
are available as command-line scripts which can be run by someone with root
 
391
access on the machine IVLE is installed on. They are gradually being migrated
 
392
over to proper UI features in IVLE itself.
 
393
 
 
394
Details on these scripts can be found in :ref:`ref-admin-scripts`.