Section 5: Programming Concepts
  Column:   D C B A
Row: Data Types: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  minimum Points   Must exceed requirements in at least one area. Total
  10 0       16
1 Data types – Be able to use the fundamental primitive types in programs appropriately.      didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
2 Explain what a variable is and how it differs from variables in mathematics.     rote definitions  define in own words  define with examples  able to create &/or find own examples
3 Simple data structures: stacks; queues: Understand their use; implementation; typical operations.     rote definitions  define in own words  define with examples  able to create &/or find own examples
4 Simple data structures: linked lists: Understand their use; implementation; typical operations.     rote definitions  define in own words  define with examples  able to create &/or find own examples
             
  Column:   D C B A
Row: Input/Output: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  Minimum Points   Must exceed requirements in at least one area. Total
12 0       20
1 Input/Output: Be able to read and write the standard primitive types; including basic formatting.     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
2 Distinguish between File I/O and O/S level re-directed I/O.     rote definitions  define in own words  define with examples  able to create &/or find own examples
3 File I/O: Be able to handle file I/O in a program using text-based I/O.     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
4 File I/O: Be able to handle file I/O in a program using binary I/O.     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
5 To understand the distinction between text-based and binary I/O     rote definitions  define in own words  define with examples  able to create &/or find own examples
             
  Column:   D C B A
Row: Arrays: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  Minimum Points   Must exceed requirements in at least one area. Total
  12 0       20
1 Comprehend arrays as a fundamental data structure: to understand how it relates to and differs from primitive types and other structures.     rote definitions  define in own words  define with examples  able to create &/or find own examples
2 Be able to create and use one dimensional arrays.     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
3 Be able to create and use two dimensional arrays.     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
4 Be able to create and use dynamically allocated arrays.     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
5 Simple data structures using arrays: stacks; queues; Understand their use; implementation; typical operations.     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
             
  Column:   D C B A
Row: Flow of Control: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  Minimum Points   Must exceed requirements in at least one area. Total
  12 0       20
1 How does the basic structure control flow?     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
2 Decision making constructs: IF     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
3 Decision making constructs: SWITCH     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
4 Looping constructs: FOR     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
5 Looping constructs: WHILE     didn't get it to run  made simple application work  more sophisticated use  able to use as effective tool
             
  Column:   D C B A
Row: Sub-Programs: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  Minimum Points   Must exceed requirements in at least one area. Total
  14 0       24
1 Define: Sub-program.     rote definitions  define in own words  define with examples  able to create &/or find own examples
2 Distinguish between functions and procedures: both w.r.t. function and use.     can use both, but often for the wrong reasons  usually chooses well  effective use of both  able to justify choices
3 Be able to create and use functions appropriately in programs.     rarely  sometimes  often  always or almost always
4 Parameter passing mechanisms: pass-by-value; pass-by-reference; pass-reference-by-value.     rote definitions  define in own words  define with examples  able to create &/or find own examples
5 Scope: what is it; implications for programming.     rote definitions  define in own words  define with examples  able to create &/or find own examples
  Distinguish between “lifetime” and “scope”     rote definitions  define in own words  define with examples  able to create &/or find own examples
             
  Column:   D C B A
Row: Documentation: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  ***NOTE***: must meet minimum requirements in at least HALF of all programs submitted.
  Minimum Points   Must exceed requirements in at least one area. Total
  12 0       20
1 Overall Impression    Misleading; confusing; too much or too little  A few missing, redundant, or irrelevant parts    Accurate; reasonable; easy to read;
2 Identifier Names    Meaningless or misleading names  Some poor choices. Most identifiers explained where appropriate.    Meaningful identifier names [some single letter names are OK, such as i,j for indices]. Explanations of identifiers where appropriate.
3 Indentation; White Space    Misleading indentation; too much or too little white space  Some inconsistencies; some inadequate or wasted space    Consistent indentation; good use of white space
4 External Documentation    No external documentation when some is needed. External documentation not useful, confusing, out of date, or misleading  Adequate external documentation [javadoc; user manual, as necessary]. Someone else could work with this program with a little help from the original programmer(s).    External doc. as appropriate; [javadoc & user documentation where appropriate]. Someone else could work with this program based on code and documentation alone.
5 Logical Blocks    Few or no logical blocks documented  Most logical blocks documented    Documentation for each function and loop and logical block