Anne Dawson: CSCI101A_FA_SP05.htm Thursday 24th February 2005, 7:07 PT,
AHD
This document is subject to
change without notice.
Please report any errors or omissions in this document
to:
adawson@coquitlamcollege.com
Special instructions: For this assignment you may work in
teams of 2, or alone.
This assignment is due at the start of the
last class of the semester (Week 13 Class 2).
Final Assignment Specification
------------------------------
Introduction
------------
In this assignment you will generate a blank crossword
puzzle from a pattern read from a data file.
Introduction:
A crossword puzzle is a word game where clues are used to discover words to be filled in on a grid of white and black squares, the letters occupying the white squares to form an interlocking horizontal ('across') and vertical ('down') pattern. A crossword puzzle consists of a diagram divided into blank (white) and cancelled (black, shaded, or crosshatched) squares. The pattern of black squares usually serves to separate each word from adjacent words. The crossword has two sets of clues, one for the across (horizontal) and the other for the down (vertical) words, the numbers corresponding to identical numbers on the diagram. A specific letter of the alphabet is to be inserted into each of the blank squares of the diagram, forming the words fitting the numbered definitions or clues. The words cross each other, or interlock, which gives the puzzle its name.
Notice how the bottom half of a crossword puzzle is an inverted mirror image of the top half. The pattern is read from a data file containing only zeros and ones. In the example below, the pattern is read from a file containing 8 x 15 digits. The first 7 digits in the file are zeros, then a one, then a zero then a one etc. You can assume that the puzzle to be generated is 15 x 15 squares. Using the following puzzle as an example, generate the data file. Your program must generate the crossword using the data from the file. The crossword should be automatically numbered at each point where a new word would start, using a left to right, top down methodology as shown below.

This document is subject to
change without notice.
Submission instructions
-----------------------
At the start of class (Week 13 Class 2) you should
save just your source code file to your folder in \Week13\FA.
If you are working in a team, both team members save
the same file to their own folder.
Marking Scheme
--------------
The following marking scheme applies:
Course Code:
CSCI101A
Semester:
SP05
Assignment Code: Final Assignment
Lab Specification: Crossword Puzzle Generator
Instructor Name: Dr Anne Dawson
Student 1 Name:
Student 1 Number:
Student 2 Name:
Student 2 Number:
DESIGN
1. The
program has appropriate modularity i.e.
functions are used where it makes sense to
use them.
/10
2.
Appropriate data types and control structures
are used.
/10
3. The
program is robust
(handles exceptional circumstances).
/10
4. The
program is efficient
(does not contain unnecessary statements)
/10
MAINTAINABILITY
5. The
program is commented appropriately - including
date, filename and pre- and post-condition
comments.
/10
6. The
program has meaningful identifiers.
/10
7. The
program is indented (spaced out) correctly, to
aid the understanding of the code.
/10
8. The
code is easy to follow.
/10
CORRECTNESS:
9. The
program runs as intended (is accurate). /10
10. Comprehensive test data and results are
supplied. /10
% Complete:
Bonus:
Total: /100
Date: