Assignment Structure

Steven Zeil

ODU Dept of Computer Science

January 1, 2011


Table of Contents

1. Overview

This is a quick overview of the way that I set up my assignments so as to make them suitable for use with both the WebSubmit and the AutoGrader packages.

1. Overview

Most assignments have a common structure. At the top level of an assignment directory asst you will find

  • makefile

    The command "make" will compile the solution and generate the test outputs.

    The command "make install" does the above, copies the Public files to the course's assignment directory (for release to the students) and copies the asst.html file into the webcourse.

    Locations for the course assignment directory and the webcourse are controlled by a file make.base in the parent directory of the semester's assignments.

  • asst.html: The web page for the assignment.

  • asst.xml: The control file for web submission of the students' solutions.

  • asst.pl: The control file for the automatic grader

  • A series of directories:

    • Public: files that will be provided to the students as part of the assignment

    • Solution: instructor's solution and (after make has been run) copies of all tests

    • Tests: Test inputs or scripts are stored here as test000.dat, test001.dat, ... Once "make" has been run, this directory will also contain files of the expected output for each test, test000.out, test001.out, ... These are produced by running the compiled instructor's solution

    • Work: work are used to build and compile the instructor's solution

    • winwork: work area used to produce a Windows version of the instructor's solution

    • BaseLine: if present, then this is a directory used to construct data files or preliminary versions of the instructor's solution

File protections are important. The Tests directory be accessible to the autograder. The Solution directory must be available to the secure web server where the WebSubmit system is hosted.