| 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 | ||