CSE 143

Homework #1

Crisis Programming

 

A sports-loving billionaire has just hired you to help develop C++ software for his latest purchase: a soccer league.  You don't care that much about soccer, but the stock option package looks pretty good.  Unfortunately, the previous programmer cashes out his stock options and quits the day before you start work.   What you're left with are several files in C, and a working but extremely limited demo executable to show how the program worked so far.  The files that do exist are clearly not even the latest versions. Your first assignment: figure out what's there, convert it to C++, and get it working as well as the demo.


To start with you have :

From the sample executable, you can see that the intention was for a user to request an option (by typing a number), and have the program give back information about the teams.

You should convert everything to C++ and get it working like the executable.   Specifically:

Some ground rules:

There's no need to get fancy with this assignment.  Follow the instructions carefully and get it to work.  There is a draft style guide for CSE143 (can you find it on the Web?); you should begin to get familiar with it, but for this assignment it's OK to stick to the style of the original programs.

Your program should operate correctly with any data file that is in the right format and doesn't contain more data than the program constants allow.  When we grade the program, chances are we will not use the original testdata.txt file!  You should create one or more data files of your own and try them out.  The program does not have to operate correctly in the face of data file errors.

Other things to do

  1. It may be that your project does not meet the specifications given above.  Write a short statement that either says you are in full compliance with the requirements, or lists the ways in which you are not (things that don't work, etc.).  Such a statement will be a required part of every programming project.
  2. You may decide that the program you turn in is not ideal in some respects (or on the other hand you may be very proud of it!).  If  your boss or fellow programmers were looking at it, what do you think they wouldfind to like or dislike?  Write a short paragraph evaluating the project, especially considering the way it's designed and programmed (rather than what functions it performs).  Your critique will be graded (this time) only on whether you attempt it.
  3. Write a statement of acknowledgements.  If you took code from anywhere (except what the assignment gives you directly), say where you got it from and who the original author is.  You must do this even if you modified the code considerably.  If you received help on the assignment from anyone other than course staff (TA, instructors, consultants), please list the name of the person and the extent of their help.   Such a statement will be a required part of every programming project.

Turn-in

Turn in the program parts by electronic turn-in before the deadline.  Our clock rules!   Print the turn-in receipt that you get back.  Staple the three required statements to the receipt (they may all be on one page, and may be handwritten if your writing is legible). Give the receipt to a TA in lecture on the day the assignment is due, or place it (in an envelope) in the Homework Box outside Sieg 118.  

Be sure your name, student ID, and section are on every separate piece you turn in.  You can lose points for  errors of "mechanics" like failing to staple, not writing your student ID or having the wrong section #, etc.  Homework turned in without all the required parts will not be graded.  Programs that do not compile will received little or no credit.

If you did not take 142 at UW, you might want to finish the assignment at least half a day early and show what you plan to turn-in (receipt, etc) to a member of the course staff to make sure you have all the mechanics right.

Don't forget to have fun... remember all those stock options waiting for you at the end of the rainbow.