General Programming Guidelines

  1. Programs are due at (or before) the START of class on the date they are due. This does not mean you may work on them during the class period in which they are due. This also means that they should be printed out before the start of class. Failure to follow this guideline will result in at least a 50% point deduction.
  2. Students should have a completed program checklist at the start of the class in which the program is due. A blank checklist can be downloaded from the syllabus.
  3. All variables used MUST have correct typing as well as correct scoping. This also applies to function return values as well as function/procedure arguments. Also, all variables created should have meaningful names and MUST have the correct prefix types for VB (not Java). In VB (not Java) you should (must) protect yourself from errors by setting Option Explict AND Option Strict to ON.
  4. The smallest data type appropriate for a particular variable must be used (note: usually I will provide a suggestion for the data type).
  5. All variables used in programs must be defined and errors should be reported if undefined variables are used (i.e. use Option Explicit for VB in the General Declarations section of each form in use). In general, NO calculations should be performed on object properties, except for assignment from/to variables.
  6. Object properties MUST be specified (i.e. no defaults, such as txtAmount = ..., instead of txtAmount.Text = ...) in VB.
  7. The User Interface (UI) design should be simple, balanced, and clean and must follow the specifications given for the assignment. This includes font sizes, object placement, background color, and all other aspects of UI design.
  8. Mixed mode arithmetic should be avoided and type casting should be performed where necessary.
  9. Comments should (i.e. MUST) be plentiful (where appropriate). The general declaration section (header) of each program should always include the following comments (VB format on left, C# and Java format on right):
       'Author:				//Author:
       'Program name:			//Program name:
       'Date:				//Date:
       'Class:				//Class:
    
  10. You must use blank lines and TABs for formatting to enhance readability as discussed in class. Correct indentation for all control structures must be adhered to.
  11. No unused or empty procedures may be present in the program.
  12. In general, GOTO statements may not be used (except where specified in the design of the solution).
  13. Proper testing is required, using proper input data for the program in question. It is strongly suggested that after each modification of a program, it is thoroughly re-tested, EVEN if the the modification is minor.
  14. Rules of originality will be stringently enforced.
  15. Questions are always encouraged if any of the above items require clarification.

Failure to adhere to any of the assignment specifications will result in substantial loss of points.

NOTE: non-compiling, non-running, error prone programs are worth ZERO credit, no matter how minor the problem is, or how much time was dedicated to them.