More about homework

It is not enough to hand in correct programs that merely compile and produce the expected output. You will be graded on elegance, design legibility, maintainability, and other such important factors. I will generally not give full specifications of the problem. You are expected not merely to solve the problems, but to make intelligent decisions about how to approach the problems. Getting the low-level syntax right and coding the algorithms and data structures correctly is at most 50% of the grade. The other 50% is based on choosing reasonable algorithms and data structures and presenting it in an elegant, simple, legible, documented, and maintainable fashion. Spaghetti code is severely deprecated.

In the so-called real-world the best estimates are that about 10% of programmer time is spent writing code. Approximately 90% of programmer time is spent on design, testing, debugging, and documentation. So I'm actually giving about 40% too much weight to code writing.

Read Joel Spolsky's Five Worlds:

  1. Shrinkwrap
  2. Internal
  3. Embedded
  4. Games
  5. Throwaway

Read University Syndrome.


Previous | Next | Top | Cafe au Lait

Copyright 1997-2006 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified April 6, 2006