UMBC CMSC201, Computer Science I, Fall 1994 Section 0101, 0102 and Honors

Project 1 Comments


Please put your name somewhere in the beginning of your program before you submit it.

New Information (9/30/94, 10:30pm):

Some students were told incorrectly that they should remove some of the #include lines from the top of their projects:
      #include <stdio.h>
      #include "genlib.h"
      #include "simpio.h"
You must have these lines at the top of your project. If you don't, your program will behave very strangely. Also, make sure that you spell include correctly.

Questions from Students:

Professor Chang,
In the sample run on the back of the Project 1 handout there appears to be an error. The sample run determines that 56 months is equal to 4 years and 9 months. Isn't 4 years and 8 months correct?

Dear Correcting
Good question.

Suppose I charged $10. At the end of the first month, I get a bill for $10.15. Then, I pay it off. Did that take one month or two? I suppose it took like one month and a day.

A better way to put it might be this:
At the end of the first month, the balance is $10.15.
At the end of the second month, the balance is zero.

So, let's stick with the hand-out and call it 2 months. If you want to, you can print out the last month's statistics showing 0 end-of-month balance and 0 minimum payment. For example:

    lassie% a.out
    LOANShark Visa, payment chart.
    Enter initial balance: 24.00

    Month 1:
       Finance charge = $0.36
       End-of-month balance = $24.36
       Minimum payment = $13.00

    Month 2:
       Finance charge = $0.17
       End-of-month balance = $11.53
       Minimum payment = $11.53

    Month 3:
       Finance charge = $0.00
       End-of-month balance = $0.00
       Minimum payment = $0.00

    Duration: 0 years and 3 months

Professor Chang,
When I go to submit my project, do I send in only the text for the program, or both the text and the compiled program?

Dear Submitter,
Please submit just the C program. If we want to test the program, we can compile it ourselves.

Professor Chang,
I don't like the way that you have assigned project1. I thought that my program was fine, and I was all ready to send it off until class yesterday, and then you told us all sorts of new things that made my program less than perfect. I wouldn't have known that I was doing anything wrong (or less correctly) if I had submitted the program early. What if I had an exam coming up and I had wanted to finish it early? I think that every project should be assigned only when we have covered all of the material relevant to solving the problem. That way, those who choose to submit their programs early aren't put at a disadvantage to those who wait until further classes have taken place.

Dear Early Bird,
I understand your point, but this was a deliberate decision on my part and not something I overlooked. We cannot have Project 1 assigned any later than it is and still get people to learn how to use the computer systems right away. That's the main reason I have for assigning the project this way. So, future projects will be different.

In fact, you can also make the argument that people shouldn't write any programs until they have learned all of C first. This is a valid argument if you are, say, writing commercial software. It also makes all of the projects much easier. However, it ignores the fact that many (not all) people learn how to program by doing the projects. I would like to think of the projects as a learning process rather than a test to see what you have already learned.

Finally, don't worry about submitting the "perfect" program. I won't expect you to be perfect, if you don't expect me to be.

Last Modified: Fri Sep 30 10:30:18 EDT 1994

Richard Chang,