Guidelines for Fortran Programming and Grading: Grading First and foremost the program should meet its specifications. 60% Does it do precisely what it was asked to do? It should be well-designed. 10% This includes well-designed, cohesive functions, minimal use of global variables, effective use of parameters, etc. Since many of our programs are intended to solve numerical analysis problems, the use of good mathematical and numerical techniques is included here. Style and Readability 10% Programs are written not just to be run, but also for others to read. Pity the poor maintenance program who is going to have to read and decipher your work 4 years from now. Make this person's job easier through good use of indentation, spacing, descriptive variable names, and general neatness. Documentation 10% If you provide good documentation, that maintenance programmer is going to bless you, not curse you! There is both internal and external documentation. The internal documentation is contained within the program file(s) and includes a description at the top giving the inputs, overall processing, and outputs of the program. It also includes a comment section for each function, listing what is being passed into it via the parameters, what the function's main task is, and what values are being passed back out via the parameters or function name. External documentation is separate from the program and may consist of items like the specifications, various charts, record of testing, etc. In our course, external documentation is only to be turned in if explicitly asked for. Efficiency 10% Don't needlessly waste computer time or memory space. In particular, don't waste a lot of it. If there is a tradeoff between efficiency and a clear design, having a clear design is probably better (unless we would waste a lot of time or space to get it).