Assignment 3 - Implementation
Introduction/What to do
You will write a program which conforms to the requirements specification from assignment 2. The purpose of this assignment is to
provide material for future assignments and give you some experience writing a
program you know will be maintained by another group. This means that on the
one hand, you won't be graded on this assignment, but on the other hand, your
ability to do future assignments depends on doing a good job on this one.
Furthermore, the grading for the maintenance assignment will be based on both
the ability to complete the maintenance task and the ease with which another
group completed a maintenance task on your program, so ease of maintenance is
What to hand in
You will turn in a pointer to your source code and executable. Please check
permissions on all files and make sure that we will be able to read/run
To facilitate automatic testing, the program must be able to run with input
on stdin, output on stdout, error messages on stderr, width defaulting to 80,
width specifiable by a command line option -w n (where n is the width), the
flag for listing links defaults to off and is turned on by the option -l. You
can add other options, such as a command line option for input and output
files, if you desire.
The program can be written in C, C++ or Ada. Please send me email as soon as possible saying what
language your group is using.
What to think about
One of the future assignments will be maintenance. In this assignment, you
will swap projects with another group and perform a maintenance task. Thus
the program should be written with maintenance in mind. The types of tasks to
expect are described in the system evolution section of the
This assignment will be due on May 15th, the same day as the Test Plan
assignment. Because the test plan is due at the same time, we strongly
recommend that you start working on your implementation immediately.