CSC324 - Principles of Programming Languages Assignment Coding Guidelines Correctness The program should conform to the specifications for which it was written. It should include correct handling of special cases, except that you may assume that input will be provided in the specified format(i.e. you can use programming-by-contract) Design and Efficiency The program should be constructed from small, coherent, independent and loosely coupled functions. Each function should access only its own parameters. The control constructs and data structures used should be those appropriate to the problem at hand. The program should not perform unnecessary steps, use extraneous variables, nor implement the algorithm in a contorted or inefficient way. Style and Documentation The program should conform to generally accepted principles of style, such as a consistent pattern of indentation, use of meaningful identifiers, generous use of space, etc. Internal documentation should include program and function headers, and in-line comments to clarify the code. Knowledge of the language Your program should provide evidence of your familiarity with the principal control constructs, operators, built-in functions, and data structuring facilities of the assigned language.