COMPSCI 210: Assignment #3 - Marking Guidelines

As specified in the assignment specification, we will be marking the assignment automatically (or semi-automatically).

We have provided you with a copy of our marking scripts which you will be able to execute on login.cs.auckland.ac.nz. Please test your assignment thoroughly and run through the marking script before submission.

The marking script is a shell script (akin to a BAT file on a DOS system, but far more advanced). Shell scripting allows familiar programming constructs (such as for loops and if blocks) albeit the syntax can be a little rough when you look at it first.

The first line of the script starts with a hash-bang-slash: the slash-bin slash-sh part tells the operating system that it is the program /bin/sh that is going to run (i.e. interpret) this file. You can execute any commands (i.e. applications), user-defined or system-supplied, within a shell script. Part of the exercise in this assignment is to study the shell script and see what it is doing.

The main idea behind automatic marking is that if there is no difference between the outputs of the reference solution (i.e. the supplied sample solution) and your solution for the same set of inputs, then your solution is deemed similar to the reference solution, and thus you get full marks for the part that is tested.

Note that there will be no partial marks for any sub-part, so it is important that you get right as many parts as you possibly can.

Here is a rough outline of how you will set up the test environment for testing part 1 of the assignment using the marking script markMe_part1.sh.

  1. Make a directory called Assignment3 somewhere suitable.
  2. Copy the script markMe_part1.sh to this directory.
  3. Make the script executable: chmod +x markMe_part1.sh
  4. Copy the sample solution provided to you: a3ss_part1.s to this directory as well.
  5. Make a sub-directory called a3_part1 and copy your solution files there.
  6. Go to the top-level directory Assignment3 and run the script by issuing the command ./markMe_part1.sh.

Here's a sample session of testing:

sman063@login01%  mkdir Assignment3
sman063@login01%  cd Assignment3/
sman063@login01%  cp ../markMe_part1.sh .
sman063@login01%  chmod +x markMe_part1.sh 
sman063@login01%  cp ../SampleSolution/a3ss_part1.s .
sman063@login01%  mkdir a3_part1
sman063@login01%  cp ../SampleSolution/my_part1.cpp a3_part1
sman063@login01%  ./markMe_part1.sh 
Deduct 5 marks if compiler warnings exist
Checking Solution ------------- Total 10 marks
No news is good news

Checking Solution ------------- Total 30 marks
No news is good news

Checking Solution ------------- Total 60 marks
No news is good news

sman063@login01%  

Note that we will not use the same inputs supplied in the marking script when we are marking (why shouldn't we?), so it is important that you test your solutions extensively and validate your results before attempting to check your solutions using the marking script.

You can follow a similar process for the second and third parts of the assignment using the marking scripts markMe_part2.sh and markMe_part3.sh respectively.


Last updated: Mon 01 April 2013 08:14:41 NZST