Anne
Dawson: CSCI120A_FA_SP05.htm
Monday 7th March 2005, 11:14 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/s to their own
folder.
Marking
Scheme
--------------
The
following marking scheme applies:
Course
Code:
CSCI120A
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
and CODING
1.
Algorithm
/15
2.
Pseudocode
/15
3.
Program documentation (identifiers/comments/readability) /10
4. The program has appropriate modularity
i.e.
functions are used where it
makes sense to use them. /10
5. The program is robust i.e.
the program handles
exceptional circumstances.
/10
6. The program is efficient i.e.
the program does not
contain unnecessary statements. /10
7. User
Interface
/10
CORRECTNESS:
8. The program is correct.
/10
9. Comprehensive test data and results are
supplied. /10
% Complete:
Bonus:
Total: /100
Date: