~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-26 07:31:28 UTC
  • Revision ID: grantw@unimelb.edu.au-20100226073128-2cvhekpt3eq81by7
Document slave setup from a package.

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 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.
100
100
 
101
101
Worksheets
102
102
----------
103
103
 
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.
108
108
 
109
 
After reading the worksheet, attempt the simple programming question, which is
110
 
to write a factorial program.
111
 
 
112
 
A sample solution follows::
 
109
After reading the worksheet, attempt the first simple programming question,
 
110
which is to write the "Hello world" program.
 
111
 
 
112
First, click *Submit* without writing any code, and note that the system
 
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
 
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
 
118
test.
 
119
 
 
120
Note that you can also click *Run*, and it will execute your solution in the
 
121
Python console. This doesn't cost you an "attempt", nor does it run the test
 
122
cases. It just lets you test it out for yourself before making an official
 
123
submission.
 
124
 
 
125
Back on the subject page, you will notice that the exercise appears complete,
 
126
and you have been awarded a mark.
 
127
 
 
128
A sample solution to the second exercise follows::
113
129
 
114
130
 def fac(n):
115
131
     if n == 0:
121
137
     f = int(raw_input())
122
138
     print fac(f)
123
139
 
124
 
First, click Submit, and note that the system automatically runs some test
125
 
cases, all of which fail. Now paste the solution to :func:`fac` (but not
126
 
:func:`main`). Clicking Submit again shows some test cases pass, but not all.
127
 
Finally, paste the solution to :func:`main`, and click Submit again. This
128
 
time, you will pass the test.
129
 
 
130
 
Note that you can also click "Run", and it will execute your solution in the
131
 
Python console. This doesn't cost you an "attempt", nor does it run the test
132
 
cases. It just lets you test it out for yourself before making an official
133
 
submission.
134
 
 
135
 
Back on the subject page, you will notice that the exercise appears complete,
136
 
and you have been awarded some marks.
137
 
 
138
140
A lecturer's view
139
141
=================
140
142
 
141
 
Log into IVLE as a lecturer (username: 'lecturer', password: 'password'). Many
142
 
of these things are also possible as a tutor (try username: 'tutor', password:
143
 
'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``).
144
146
 
145
147
Being a lecturer or tutor is a per-subject privilege, so it only applies to
146
148
certain subjects. All of your special powers are under the subject home for
147
149
the subjects you are a tutor in. Note that everything a lecturer can do, an
148
150
admin can also do, for all subjects in the system.
149
151
 
150
 
Click "Intermediate IVLE - Subject home". From here, you will see largely the
151
 
same view as a student, but with more buttons. "Change details" allows you to
152
 
modify the subject properties. "Enrol users" allows you to add existing IVLE
153
 
users as students or tutors of the subject you are teaching (this is currently
154
 
an irreversible action).
 
152
Click *Intermediate IVLE – Subject home* (the one which does not display a
 
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
 
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 enrolments.
155
158
 
156
159
Managing projects
157
160
-----------------
158
161
 
159
 
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
160
163
3 projects are grouped into "Solo projects" (projects submitted by each
161
164
individual student) and "Group projects". Try adding a new Solo project, by
162
 
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
163
166
self-explanatory.
164
167
 
165
 
.. warning::
166
 
   You can't currently edit or delete a project after it has been created.
167
 
 
168
168
Group projects are complicated by what we call "project sets". A "project set"
169
169
is a set of group projects where the student groups are the same throughout.
170
170
For instance, you will see Phase 2 and Phase 3 inside the same project set
171
171
box. This means students will get into groups of 3 to submit Phase 2, and then
172
172
the same group will submit Phase 3.
173
173
 
174
 
Clicking "Manage groups" lets you put students into groups for a given project
 
174
Clicking *Manage groups* lets you put students into groups for a given project
175
175
set.
176
176
 
177
 
Click "Add a new project set" and enter a group size of 6. Then, create a
 
177
Click *Add a new project set* and enter a group size of 6. Then, create a
178
178
project in the new set. Each student must get into a new group for each
179
179
project *set*. Note also that the groups will share a Subversion repository
180
180
for all projects in a set, but if you create a new set, the students will have
181
181
to start using a new repository.
182
182
 
 
183
.. warning::
 
184
   You can't delete a project set after it has been created (this could cause
 
185
   problems for groups and their repositories).
 
186
 
183
187
Usually, the hassle of getting into new groups and creating new repositories
184
188
means that you will want to create just two project sets for a subject: one
185
189
for solo projects, and another for group projects.
192
196
commits, you can examine a student's work by simply checking out the correct
193
197
revision of the repository.
194
198
 
195
 
From the offering page, click "View submissions" under the project of interest.
 
199
From the offering page, click *View submissions* under the project of interest.
196
200
This takes you to a page which lists the latest submissions from every student
197
 
(presumably you will just see the submission made by "studenta" earlier in
 
201
(presumably you will just see the submission made by ``studenta`` earlier in
198
202
this tour). Next to each submission is a command line, beginning with
199
203
``svn co``. For instance, you might see the line::
200
204
 
202
206
 
203
207
Paste this line into a command-line (or, if you use a GUI Subversion client,
204
208
use the username, revision and URL given). Subversion will likely prompt for a
205
 
password. For the sample data, this password is "password", but in general, it
 
209
password. For the sample data, this password is ``password``, but in general, it
206
210
will **not** be your normal IVLE password. You can learn your Subversion
207
211
password by opening a Console in IVLE and typing::
208
212
 
221
225
Managing worksheets and exercises
222
226
---------------------------------
223
227
 
224
 
Return to the subject home page. Click "Manage worksheets". On this page, you
225
 
will see all of the worksheets for the subject. Here you can edit worksheets,
226
 
add new ones, and re-order them. You can also edit any worksheet from its own
227
 
page.
 
228
Returning to the subject home page, click *Manage worksheets*. On this page,
 
229
you will see all of the worksheets for the subject. Here you can edit
 
230
worksheets, add new ones, and re-order them. You can also edit any worksheet
 
231
from its own page.
228
232
 
229
233
To get an idea of what a worksheet looks like in edit mode, click the edit
230
234
action (pencil) next to "Worksheet Basics".
231
235
 
232
 
* The "URL name" is the name of the worksheet as it appears in URLs.
233
 
* The "Assessable" checkbox will make the exercises in the worksheet count
 
236
* The *URL name* is the name of the worksheet as it appears in URLs.
 
237
* The *Assessable* checkbox will make the exercises in the worksheet count
234
238
  towards each student's worksheet mark, if checked. Uncheck it for
235
239
  informational worksheets.
236
 
* The "Format" selection controls the format used to write the worksheet in
237
 
  the box below. Leave it on "reStructuredText" unless you have a reason not
 
240
* The *Format* selection controls the format used to write the worksheet in
 
241
  the box below. Leave it on *reStructuredText* unless you have a reason not
238
242
  to.
239
243
 
240
244
Now, you can edit the worksheet content in reStructuredText. The existing text
241
245
briefly explains this format. See `A ReStruecturedText Primer
242
246
<http://docutils.sourceforge.net/docs/user/rst/quickstart.html>`_ for a full
243
 
guide. Note that the exercises themselves are not in the worksheet. They are
244
 
separate resources, which can be shared across subjects. Exercises can be
245
 
embedded with a line like this::
 
247
guide. Note that the exercises themselves are not defined in the worksheet.
 
248
They are separate resources, which can be shared across subjects. Exercises
 
249
can be embedded with a line like this::
246
250
 
247
251
 .. exercise:: factorial
248
252
 
249
 
Click "Manage exercises" to see the exercises (in the sample data, just
250
 
"factorial"). An exercise is a very complex thing, due to the fact that it
 
253
Click *Manage exercises* to see the exercises (in the sample data, just
 
254
``factorial``). An exercise is a very complex thing, due to the fact that it
251
255
runs automated testing on the student code. The details are outside the scope
252
256
of this tour. Hopefully, you can figure out how they work by examining the
253
 
existing "factorial" exercise.
 
257
existing ``factorial`` exercise.
254
258
 
255
259
If you are game enough, create a new worksheet from scratch. If you are
256
260
*really* game, create a new exercise for your worksheet.
257
261
 
 
262
Viewing worksheet marks
 
263
-----------------------
 
264
 
 
265
You will probably have already noticed that the lecturer's worksheet view is
 
266
not quite like the student's. It has a table at the top which shows some
 
267
statistics about how students in this subject are going with each exercise.
 
268
(Depending on settings, tutors may also be able to access these stats.)
 
269
 
 
270
Lecturers (not tutors) can also get more specific feedback on individual
 
271
students by selecting "View worksheet marks" at the bottom of the subject
 
272
page. This shows the marks in each worksheet, and in the subject overall, for
 
273
each student, and can be used to calculate each student's final grade.
 
274
 
 
275
.. note::
 
276
   The marks are calculated from the current time, by default. However,
 
277
   normally, there is a cutoff time after which students cannot gain any
 
278
   additional marks for worksheets. You can set this cutoff in the offering
 
279
   edit page. Once set, the marks will be calculated based on submissions up
 
280
   until that date, and students will be notified of the cutoff time.
 
281
 
 
282
The "Download as CSV file" link provides these same statistics in CSV format,
 
283
which can be easily parsed.
 
284
 
258
285
An administrator's view
259
286
=======================
260
287
 
261
 
Log into IVLE as an admin (username: 'admin', password: 'password').
 
288
Log into IVLE as an admin (username: ``admin``, password: ``password``).
262
289
 
263
290
Administrator users in IVLE have significant privileges. Note, however, that
264
291
for technical reasons, admins cannot read or write other users' files. This
265
292
requires root access on the machine IVLE is installed on.
266
293
 
 
294
Administering users
 
295
-------------------
 
296
 
267
297
Firstly, pull down the IVLE menu (top-left). There is an additional item for
268
 
admins -- the "Users" page. This lists all users with an account in IVLE.
 
298
admins -- the *Users* page. This lists all users with an account in IVLE.
269
299
Clicking on a username takes you to the user's profile page. Try it with the
270
 
user 'lecturer'.
 
300
user ``lecturer``.
271
301
 
272
302
The profile page is exactly the same as the user himself would see it, but
273
 
with a few more buttons on the side. "Change password" is the same as the
274
 
user's own "Change password" page. However, "Reset password" is a special
 
303
with a few more buttons on the side. *Change password* is the same as the
 
304
user's own *Change password* page. However, *Reset password* is a special
275
305
admin page which lets you change a user's password without knowing the old
276
 
one. "Administer user" also lets you change administrative settings for the
 
306
one. *Administer user* also lets you change administrative settings for the
277
307
user, such as their full name (more formal than display name, which the user
278
308
themselves can change) and student ID. You can also add/remove admin status
279
309
for, or disable/enable (i.e., ban from IVLE) any user (except yourself, of
283
313
   Use this with care. Making a user an admin gives them complete control over
284
314
   the system. They could even revoke *your* admin rights!
285
315
 
286
 
Admin users also enjoy the same privileges as lecturers, for all subjects on
287
 
the system. In addition, admins can enrol users in a subject as lecturers
288
 
(this is the only way to become a lecturer). Go to the subject page for
289
 
"Advanced IVLE" and enrol the user "lecturer" as a Lecturer in the subject.
 
316
Administering subjects and offerings
 
317
------------------------------------
 
318
 
 
319
Admin users also enjoy the same privileges as lecturers, for all subject
 
320
offerings on the system. In addition, admins can enrol users in an offering as
 
321
lecturers (this is the only way to become a lecturer), and change or delete a
 
322
lecturer's enrolment. Go to the subject page for Advanced IVLE and enrol the
 
323
user ``lecturer`` as a lecturer in the subject.
 
324
 
 
325
Admins can also administer subjects. Here it is important to distinguish
 
326
between a "subject" (a course on a specific topic which is repeated over a
 
327
number of semesters or years) and an "offering" (a particular instance of a
 
328
subject, for one semester). Lecturers can administer *offerings* they are
 
329
enrolled in, but not *subjects*.
 
330
 
 
331
As an admin, go to the *Subjects* page. You will see a link *Manage subjects
 
332
and semesters*. The list at the top of the page shows all registered
 
333
subjects. Click *Create new subject* to create a brand new subject (i.e., a
 
334
new course). Call it "Introduction to Programming", with the URL name
 
335
``intro-prog`` and subject code 200101.
 
336
 
 
337
Now we have created a *subject* but not an *offering*, so nobody will be able
 
338
to teach or enrol in this subject. From the "Introduction to Programming"
 
339
page, click *Create new offering*. Select the semester in which the subject
 
340
will be first taught. If you wish to create the first offering of a semester
 
341
(e.g., 2011 semester 1), you will have to create a new semester first. Type
 
342
in a subject description. (Note that each offering has an independent
 
343
description.) Once you have created an offering, you can enrol lecturers, and
 
344
they can in turn enrol students.
 
345
 
 
346
Lecturers can take over administration duties of an offering (such as editing
 
347
the description and managing projects), however it remains the admin's duty to
 
348
administer the subjects, including creating new offerings each semester and
 
349
enrolling lecturers.
 
350
 
 
351
Administering semesters
 
352
-----------------------
 
353
 
 
354
An important duty of the administrator is controlling the *state* of each
 
355
semester. Return to the *Manage subjects and semesters* page. Note the
 
356
*Semesters* table contains a list of all known semesters, and whether they are
 
357
"past", "current" or "future".
 
358
 
 
359
.. note::
 
360
   IVLE could automatically create and manage semesters based on the system
 
361
   clock, but it presently does not. That is because your institution may have
 
362
   a different concept of a "semester" to ours. (For example, what are the
 
363
   semester start and end dates?) IVLE has therefore been designed to require
 
364
   admins to manually activate new semesters and disable old ones.
 
365
 
 
366
In the sample data, 2009 semester 2 is the "current" semester. Let us assume
 
367
that we are moving into the start of 2010. Edit 2009 semester 2 and set its
 
368
state to "Past". Then, edit 2010 semester 1 and set its state to "Current".
 
369
This affects the system in several ways. Mainly, it just changes the UI for
 
370
all users, in terms of which offerings are presented as "current".
 
371
 
 
372
.. warning::
 
373
   Marking a semester as anything other than "current" will make it impossible
 
374
   for students enrolled in offerings for that semester to submit projects.
 
375
   Only do this after the semester has fully closed.
 
376
 
 
377
It is possible for multiple semesters to be marked as "current", if this is
 
378
desired. Therefore, there is no need to disable one semester before enabling
 
379
another.
290
380
 
291
381
Admin scripts
292
382
-------------