Summer 2001
- All programming assignments submitted are to include a printed listing of all source code along with a printed listing of the output from the program and an executable file.
- Unless test data was provided for the assignment a copy of the test data used should be included in the submission.
- The source code, output and test data listings should be stapled together with an additional page containing the course number, assignment number, your name and student number attached at the front.
- All submissions (hardcopy and email) must be received by the assignment due date and time or it will be considered late and will be assigned the late penalty.
- Failure to follow these guidelines may result in a lower grade for the assignment.
- Assignments will be accepted as late for one week after the original due date the date as specified in class with a penalty of 25%.
- It is the date of submission (not the date that the work was completed) that is considered with respect to lateness.
- In the case of sickness, bereavement or other special circumstances and upon the receipt of suitable documentary evidence, the instructor may grant an appropriate extension for the assignment.
- Only in the event of the unavailability of computing resources (i.e. hardware failure in the lab) for a period of 24 hours or more will an extension of the due date be granted. Extensions will not be granted simply because the lab was busy.
- Each program should begin with a block of comments which give the following information: course number, assignment number, author's name and student number, a brief description of the problem.
- Each function should begin with a block of comments describing: the purpose of the function and the use of each parameter.
- Each variable declared should have a comment associated with it describing the purpose of the variable.
- Statements nested within another statement or function should be indented and indentation should be consistent.
- Each identifier (constant, variable, function and/or type) in the program should be given a meaningful name.
- Algorithms should be clearly stated, straightforward and not unduly complicated.
- The solution should be decomposed into a reasonable number of reasonably sized, logical functions.
- Variables should be declared as locally as is reasonable for the solution.
- Although efficiency is a concern (i.e. gross inefficiency is not acceptable), in general clarity of expression of the algorithm should take preference over micro-efficiency.
- The program should handle all reasonable cases (including user errors) except where simplifying assumptions are given in the assignment specification.
- Correctness of solution
- Adherence to programming standards
- Quality of the program
- Handling of erroneous cases
- Gross efficiency
- Quality of test data (when not supplied for assignment)
- Marks will be deducted for failure to adhere to the guidelines described in this document.
The program grading criteria can be found here.
- It is expected that each submission is that of an individual student. Collaboration on an individual assignment is not acceptable.
- Obtaining assistance from course staff (i.e. instructor and general consultants) is acceptable.
- General discussions about the purpose of the assignment or general (high-level) approaches to the solution between students in the course is acceptable.
- Plagiarism will be suspected if two submissions are made which are so similar that a mechanical transformation from one to the other is possible. The same is true if parts (e.g. code segments, functions or modules) of the submission are substantially the same.
- Plagiarism is a serious offense and will be dealt with according to University regulations. Penalties for proven plagiarism range from 0 for the piece of work in question to suspension from the University.