~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-02-23 08:48:09 UTC
  • mfrom: (1673 trunk)
  • mto: This revision was merged to the branch mainline in revision 1674.
  • Revision ID: grantw@unimelb.edu.au-20100223084809-du6dvsxrjhw15ytr
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
A student's view
35
35
================
36
36
 
37
 
Begin by logging into IVLE as a student (username: ``studenta``, password:
38
 
``password``).
 
37
Begin by logging into IVLE as a student (username: 'studenta', password:
 
38
'password').
39
39
 
40
40
Files
41
41
-----
45
45
which is always visible in IVLE. Clicking the IVLE logo always returns you to
46
46
the home screen.
47
47
 
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.
50
50
 
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
53
 
``stuff`` directory.
 
53
"stuff" directory.
54
54
 
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.
62
62
 
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.
65
65
 
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.
68
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.
 
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
71
 
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),
78
78
then commit.
79
79
 
80
80
Submissions
81
81
-----------
82
82
 
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
86
86
Project screen.
87
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
 
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.
94
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
 
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
98
99
studentb collaboratively, as you can see in the project's revision log.
99
100
 
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
101
Worksheets
107
102
----------
108
103
 
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,
 
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,
112
107
where students are challenged by Python questions.
113
108
 
114
109
After reading the worksheet, attempt the first simple programming question,
115
 
which is to write the "Hello world" program.
 
110
which is to write the Hello world program.
116
111
 
117
 
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
118
113
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
 
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
121
116
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
 
117
If you get it exactly right and click Submit a third time, you will pass the
123
118
test.
124
119
 
125
 
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
126
121
Python console. This doesn't cost you an "attempt", nor does it run the test
127
122
cases. It just lets you test it out for yourself before making an official
128
123
submission.
145
140
A lecturer's view
146
141
=================
147
142
 
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``).
 
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:
 
145
'password').
151
146
 
152
147
Being a lecturer or tutor is a per-subject privilege, so it only applies to
153
148
certain subjects. All of your special powers are under the subject home for
154
149
the subjects you are a tutor in. Note that everything a lecturer can do, an
155
150
admin can also do, for all subjects in the system.
156
151
 
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.
 
152
Click "Intermediate IVLE - Subject home". From here, you will see largely the
 
153
same view as a student, but with more buttons. "Change details" allows you to
 
154
modify the subject properties. "Enrol users" allows you to add existing IVLE
 
155
users as students or tutors of the subject you are teaching (this is currently
 
156
an irreversible action).
163
157
 
164
158
Managing projects
165
159
-----------------
166
160
 
167
 
Click *Manage projects* to go to the project management screen. Note that the
 
161
Click "Manage projects" to go to the project management screen. Note that the
168
162
3 projects are grouped into "Solo projects" (projects submitted by each
169
163
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
 
164
clicking on "Add a new project" within that box. The fields should be fairly
171
165
self-explanatory.
172
166
 
 
167
.. warning::
 
168
   You can't currently edit or delete a project after it has been created.
 
169
 
173
170
Group projects are complicated by what we call "project sets". A "project set"
174
171
is a set of group projects where the student groups are the same throughout.
175
172
For instance, you will see Phase 2 and Phase 3 inside the same project set
176
173
box. This means students will get into groups of 3 to submit Phase 2, and then
177
174
the same group will submit Phase 3.
178
175
 
179
 
Clicking *Manage groups* lets you put students into groups for a given project
 
176
Clicking "Manage groups" lets you put students into groups for a given project
180
177
set.
181
178
 
182
 
Click *Add a new project set* and enter a group size of 6. Then, create a
 
179
Click "Add a new project set" and enter a group size of 6. Then, create a
183
180
project in the new set. Each student must get into a new group for each
184
181
project *set*. Note also that the groups will share a Subversion repository
185
182
for all projects in a set, but if you create a new set, the students will have
186
183
to start using a new repository.
187
184
 
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
185
Usually, the hassle of getting into new groups and creating new repositories
193
186
means that you will want to create just two project sets for a subject: one
194
187
for solo projects, and another for group projects.
201
194
commits, you can examine a student's work by simply checking out the correct
202
195
revision of the repository.
203
196
 
204
 
From the offering page, click *View submissions* under the project of interest.
 
197
From the offering page, click "View submissions" under the project of interest.
205
198
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
 
199
(presumably you will just see the submission made by "studenta" earlier in
207
200
this tour). Next to each submission is a command line, beginning with
208
 
``svn export``. For instance, you might see the line::
 
201
``svn co``. For instance, you might see the line::
209
202
 
210
 
 svn export --username lecturer -r7 'http://svn.ivle.localhost/users/studenta/ivle-102/phase1.html' studenta.html
 
203
 svn co --username lecturer -r7 http://svn.ivle.localhost/users/studenta/ivle-102/phase1.html
211
204
 
212
205
Paste this line into a command-line (or, if you use a GUI Subversion client,
213
206
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
 
207
password. For the sample data, this password is "password", but in general, it
215
208
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)".
 
209
password by opening a Console in IVLE and typing::
 
210
 
 
211
 import ivle.config
 
212
 ivle.config.Config()['user_info']['svn_pass']
 
213
 
 
214
This will check out the student's work into the current directory, to inspect.
226
215
 
227
216
You can also try to check out the group submission from Phase 2.
228
217
 
 
218
.. warning::
 
219
   It is currently not possible to check out a single file (not a directory)
 
220
   submission using the instructions given. Instead, run ``svn cat``, and
 
221
   redirect the output into a file.
 
222
 
229
223
Managing worksheets and exercises
230
224
---------------------------------
231
225
 
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.
 
226
Return to the subject home page. Click "Manage worksheets". On this page, you
 
227
will see all of the worksheets for the subject. Here you can edit worksheets,
 
228
add new ones, and re-order them. You can also edit any worksheet from its own
 
229
page.
236
230
 
237
231
To get an idea of what a worksheet looks like in edit mode, click the edit
238
232
action (pencil) next to "Worksheet Basics".
239
233
 
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
 
234
* The "URL name" is the name of the worksheet as it appears in URLs.
 
235
* The "Assessable" checkbox will make the exercises in the worksheet count
242
236
  towards each student's worksheet mark, if checked. Uncheck it for
243
237
  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
 
238
* The "Format" selection controls the format used to write the worksheet in
 
239
  the box below. Leave it on "reStructuredText" unless you have a reason not
246
240
  to.
247
241
 
248
242
Now, you can edit the worksheet content in reStructuredText. The existing text
249
243
briefly explains this format. See `A ReStruecturedText Primer
250
244
<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::
 
245
guide. Note that the exercises themselves are not in the worksheet. They are
 
246
separate resources, which can be shared across subjects. Exercises can be
 
247
embedded with a line like this::
254
248
 
255
249
 .. exercise:: factorial
256
250
 
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
 
251
Click "Manage exercises" to see the exercises (in the sample data, just
 
252
"factorial"). An exercise is a very complex thing, due to the fact that it
259
253
runs automated testing on the student code. The details are outside the scope
260
254
of this tour. Hopefully, you can figure out how they work by examining the
261
 
existing ``factorial`` exercise.
 
255
existing "factorial" exercise.
262
256
 
263
257
If you are game enough, create a new worksheet from scratch. If you are
264
258
*really* game, create a new exercise for your worksheet.
265
259
 
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
260
An administrator's view
290
261
=======================
291
262
 
292
 
Log into IVLE as an admin (username: ``admin``, password: ``password``).
 
263
Log into IVLE as an admin (username: 'admin', password: 'password').
293
264
 
294
265
Administrator users in IVLE have significant privileges. Note, however, that
295
266
for technical reasons, admins cannot read or write other users' files. This
296
267
requires root access on the machine IVLE is installed on.
297
268
 
298
 
Administering users
299
 
-------------------
300
 
 
301
269
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``.
 
270
admins -- the "Users" page. This lists all users with an account in IVLE.
 
271
Clicking on a username takes you to the user's profile page. Try it with the
 
272
user 'lecturer'.
305
273
 
306
274
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
 
275
with a few more buttons on the side. "Change password" is the same as the
 
276
user's own "Change password" page. However, "Reset password" is a special
309
277
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
 
278
one. "Administer user" also lets you change administrative settings for the
311
279
user, such as their full name (more formal than display name, which the user
312
280
themselves can change) and student ID. You can also add/remove admin status
313
281
for, or disable/enable (i.e., ban from IVLE) any user (except yourself, of
317
285
   Use this with care. Making a user an admin gives them complete control over
318
286
   the system. They could even revoke *your* admin rights!
319
287
 
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.
 
288
Admin users also enjoy the same privileges as lecturers, for all subjects on
 
289
the system. In addition, admins can enrol users in a subject as lecturers
 
290
(this is the only way to become a lecturer). Go to the subject page for
 
291
"Advanced IVLE" and enrol the user "lecturer" as a Lecturer in the subject.
384
292
 
385
293
Admin scripts
386
294
-------------