PROGRAMMING ASSIGNMENT STANDARDS

Dr. Hoganson, CSIS

Programming is generally considered to be at the heart of computing education. Programming teaches things about computers (architectures, languages) and also dynamic ideas of how computers function, and how to create something useful from scratch (programs). Teaching programming involves both teaching the science and engineering of computers and languages, but also the "art" or "craft" of programming. To teach the creative part of programming, students must see many programming examples, work through many program examples and write many programs, in order to gain experience with a wide range of problem and solution types and master each of them.


GRADING:
A completed programming project is one that works. That is, it solves the problem assigned, using a correct solution. Programs that do not work, are not complete, and will receive minimal credit (if any).

Of those working programs, to receive full credit, the code must be well- documented, and the algorithms used must be reasonable.


DOCUMENTATION:
Programming is about solving problems and managing complexity. Part of managing the complexity for those who will have to read your code is to document your programs. This documentation process also helps you in the initial design process, and later when changes or extensions are needed. I require that each program and module, whether it be a function, object, class, etc. be documented in the following ways:

  1. Header Description.
  2. Variable Definitions: All variables must be defined. Use meaningful variable names.
  3. Complex and Interesting Code and/or techniques. Complex, interesting, and non-obvious programming statements should each be described. This description should occur near the code itself.

TURN IN: