Faculty of Applied Science and Engineering, University of Toronto
CSC181: Introduction to Computer Programming

Assignment 5: Connect Four, Part II

Due: Tuesday, 5 December by the start of lecture

Announcements are available on the course Web site. It is your responsibility to keep up-to-date on these announcements.

Introduction

The purpose of this assignment is to give you practice implementing and testing a program with many modules, and documenting your implementation and testing.

Recall that for the previous assignment you designed a program for playing Connect Four, as well as a strategy for testing such a program. This assignment picks up where the previous assignment left off.

Connect Four

To recap, the game of Connect Four is played between two players, Red and Black, who each have a set of playing pieces they can place on a grid with 7 columns and 6 rows of squares. It is governed by the following rules:

Your Tasks

Implementation

For this assignment, you will implement a program for playing Connect Four, and in doing so, address:

Your implementation will be judged primarily on correctness. However, it is not sufficient for your program to just be correct; your correctness mark will depend largely on how well the marker can understand your documentation and testing. In other words: It is your job to convince the marker, through documentation and testing, that your program is correct. If you do not submit any documentation or testing, not only will you receive a zero for those items, but you also risk receiving a zero for correctness.

Documentation

In addition to the internal documentation you provide by commenting your code, you will also provide a report containing external documentation for your program. In doing this, you should:

Testing

You will test your program and provide a report documenting the testing strategy and results. In doing this, you should:

To facilitate the marker's understanding of your testing, split it into two parts: testing the program as a whole and testing the individual modules.

Style

Your code must conform to the style guide we provide you, which will be posted on the Web. If you follow every guideline, then you will receive full marks for style.

Base Requirements

The following base requirements qualify you for a percentage of the available marks:

Additional Enhancements

You may address any combination of the following enhancements, each to qualify for a fixed percentage of additional marks:

If you think of an additional enhancement you would like to pursue, please e-mail rayo@dgp.toronto.edu to obtain the instructor's approval.

Marking Scheme

Correctness: 50%
Style: 10%
Documentation: 20%
Testing: 20%

You may do this assignment alone or in pairs, and will be evaluated accordingly:

In any case, clearly identify which requirements and enhancements you are addressing.

Above all, keep it simple.

What to Submit

This assignment must be done in C, C++ or Java. It is your responsibility to ensure that your source files compile on ECF. You will submit a makefile which allows for automatic compilation of your source; instructions on how to create and edit makefiles will be posted on the Web.

Electronically submit your files to your Assignment 5 subdirectory under the CSC181 submit directory on the ECF server:

submitcsc181f 5 [filelist]

[filelist] is a space-separated list of the files you wish to submit. Note that if you run this command again, it will overwrite your previous submission.

You can check your submission using the following command:

submitcsc181f -l 5

Bind your report with a staple, place it in a 9" x 12" envelope with a completed assignment cover sheet (a blank one will be posted on the Web) taped to the front of the envelope, and give it to the instructor. Do not seal the envelope.


Last updated on 2000-11-21 by Ray Ortigas.