Next: Interpreted language exercises Up: Using Ceilidh as a Student Previous: The course and unit level

The exercise level

If, for a given coursework, you are asked to solve a nominated coursework exercise in a this week's unit of the course, you will perhaps first select the appropriate unit using the, Select Unit (su) command, then list the names of all the exercises in this unit appear in the main window ( or using the command


        lx

at the course/unit level, and then enter the required exercise using


        sx 2

for example, to select exercise 2 of the current unit.)

In X highlight the exercise you want and press Select Unit button.

IN X: Do Exercise moves you to a new level and a new window: The exercise level.

IN TEXT VERSION: It is worth noting that at the course level, while the sx (select a particular exercise) command moves you to another level, the "exercise level" with another menu, the su (select a unit) command leaves you at the course level with the same menu. You can move around the different units in a course at will without changing your level in the system. To attempt exercises you must enter the exercise level, which has different menus depending on the type of exercise you are asked to complete. These exercises include compiled language exercises, interpreted language exercises, question/answer exercises and text submission (essay) exercises. For the moment will will consider the compiled language exercise menu.

If you type


        sx 1

to select exercise 1 in the current unit of the course you will see the menu given in Fig. .

This is the level at which most of your work will be undertaken. Each exercise will have been set up by the teacher, and will include a question, a skeleton solution, and all the necessary testing information.



(text version ceilidh looks like this)
_______________________________________________________________

Compiled language menu for course "pr1" unit "1" exercise "1"
  vq    view question on the screen   | pq    print question on draft13
  co    make a comment to teacher     | set   set up coursework
  h     for context help              | H     for general help
  q     to return to calling menu     |
  ed    edit your program             | cm    compile your program
  cv    compile verbose               | cks   check whether submitted OK
  run   run your executable           | rut   run yours against test data
  sub   submit/mark your program      | std   look at the test data
  vs    view solution program         | ps    print sol'n program on draft13
  cp    get copy of solution          |
  rex   run solution executable       | rxt   run sol'n against test data
 ===========================================
 Type compiled language command:
___________________________________________________________________________

Fig. Exercise Level Ceilidh Menu

Your normal sequence of activity at this level might be as follows. First use view question (vq) to look at the question, or print question (pq) to print it out. You may need to study the question for a while before attempting its solution on the computer. It may be sensible to view or print it at least a day before the laboratory session during which you solve the problem.

You will then use


        setup (set)

to set up a skeleton solution. This command typically puts an outline of the required program into your directory, to give you a flying start in solving the problem. In more complex exercises later in the course, it may set up other data files as well.

A textedit window will be brought up to edit it.

At this stage you can start to develop your program, using the commands

Edit (ed)
to edit your program,

Compile (cm)
to compile it (if the compilation fails, go back to ed to correct the error with the editor, and then try compilation again), and

Run
to try running your program. It is up to you to think of appropriate tests when running your program, to convince yourself that it is running correctly.

cv
(Text only - see Options button in X Version to set verbose compilation) This command is given as an alternative to the cm command. When used it will compile your program more verbosely, giving compiler

warning messages which can help identify problems in your solution.

db
(text only) If this option has been set up by the course developer, it offers debugging facilities to you.

Note: Not all of the options in the menu will appear on the at all times; if there is no executable, for example, the running options will not appear or appear ghosted in XCEILIDH. If you have not executed set to obtain an outline program, the ed command for editing your program will not be shown.

Once you have successfully compiled your program and tested it to your satisfaction, the system is ready to mark and submit it. It does this by looking at your program source code (checking that it is indented correctly, for example), and running your compiled program against various sets of test data and seeing that it produces the correct results. At this stage you may wish to use the following commands.

rut
(text only - see OPTIONS button to set this in X version) This runs your compiled program against the first set of test data used by the marking process, and enables you to see whether it appears to produce sensible answers.

std (show test data)
This shows you each set of test data being used by the marking process. The teacher reserves the right to change the test data at any time, since your program should generally work on absolutely any data which it receives.

When you have performed enough tests to convince you that your program is correct (and only then) you should ask the system to mark and submit it using the


        submit button (sub command).

The computer's response will be something like that shown in figure .

The significance of this output is as follows.

Firstly your compiled program is run against several sets of test data. The system looks in the output generated by your program for evidence that you have produced the correct answer; this can be a non-trivial operation if your program does not print its results clearly! Each test produces one line of output, giving you a brief summary of the test, and the score you have been awarded. Different tests will be marked out of different totals, depending on the importance of the test.

The marks from these runs against test data are then combined into a single "dynamic test" result for your program. This result is then scaled out of a particular value, and the next few lines give marks for various "static tests" (tests performed by looking at your program source, rather than by executing it) such as "typographic style" (your program layout, choice of identifiers, use of comments, etc, see the ASQA paper[1] for details, a copy is stored on the Ceilidh system) "complexity" (the complexity of your program is compared with the complexity of the course developer's model solution; the two should not differ by too large a factor) and lastly "features" (the computer looks for specific good or bad programming features associated with this particular coursework).

All these marks are then combined with their weightings into a single mark which you are awarded. The Ceilidh system retains a copy of your program and of the mark awarded for future reference.

If you are happy with the mark awarded, you can quit at this stage. Alternatively, you may try to improve your mark and try again. It is your last mark which is recorded as your actual mark for this coursework.

To check that the mark has been correctly stored by the computer, use the command


        check submission  button (cks)

which will show you what the computer has recorded. You should always use this checking facility after every exercise.

There is also a command at the course/unit level vm which lets you view ALL your marks submitted so far.

Note:

Other commands at this level are:

View Solution (vs), Print Solution (ps), Copy Solution (cp)
: These commands are available only after the hand-in date of the coursework, and let you view the solution ( vs ) to the coursework, print the solution ( ps ), and copy the solution into your own directory ( cp ) so that you can try it out yourself.

rex, rxt
(text only - see OPTIONS Button): These commands allow you to run the course developer's compiled program interactively ( rex ) to see that it works the way you expected, and to run it against the first set of test data ( rxt ) to see the output which it gives. This may give you ideas on how to layout your output. These options may not exist if there is insufficient space on the disc for the teacher to store executable versions of all the solutions.

When you quit ( q ) from the exercise level of Ceilidh, you return to the course level of Ceilidh, where you may perform other activities, or execute another quit to leave Ceilidh completely.



Next: Interpreted language exercises Up: Using Ceilidh as a Student Previous: The course and unit level


Dave.Marshall@cm.cf.ac.uk
Wed Sep 14 10:06:31 BST 1994