Section 4: Algorithms
  Column:   D C B A
Row: Problem Solving: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  ***NOTE***: must meet minimum requirements in at least TWO of the programs submitted.
  Minimum Points   Must exceed requirements in at least one area. Total
  10 0       16
1 Accurately Identifies Constraints or Obstacles      Omits significant ones. Identifies some – (the most important ones)  Accurately and thoroughly describes the relevant ones. Addresses some that are not immediately apparent.
2 Identifies viable and important alternatives for overcoming the constraints or obstacles.      Present solutions that fail to address the critical parts of the problem. - Plausible alternatives; addresses many of the important ones  - Creative - Plausible - Addresses central difficulties posed by constraints and obstacles.
3 Selects and adequately tries out alternatives.      Does not satisfactorily test the selected solutions. Puts selected alternatives to trials adequate to determine their utility. Some may be incomplete.  - Effective, valid, and exhaustive trials.- Trials go beyond those required to solve the problem (or explore the question) and show a commitment to an in-depth understanding of the problem
4 Accurately articulates and supports the reasoning behind the order of the selection of alternatives and the extent to which each addressed the obstacles or constraints.      Illogical. Does not present reasonable review of the strengths and weaknesses of the alternative solutions that were tried Describes the process that lead to the ordering of secondary solutions. Mostly clear, defensible rationale; most of the alternatives addressed.  Clear, comprehensive summary of reasoning that led to selection of secondary solutions. Description includes a review of the decisions that produced the order of selection and how each alternative fared as a solution.
             
  Column:   D C B A
Row: Algorithm Development & Analysis: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  Minimum Points   Must exceed requirements in at least two areas. Total
  14 0       23
1 Define Algorithm      rote definitions  define in own words  can write them in clear, straight-forward manner N/a ---
2 Distinguish between “abstraction” and “Implementation”   n/a ---  rote definitions  with example(s) N/a ---
3 Distinguish between “Algorithm” and “Software” Design     rote definitions  define in own words [4-5] with example(s) n.a.
4 Analyse a simple algorithm for complexity.     ---  superficial  relatively complete can point out effects of some changes
5 Explain “Big-Oh” notation.     rote definitions  define in own words N/a --- N/a ---
6 Analyse a simple algorithm for efficiency.     ---  can tell big-O from memory  can discuss in general terms  can outline some of the trade-offs
7 Conduct a superficial comparison of two algorithms to solve the same problem.     ---  using fairly pathological examples  Able to detect some subtleties  missed very little
             
  Column:   D C B A
Row: Software Design: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  Minimum Points   Must exceed requirements in at least two areas. Total
  14 0       23
1 Describe the Design Process as it applies to software.   n/a ---  List the 5 major components Using appropriately chosen terminology.  Explain the similarities to other design tasks.  Explain the differences.
2 Distinguish between “Wicked” and “Tame” problems.     ---  General Idea  Can explain implications of some criteria.  Can explain implications of many criteria.
3 List the elements of a typical software life cycle.     ---  List  List & explain.  ---
4 Name and describe three distinct Software Design Models.     ---  2/3  3/3  Can state some appropriate examples & counter examples.
5 Distinguish between Systematic & Formal Design Methods.     ---  Simple Definitions.  Thorough.  With applications & counter examples.
6 Discuss aspects of qualitative assessment of Software Designs.     ---  List desirable qualities.  Can state some appropriate examples & counter examples.  Can justify some appropriate examples & counter examples.