Color coding | Homework conventions | Program conventions | E-mail conventions

Color coding

Time information is often color-coded. These colors mean these things:
Relax  The past, or due in the past. No need to worry unless you didn't do this item. 
Warning Today, or the nearest class, or due now, or distributed already and still due. 
Caution  In the next few days or in the nearest class. 
Aware  The far future, or this day will never come. 

Homework conventions

You must type all homework assignments except for diagrams, which can be hand-drawn.

Homeworks are expected to be submitted by class-time on the day of the deadline. You can print and turn in your homework assignment in class. Homework not in my box by then will be considered late.

Homeworks requiring substantial programming will require electronic submission as well. These homework will be clearly identified in class. The electronic submission is in addition to submitting a printed version of your solution. The programs should be submitted electronically using the form located HERE.
Each  submission will be acknowledged by the TA. If you do not receive any acknowledgement within 1 working day from your submission you should assume that something went wrong.


Program conventions

You may construct and test your programs on any platform you desire, but be aware that programming assignments will be graded on the department's Unix system. It is your obligation to ensure that your program does indeed work on the department's system. You are expected to be familiar with the Unix operating system.  Together with your programs you are required to submit a report describing the overall structure of the software, the code organization, the algorithms used, and the meaning of each component.

You must submit electronic versions of your programs. E-mail your programs.  Be aware that you should not use tabs in your text. Instead use spaces to indent.

Always recall that you are not writing programs for yourself. A human being will read your code and comments to determine a grade for your project. Reading your code is at least as important as running your program. Get in the habit of making your programs readable now, so you can get good grades now and also succeed in the future. Readability is enhanced by

  1. Documenting each function or module -- purpose, inputs, and outputs.
  2. Making your code self-documenting by using full, specific identifiers that describe how the identifier contributes to the function's purpose. No abbreviations or single letters please.
  3. Using simple and straightforward algorithms. Efficiency is just not a concern here. Don't be too "clever by half."

E-Mail conventions

The primary purpose of E-mail is communication, and without the usual non-verbal clues in normal human communication, the burden is on the composer to ensure good communication. This means that the composer has to be aware of: These guidelines result in boring E-mailings that seem business-like. Exactly. Readers of your E-mail may be reading lot of messages a day (as I do). Your job is to make sure your message gets read exactly as you want it to when your recipient does not have the time (or inclination) to go over your message several times to comprehend its meaning.

The primary characteristic of E-mail to keep in mind is that

E-mail is not treated the same by (a) E-mail send and pop protocol programs nor by (b) E-mail reader programs.
This characteristic will not affect you if you and your E-mail recipients stick to one E-mail program within a single system. But that is not the case in this course. I, for one, use an ISP to read E-mail at home, and your E-mail to me may travel throughout the world through many sites to reach me. Furthermore, I use an E-mail program at home that few of you have access to (and I change programs as better ones become available). This means that differences in both (a) and (b) above are possible.

Here is how to minimize E-mail problems and make your text to me as readable as it is when you compose it:


Computer Science at NMSU
August  1998, E-mail: epontell AT