The goal of this assignment is to make sure that you know how to write a simple program in C and that you know how to follow the submission procedures that we will be using for the rest of the semester:
As well, the goal of this assignment is to learn how to WRITE and READ instructions carefully.
This assignment is worth 10 points (out of 110 this semester). Distribution of points is indicated below.
As described in the first lecture, you will spend this semester writing an educational game. Throughout the semester, the game will get more sophisticated as you learn more. The first homework will be a simple prototype of the game, written in C. The last homework will be a complex multi-player version of the game, with a user-interface in Java that connects to a C or C++ server which is used for communication between players and for saving game data.
You will need a customer -- preferably a child, in order to minimize the amount of knowledge engineering you will need to do for the game. A simple example (which you CANNOT use) is a flashcard game. In a flashcard game, your program would prompt the user with a question and the computer would determine if the user got the right answer or not. Suppose our customer is studying states and capitals. Your program could say "What is the capital of Massachusetts?" and would then read an answer from the user and compare the user's answer to "Boston". The program would print a message indicating if the user got the answer right or not. You would need to decide things like what the messages would be when the user provides right and wrong answers, what the procedure would be if the user got the question wrong (i.e., would s/he get another chance? if so, how many more chances?), if there would be any scoring, how many questions the user would get in a game -- things like that.
FIRST, print out the timesheet and keep track of how much time you spend doing the tasks outlined below.
1. design.(3 points)
You need to begin by sketching out a design document. The information you need to include in the design document is:
This documentation should be about 1 page, 10-point font. It must be complete -- so you need to be CLEAR and CONCISE. You MUST print out the documentation and bring it to class on the due date.
2. build a prototype.(6 points)
Write a prototype for your game in C. You can represent a small subset of your knowledge domain -- in my states and capitals example, I'd just use the 6 New England states, for example. You need to prompt the user and do something intelligent based on the user's response. You don't need to write a complex computer player -- this isn't an AI class.
Your program must contain the following C elements:
char *) variable (1 point)
stringlibrary (1 point)
mathlibrary (1 point)
3. submit.(1 point)
You need to submit your program in two ways: electronically and hard copy. This process will be the same for all homework assignments for this course, so master it NOW. Note that on this homework only, you'll get 1 point for completing the submission correctly -- 0.25 points for the timesheet, 0.25 points for the cover page, 0.25 points for the documentation hardcopy and 0.25 points for doing the electronic submission correctly.
Follow the submission instructions.
(1) Print out the homework template cover page and fill it out.
(2) Print out the timesheet and fill it out.
(3) STAPLE the cover page, timesheet and hardcopy of your documentation together.
(4) Make sure your name and CUNIX ID are on all the papers you hand in!
(5) Bring all this to class on the day the assignment is due and deposit it in the homework box at the front of the classroom within the first 5 minutes of the class (by 1.15pm).