~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-15 01:20:34 UTC
  • Revision ID: grantw@unimelb.edu.au-20100215012034-gcear5v09slpwrnd
Make all of the Releases headings imperative.

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). Note that
97
 
the 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 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
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
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,
 
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,
107
107
where students are challenged by Python questions.
108
108
 
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::
 
109
After reading the worksheet, attempt the simple programming question, which is
 
110
to write a factorial program.
 
111
 
 
112
A sample solution follows::
129
113
 
130
114
 def fac(n):
131
115
     if n == 0:
137
121
     f = int(raw_input())
138
122
     print fac(f)
139
123
 
 
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
 
140
138
A lecturer's view
141
139
=================
142
140
 
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``).
 
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').
146
144
 
147
145
Being a lecturer or tutor is a per-subject privilege, so it only applies to
148
146
certain subjects. All of your special powers are under the subject home for
149
147
the subjects you are a tutor in. Note that everything a lecturer can do, an
150
148
admin can also do, for all subjects in the system.
151
149
 
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.
 
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).
158
155
 
159
156
Managing projects
160
157
-----------------
161
158
 
162
 
Click *Manage projects* to go to the project management screen. Note that the
 
159
Click "Manage projects" to go to the project management screen. Note that the
163
160
3 projects are grouped into "Solo projects" (projects submitted by each
164
161
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
 
162
clicking on "Add a new project" within that box. The fields should be fairly
166
163
self-explanatory.
167
164
 
168
165
.. warning::
174
171
box. This means students will get into groups of 3 to submit Phase 2, and then
175
172
the same group will submit Phase 3.
176
173
 
177
 
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
178
175
set.
179
176
 
180
 
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
181
178
project in the new set. Each student must get into a new group for each
182
179
project *set*. Note also that the groups will share a Subversion repository
183
180
for all projects in a set, but if you create a new set, the students will have
184
181
to start using a new repository.
185
182
 
186
183
Usually, the hassle of getting into new groups and creating new repositories
187
 
means that you will want to create just two project sets for a subject: one
188
 
for solo projects, and another for group projects.
 
184
means that you will want to create a single project set for a subject, and
 
185
just partition the projects into solo and group projects.
189
186
 
190
187
Viewing submissions
191
188
-------------------
195
192
commits, you can examine a student's work by simply checking out the correct
196
193
revision of the repository.
197
194
 
198
 
From the offering page, click *View submissions* under the project of interest.
199
 
This takes you to a page which lists the latest submissions from every student
200
 
(presumably you will just see the submission made by ``studenta`` earlier in
201
 
this tour). Next to each submission is a command line, beginning with
202
 
``svn co``. For instance, you might see the line::
 
195
From the Projects page, click on the "Phase 1" heading. This takes you to a
 
196
page which lists the latest submissions from every student (presumably you
 
197
will just see the submission made by "studenta" earlier in this tour). Next to
 
198
each submission is a command line, beginning with "svn co". For instance, you
 
199
might see the line::
203
200
 
204
201
 svn co --username lecturer -r7 http://svn.ivle.localhost/users/studenta/ivle-102/phase1.html
205
202
 
206
203
Paste this line into a command-line (or, if you use a GUI Subversion client,
207
204
use the username, revision and URL given). Subversion will likely prompt for a
208
 
password. For the sample data, this password is ``password``, but in general, it
 
205
password. For the sample data, this password is "password", but in general, it
209
206
will **not** be your normal IVLE password. You can learn your Subversion
210
207
password by opening a Console in IVLE and typing::
211
208
 
224
221
Managing worksheets and exercises
225
222
---------------------------------
226
223
 
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
230
 
from its own page.
 
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.
231
228
 
232
229
To get an idea of what a worksheet looks like in edit mode, click the edit
233
230
action (pencil) next to "Worksheet Basics".
234
231
 
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
 
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
237
234
  towards each student's worksheet mark, if checked. Uncheck it for
238
235
  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
 
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
241
238
  to.
242
239
 
243
240
Now, you can edit the worksheet content in reStructuredText. The existing text
244
241
briefly explains this format. See `A ReStruecturedText Primer
245
242
<http://docutils.sourceforge.net/docs/user/rst/quickstart.html>`_ for a full
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::
 
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::
249
246
 
250
247
 .. exercise:: factorial
251
248
 
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
 
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
254
251
runs automated testing on the student code. The details are outside the scope
255
252
of this tour. Hopefully, you can figure out how they work by examining the
256
 
existing ``factorial`` exercise.
 
253
existing "factorial" exercise.
257
254
 
258
255
If you are game enough, create a new worksheet from scratch. If you are
259
256
*really* game, create a new exercise for your worksheet.
261
258
An administrator's view
262
259
=======================
263
260
 
264
 
Log into IVLE as an admin (username: ``admin``, password: ``password``).
 
261
Log into IVLE as an admin (username: 'admin', password: 'password').
265
262
 
266
263
Administrator users in IVLE have significant privileges. Note, however, that
267
264
for technical reasons, admins cannot read or write other users' files. This
268
265
requires root access on the machine IVLE is installed on.
269
266
 
270
 
Administering users
271
 
-------------------
272
 
 
273
267
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.
 
268
admins -- the "Users" page. This lists all users with an account in IVLE.
275
269
Clicking on a username takes you to the user's profile page. Try it with the
276
 
user ``lecturer``.
 
270
user 'lecturer'.
277
271
 
278
272
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
 
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
281
275
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
 
276
one. "Administer user" also lets you change administrative settings for the
283
277
user, such as their full name (more formal than display name, which the user
284
278
themselves can change) and student ID. You can also add/remove admin status
285
279
for, or disable/enable (i.e., ban from IVLE) any user (except yourself, of
289
283
   Use this with care. Making a user an admin gives them complete control over
290
284
   the system. They could even revoke *your* admin rights!
291
285
 
292
 
Administering subjects and offerings
293
 
------------------------------------
294
 
 
295
 
Admin users also enjoy the same privileges as lecturers, for all subject
296
 
offerings on the system. In addition, admins can enrol users in an offering as
297
 
lecturers (this is the only way to become a lecturer), and change or delete a
298
 
lecturer's enrolment. Go to the subject page for Advanced IVLE and enrol the
299
 
user ``lecturer`` as a lecturer in the subject.
300
 
 
301
 
Admins can also administer subjects. Here it is important to distinguish
302
 
between a "subject" (a course on a specific topic which is repeated over a
303
 
number of semesters or years) and an "offering" (a particular instance of a
304
 
subject, for one semester). Lecturers can administer *offerings* they are
305
 
enrolled in, but not *subjects*.
306
 
 
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
 
new course). Call it "Introduction to Programming", with the URL name
311
 
``intro-prog`` and subject code 200101.
312
 
 
313
 
Now we have created a *subject* but not an *offering*, so nobody will be able
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
316
 
will be first taught. If you wish to create the first offering of a semester
317
 
(e.g., 2011 semester 1), you will have to create a new semester first. Type
318
 
in a subject description. (Note that each offering has an independent
319
 
description.) Once you have created an offering, you can enrol lecturers, and
320
 
they can in turn enrol students.
321
 
 
322
 
Lecturers can take over administration duties of an offering (such as editing
323
 
the description and managing projects), however it remains the admin's duty to
324
 
administer the subjects, including creating new offerings each semester and
325
 
enrolling lecturers.
326
 
 
327
 
Administering semesters
328
 
-----------------------
329
 
 
330
 
An important duty of the administrator is controlling the *state* of each
331
 
semester. Return to the *Manage subjects and semesters* page. Note the
332
 
*Semesters* table contains a list of all known semesters, and whether they are
333
 
"past", "current" or "future".
334
 
 
335
 
.. note::
336
 
   IVLE could automatically create and manage semesters based on the system
337
 
   clock, but it presently does not. That is because your institution may have
338
 
   a different concept of a "semester" to ours. (For example, what are the
339
 
   semester start and end dates?) IVLE has therefore been designed to require
340
 
   admins to manually activate new semesters and disable old ones.
341
 
 
342
 
In the sample data, 2009 semester 2 is the "current" semester. Let us assume
343
 
that we are moving into the start of 2010. Edit 2009 semester 2 and set its
344
 
state to "Past". Then, edit 2010 semester 1 and set its state to "Current".
345
 
This affects the system in several ways. Mainly, it just changes the UI for
346
 
all users, in terms of which offerings are presented as "current".
347
 
 
348
 
.. warning::
349
 
   Marking a semester as anything other than "current" will make it impossible
350
 
   for students enrolled in offerings for that semester to submit projects.
351
 
   Only do this after the semester has fully closed.
352
 
 
353
 
It is possible for multiple semesters to be marked as "current", if this is
354
 
desired. Therefore, there is no need to disable one semester before enabling
355
 
another.
 
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.
356
290
 
357
291
Admin scripts
358
292
-------------