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: