{"text_format":"2","workbook":"xls","n_sheets":13,"sheets":["235 - Component Rubric","Proportional Weighting","Points Breakdown","Participation & Attendance","Data Representation","Basic Hardware Function","Language Trans. & Exec.","Algorithms","Programming Concepts","Object-Oriented Design","Recursion","Event-Driven Programming","Program Testing"],"not_rendered":{"charts":0,"images":1,"macros":0,"external_links":1,"defined_names":125,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"235 - Component Rubric","index":0,"n_rows":18,"n_cols":3,"rows_kept":18,"cut":false,"hidden":false,"merged":[[0,0,0,2],[1,0,3,0],[1,1,1,2],[2,1,2,2],[4,0,4,2],[5,0,5,2],[9,0,10,0],[9,2,12,2]],"flags":["formulas_cached_only"]}
["CPSC 235 Component Rubric"]
[null,"STUDENT COPY"]
[null,"ID: Ten of Hearts"]
[null,"Last Update: ","2010-09-14T14:13:39.490"]
["Assignments may be resubmitted as often as desired without penalty."]
["LEGEND:"]
[null,"Column:","A B C D F "]
["Row:","Main objective for this unit.:","Levels of mastery."]
[2,"[Min] Description of minimal level of achievement.","Maximum points that can be earned through this column"]
[3,"Sub-topic: How","Specific objective for this demonstration and this level of mastery."]
[null,"mastery "]
[4,"will be "]
[5,"demonstrated"]
[]
[null,null,"A = exemplary = 4 points"]
[null,"Submitted:","B = exceeds requirements = 3 points"]
["CIQ's:",null,"C = meets requirements = 2 points"]
["Assignments:",null,"D = attempt = 1 point"]

{"sheet":"Proportional Weighting","index":1,"n_rows":15,"n_cols":8,"rows_kept":15,"cut":false,"hidden":false,"merged":[[0,1,0,7]],"flags":["formulas_cached_only"]}
[null,"Proportional Weighting & Min-Max Points:"]
["UNIT:","*** Note additional requirements."," % of total ","YOUR SCORE","Minimum points this section","min / max","Maximum points this section","points / percent"]
[null,null,100,0,312,0.5897920604914934,529,5.29]
[0,"Participation & Attendance",20,0,14,0.5384615384615384,26,1.3]
[]
[1,"Data Representation",5,0,22,0.5789473684210527,38,7.6]
[2,"Basic Hardware Function",5,0,21,0.5833333333333334,36,7.2]
[3,"Language Translation & Execution",7,0,27,0.574468085106383,47,6.714285714285714]
[4,"Algorithms",10,0,38,0.6129032258064516,62,6.2]
[5,"Programming Concepts ***",20,0,72,0.6,120,6]
[6,"Object-oriented Design",15,0,64,0.5925925925925926,108,7.2]
[7,"Recursion",4,0,14,0.5833333333333334,24,6]
[8,"Event-Driven Programming",4,0,14,0.5833333333333334,24,6]
[9,"Program Testing ***",10,0,26,0.5909090909090909,44,4.4]
[null,"\"assignment\" sub-total",80,0]

{"sheet":"Points Breakdown","index":2,"n_rows":42,"n_cols":6,"rows_kept":42,"cut":false,"hidden":false,"merged":[[0,0,1,0],[0,1,0,5]],"flags":["formulas_cached_only"]}
["UNIT:","Points Breakdown:"]
[null,null,"YOUR SCORE","Minimum Required Points","Maximum Points Possible","% of total weight"]
[null,"Participation & Attendance",0,14,26,20]
[null,null,0,14,26]
[null,"Data Representation",0,22,38,5]
[1,"Number Systems",0,8,14]
["a","Fixed- and floating-point systems; ",0,4,6]
["b","Signed and twos-complement representations; ",0,4,8]
["c","Representation of nonnumeric data (character codes, graphical data); ",0,6,10]
["d","Basic Hardware Function",0,21,36,5]
[2,"Computer Anatomy",0,7,12]
["a","Von Neumann Machine",0,7,12]
["b","Low Level Languages",0,7,12]
["c","Language Translation & Execution",0,27,47,7]
[3,"Language Translation",0,6,10]
["a","Virtual Machines",0,6,10]
["b","Structural Decomposition",0,15,27]
["c","Algorithms",0,38,62,10]
[4,"*** Problem Solving",0,10,16]
["a","Algorithm Development And Analysis",0,14,23]
["b","Software Design",0,14,23]
["c","Programming Concepts",0,72,120,20]
[5,"Data Types",0,10,16]
["a","Input/Output",0,12,20]
["b","Arrays",0,12,20]
["c","Flow of Control ",0,12,20]
["d","Sub-Programs",0,14,24]
["e","*** Documentation",0,12,20]
[null,"Object-oriented Design",0,64,108,15]
[6,"Basic Object Design",0,10,16]
["a","Objects",0,25,40]
["b","Inheritance",0,15,28]
["c","Exceptions",0,14,24]
[null,"Recursion",0,14,24,4]
[7,null,0,14,24]
[null,"Event-Driven Programming",0,14,24,4]
[8,"Event-Driven Programming",0,14,24]
["a"]
[null,"Program Testing ***",0,26,44,10]
[9,"Testing",0,12,20]
["a","Debugging",0,14,24]
["b","*** Note additional requirements."]

{"sheet":"Participation & Attendance","index":3,"n_rows":17,"n_cols":8,"rows_kept":17,"cut":false,"hidden":false,"merged":[[0,0,0,7],[3,0,4,0],[3,4,3,6],[8,4,8,7]],"flags":["formulas_cached_only"]}
["Section 0: Participation & Attendance"]
[null,"Column:",null,null,"D","C","B","A"]
["Row:","Participation & Attendance:","Your Score","attendance record","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points:",{"$nulls":5},"Total Points:"]
[null,14,0,null,null,12,null,26]
[1,"Attendance (24L; 12B; 12T = 48)"]
["a","\"lectures\"",null,0," < half"," often"," most","n.a."]
["b","\"labs\"",null,0," <half"," often"," most","n.a."]
[2,"In-Class Participation",null,null,"Must exceed requirements in at least one row."]
["a","actively contributes to discussion (including non-verbal communication and other contributions: obvious attention)",null,null," none -OR- monopolizes most discussions"," Has made at least one positive contribution."," adds new insights or alternating points of view","n.a."]
["b","contributes artifacts (show-and-tell; www links; etc.)  -OR- other form of contributions - helping other class-mates",null,null," never","  once","varied contributions add to the community and learning efforts of the classroom","n.a."]
[3,"Group Work"]
["a","communicates effectively with other group members",null,null," never","  once","contributions are valuable","n.a."]
["b","contributes to solution",null,null," never","  once","is a significant and valuable group member","n.a."]
[4,"Critical Incident Questionnaire"]
["a","submissions",null,null," never","  occasionally"," regularly","all but one or two"]
["b","meta-analysis",null,null," makes no sense","  superficial"," relatively thorough","thoughtful"]

{"sheet":"Data Representation","index":4,"n_rows":31,"n_cols":7,"rows_kept":31,"cut":false,"hidden":false,"merged":[[19,3,19,5],[26,0,27,0],[26,3,26,5],[0,0,0,6],[3,0,4,0],[3,3,3,5],[12,0,13,0],[12,3,12,5]],"flags":["formulas_cached_only"]}
["Section 1: Data Representation"]
[null,"Column:",null,"D","C","B","A"]
["Row:","Number Systems:","YOUR SCORE","Attempt ","Meets Requirements ","Exceeds Requirements ","Exemplary "]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total Points"]
[null,8,0,null,null,null,14]
[1,"Bits, bytes, and words: able to describe units.",null," Can define some."," Can define each in terms of the other.","-","-"]
[2,"Show / tell / demonstrate conversion of specific numbers from base X to base Y.",null," Base 2 ó Base 10"," Base 2, 8"," Base 2, 8, 16"," Any arbitrary base other than 2,8,16,10"]
[3,"Count in an arbitrary base.",null," Any one base (other than 10)"," Base 2, 8"," Base 2, 8, 16"," Any arbitrary base other than 2"]
[4,"Perform simple arithmetic in an arbitrary base.",null," Any one base (other than 10)"," Base 2, 8"," Base 2, 8, 16"," Any arbitrary base other than 2"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Fixed- and floating-point systems:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total Points"]
[null,4,0,null,null,null,6]
[1,"Convert to and from base 10 to some other base.",null," Convert to OR from."," Convert to AND from."," Convert to OR from Base 2,8,16,10."," Convert to OR from any arbitrary base (other than 2,8,10,16)."]
[2,"Explain how floating-point representations are limited.",null," Explain"," Explain with examples.","-","-"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Signed and Twos-complement representations:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",{"$nulls":4},"Total Points"]
[null,4,0,null,null,null,8]
[1,"Convert negative numbers (decimal – binary) to 2’s compliment.",null,"  Able to convert some."," Able to convert all but endpoints."," Able to convert all including endpoints."," Able to complement other bases (besides 2 & 10)"]
[2,"Explain overflow & underflow.",null," Close or able to explain one."," Able to explain both."," Able to describe circumstances when over/underflow are crucial and irrelevant."," Able to demonstrate with examples."]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Representation of nonnumeric data (character codes, graphical data):","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total Points"]
[null,6,0,null,null,null,10]
[1,"ASCII: Recognize the correspondence between and significance of the ASCII character set and the related integer codes. ",null," Show numeric equivalent of chars."," Convert between ASCII and integers; perform sorting."," Show upper-lower case conversion; ASCII to integer (atoi)."," Any arbitrary base other than 2,8,16,10"]
[2,"ISO Standard Character Set: Recognize the similarities and differences between the ISO Standard Character set and ASCII, and the implications for programming and data representation and manipulation.",null," Explain how ASCII differs structurally from ISO."," Explain implications.","-","-"]
[3,"Raster Data: Describe the characteristics of raster data. Be able to work with raster data in a program.",null," Define."," Describe various forms of pixels."," Explain window addressing."," Create  & manipulate simple graphical displays."]

{"sheet":"Basic Hardware Function","index":5,"n_rows":22,"n_cols":7,"rows_kept":22,"cut":false,"hidden":false,"merged":[[0,0,0,6],[3,3,3,5],[10,3,10,5],[17,3,17,5]],"flags":["formulas_cached_only"]}
["Section 2: Basic Hardware Function"]
[null,"Column:",null,"D","C","B","A"]
["Row:","Computer Anatomy:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must meet requirements in at least two areas.",null,null,"Total Points"]
[null,7,0,null,null,null,12]
[1,"Basic Anatomy: Identify the main parts of a computer’s ‘mother board’, and state each part’s purpose.",null," 1 or 2"," With prompting, can identify most (7/10) main parts."," Given a picture, can identify major parts and state their purpose."," Can draw own picture and identify major parts and state their purpose."]
[2,"Memory Hierarchy: Name the various levels of memory hierarchy; describe their roles; justify their placement, size, and amount relative to the rest.",null," 1 or 2"," Distinguish between RAM, ROM; define cache."," ‘C’ + distinguish between 2 levels of cache."," Name the various levels of memory hierarchy; describe their roles; justify their placement, size, and amount relative to the rest."]
[3,"Secondary Storage: Identify the main categories of secondary storage; state their primary purpose, main advantages and disadvantages.",null," 1 or 2"," Most, in general terms."," Most in some detail."," All in some detail."]
[null,"Column:",null,"D","C","B","A"]
["Row:","Von Neumann Machine:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must meet requirements in at least two areas.",null,null,"Total Points"]
[null,7,0,null,null,null,12]
[1,"Describe the Von Neumann Machine ",null," Describe, with prompting."," Describe, without prompting."," Relate the Von Neumann machine to machines of today."," Postulate how this model helps and hinders hardware design and development."]
[2,"Who was John Von Neumann, and describe his contribution to Computer Science.",null," Give vital statistics."," Why do we remember Von Neumann?"," What major developments pre-dated this that helped him?"," Place Von Neumann’s life in context – who else was around doing stuff at the same time?"]
[3,"The F/E Cycle: Describe what happens to instructions and data at each stage of the F/E cycle: fetch, decode, and execution",null," Given an image of memory & the CPU, trace the path of a generic instruction."," Given an image of memory & the CPU, trace the path of some common instructions."," Draw an image of memory & the CPU; trace the path of most common instructions."," Draw an image of memory & the CPU; trace the path of most instructions."]
[null,"Column:",null,"D","C","B","A"]
["Row:","Low Level Languages:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must meet requirements in at least two areas.",null,null,"Total"]
[null,7,0,null,null,null,12]
[1,"Assemblers: Describe what they are, the role they play in programming, how they relate to high level languages, when/why they are useful.",null," Definition"," Definition in the context of high level languages."," Describe what they are, the role they play in programming, how they relate to high level languages."," Given several common programming constructs (loop; conditional) describe the low level operations that might facilitate these."]
[2,"Machine Language: Define. Relate to high-level languages; and the machines they run on.",null,"N/a "," Define. "," Define. Relate to high-level languages."," Define. Relate to high-level languages; and the machines they run on."]
[3,"Explain why 100MHz machine can't do 100MIPS. Explain the relationship of clock cycles to execution of machine instructions.",null,"Can define the terms."," Knows what this relates to."," Describe the relationship of machine cycles to instructions."," Describe the relationship of machine cycles to instructions, as well as other factors."]

{"sheet":"Language Trans. & Exec.","index":6,"n_rows":31,"n_cols":7,"rows_kept":31,"cut":false,"hidden":false,"merged":[[0,0,0,6],[3,3,3,5],[12,3,12,5],[21,3,21,5]],"flags":["formulas_cached_only"]}
["Section 3: Language Translation & Execution"]
[null,"Column:",null,"D","C","B","A"]
["Row:","Language Translation:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must meet requirements in at least two areas.",null,null,"Total"]
[null,6,0,null,null,null,10]
[1,"Program Translation: Describe the stages w.r.t. Pre-processor, Compiler, Linker, Loader",null," Define 2/4 terms."," Define all."," Define with simple example.","n.a."]
[2,"Comparison of interpreters and compilers.",null," Describe one."," Describe both."," List some implications of each."," Compare and contrast."]
[3,"Describe Language translation phases (lexical analysis, parsing, code generation, optimization); ",null," Define 2/4 terms."," Define all."," Define with simple example."," Describe the process w.r.t. real language."]
[4,"Identify Machine-dependent and machine-independent aspects of translation",null," Define."," Identify some."," Identify most.","n.a."]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Virtual Machines:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must meet requirements in at least two areas.",null,null,"Total"]
[null,6,0,null,null,null,10]
[1,"Define the concept of a virtual machine.",null,"  Rote"," Brief definition."," Complete definition."," Discuss the advantages and trade-offs."]
[2,"Outline the hierarchy of virtual machines.",null,"  Rote"," Mostly."," Outline the hierarchy of virtual machines.","n.a."]
[3,"Describe the role of Intermediate languages.",null,"  Rote"," Describe the role of Intermediate languages."," Describe the role of Intermediate languages."," Describe the role of Intermediate languages."]
[4,"Discuss security issues arising from running code on an alien machine.",null,"  Explain what the statement means."," Describe the general issue of security w.r.t. running on an alien machine."," Discuss security issues arising from running code on an alien machine.","n.a."]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Structural Decomposition:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least two areas.",null,null,"Total"]
[null,15,0,null,null,null,27]
[1,"Procedures, functions, activation records, and the run-time environment. .",null," good start, still some major misconceptions"," Describe, conceptually, what happens when a program runs"," can demonstrate process with activation records"," can explain how this fits in with recursion; memory allocation, etc."]
[2,"Follow the execution of a program.",null,"  simple programs"," Follow the execution of a program (predict output, etc.)"," moderately complex programs (with sub-programs; multiple classes)","n.a."]
[3,"Parameterization mechanisms (reference vs. value): ",null,"  define the term"," Describe, in general terms how pass-by-value works."," clear understanding of how identifier names are related to parameters","n.a."]
[4,"Parameterization mechanisms (reference vs. value): ",null,"  define the term","Describe, in general terms how pass-by-reference works."," able to follow the effect of changes through several levels of indirection","n.a."]
[5,"Discuss storage management at run-time (static vs. automatic. vs. dynamically allocated).",null,"  can define terms"," simplistic explanation"," has fairly thorough understanding of the differences"," can use this understanding to articulate when each might be appropriate (and inappropriate)"]
[6,"How are records and arrays represented in memory?",null,"  overly simplistic explanation"," 1-D & 2-D arrays"," can incorporate simple dynamically allocated entities"," can incorporate dynamically allocated entities; discuss implications w.r.t. copying, I/O"]
[7,"What happens during dynamic allocation?",null,"  simplistic explanation"," reasonably accurate explanation"," distinguish between heap & RTS; can show (visually or otherwise) how it works.","n.a."]
[8,"What is Garbage collection, and how does it work?",null,"  Define."," rough explanation","able to identify some of the issues involved","n.a."]

{"sheet":"Algorithms","index":7,"n_rows":33,"n_cols":7,"rows_kept":33,"cut":false,"hidden":false,"merged":[[25,3,25,5],[0,0,0,6],[3,1,3,6],[4,3,4,5],[13,3,13,5]],"flags":["formulas_cached_only"]}
["Section 4: Algorithms"]
[null,"Column:",null,"D","C","B","A"]
["Row:","Problem Solving:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"***NOTE***: must meet minimum requirements in at least TWO of the programs submitted."]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,10,0,null,null,null,16]
[1,"Accurately Identifies Constraints or Obstacles",null,null," 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.",null,null," 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.",null,null," 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.",null,null," 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."]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Algorithm Development & Analysis:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least two areas.",null,null,"Total"]
[null,14,0,null,null,null,23]
[1,"Define Algorithm ",null,"  rote definitions"," define in own words"," can write them in clear, straight-forward manner","N/a ---"]
[2,"Distinguish between “abstraction” and “Implementation”",null,"n/a ---"," rote definitions"," with example(s)","N/a ---"]
[3,"Distinguish between “Algorithm” and “Software” Design",null,"  rote definitions"," define in own words","[4-5] with example(s)","n.a."]
[4,"Analyse a simple algorithm for complexity.",null,"  ---"," superficial"," relatively complete","can point out effects of some changes"]
[5,"Explain “Big-Oh” notation.",null,"  rote definitions"," define in own words","N/a ---","N/a ---"]
[6,"Analyse a simple algorithm for efficiency.",null,"  ---"," 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.",null,"  ---"," using fairly pathological examples"," Able to detect some subtleties"," missed very little"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Software Design:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least two areas.",null,null,"Total"]
[null,14,0,null,null,null,23]
[1,"Describe the Design Process as it applies to software.",null,"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.",null,"  ---"," General Idea"," Can explain implications of some criteria."," Can explain implications of many criteria."]
[3,"List the elements of a typical software life cycle.",null,"  ---"," List"," List & explain."," ---"]
[4,"Name and describe three distinct Software Design Models.",null,"  ---"," 2/3"," 3/3"," Can state some appropriate examples & counter examples."]
[5,"Distinguish between Systematic & Formal Design Methods.",null,"  ---"," Simple Definitions."," Thorough."," With applications & counter examples."]
[6,"Discuss aspects of qualitative assessment of Software Designs.",null,"  ---"," List desirable qualities."," Can state some appropriate examples & counter examples."," Can justify some appropriate examples & counter examples."]

{"sheet":"Programming Concepts","index":8,"n_rows":61,"n_cols":7,"rows_kept":61,"cut":false,"hidden":false,"merged":[[0,0,0,6],[3,3,3,5],[12,0,13,0],[12,3,12,5],[54,3,54,5],[22,3,22,5],[32,3,32,5],[42,3,42,5],[53,1,53,6]],"flags":["formulas_cached_only"]}
["Section 5: Programming Concepts"]
[null,"Column:",null,"D","C","B","A"]
["Row:","Data Types:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,10,0,null,null,null,16]
[1,"Data types – Be able to use the fundamental primitive types in programs appropriately. ",null,"  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.",null,"  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.",null,"  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.",null,"  rote definitions"," define in own words"," define with examples"," able to create &/or find own examples"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Input/Output:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,12,0,null,null,null,20]
[1,"Input/Output: Be able to read and write the standard primitive types; including basic formatting.",null,"  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.",null,"  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.",null,"  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.",null,"  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",null,"  rote definitions"," define in own words"," define with examples"," able to create &/or find own examples"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Arrays:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,12,0,null,null,null,20]
[1,"Comprehend arrays as a fundamental data structure: to understand how it relates to and differs from primitive types and other structures.",null,"  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.",null,"  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.",null,"  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.",null,"  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.",null,"  didn't get it to run"," made simple application work"," more sophisticated use"," able to use as effective tool"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Flow of Control:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,12,0,null,null,null,20]
[1,"How does the basic structure control flow?",null,"  didn't get it to run"," made simple application work"," more sophisticated use"," able to use as effective tool"]
[2,"Decision making constructs: IF",null,"  didn't get it to run"," made simple application work"," more sophisticated use"," able to use as effective tool"]
[3,"Decision making constructs: SWITCH",null,"  didn't get it to run"," made simple application work"," more sophisticated use"," able to use as effective tool"]
[4,"Looping constructs: FOR",null,"  didn't get it to run"," made simple application work"," more sophisticated use"," able to use as effective tool"]
[5,"Looping constructs: WHILE",null,"  didn't get it to run"," made simple application work"," more sophisticated use"," able to use as effective tool"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Sub-Programs:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,14,0,null,null,null,24]
[1,"Define: Sub-program.",null,"  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.",null,"  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.",null,"  rarely"," sometimes"," often"," always or almost always"]
[4,"Parameter passing mechanisms: pass-by-value; pass-by-reference; pass-reference-by-value.",null,"  rote definitions"," define in own words"," define with examples"," able to create &/or find own examples"]
[5,"Scope: what is it; implications for programming.",null,"  rote definitions"," define in own words"," define with examples"," able to create &/or find own examples"]
[null,"Distinguish between “lifetime” and “scope”",null,"  rote definitions"," define in own words"," define with examples"," able to create &/or find own examples"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Documentation:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"***NOTE***: must meet minimum requirements in at least HALF of all programs submitted."]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,12,0,null,null,null,20]
[1,"Overall Impression",null," Misleading; confusing; too much or too little"," A few missing, redundant, or irrelevant parts",null," Accurate; reasonable; easy to read;"]
[2,"Identifier Names",null," Meaningless or misleading names"," Some poor choices. Most identifiers explained where appropriate.",null," Meaningful identifier names [some single letter names are OK, such as i,j for indices]. Explanations of identifiers where appropriate."]
[3,"Indentation; White Space",null," Misleading indentation; too much or too little white space"," Some inconsistencies; some inadequate or wasted space",null," Consistent indentation; good use of white space"]
[4,"External Documentation",null," 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).",null," 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",null," Few or no logical blocks documented"," Most logical blocks documented",null," Documentation for each function and loop and logical block"]

{"sheet":"Object-Oriented Design","index":9,"n_rows":47,"n_cols":7,"rows_kept":47,"cut":false,"hidden":false,"merged":[[27,3,27,5],[39,3,39,5],[0,0,0,6],[3,0,4,0],[3,3,3,5],[12,3,12,5]],"flags":["formulas_cached_only"]}
["Section 6: Object-Oriented Design"]
[null,"Column:",null,"D","C","B","A"]
["Row:","Basic Object Design:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,10,0,null,null,null,16]
[1,"Explain encapsulation and information-hiding. ",null,"  rote definitions"," define in own words"," simple demonstration of use"," can explain as well as distinguish or demonstrate with code"]
[2,"Separation of behaviour and implementation. [distinguish between]",null,"  rote definitions"," define in own words"," explain with examples"," can explain as well as distinguish or demonstrate with code"]
[3,"What is a class?",null,"  rote definitions"," define in own words"," simple demonstration of use"," can explain as well as distinguish or demonstrate with code"]
[4,"Similarities and differences between classes & structures.",null,"  rote definitions"," define in own words"," explain with examples"," can explain as well as distinguish or demonstrate with code"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Objects:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least three areas.",null,null,"Total"]
[null,25,0,null,null,null,40]
[1,"Object Design [demonstrate]",null,"  can talk about it"," effective design for relatively clear-cut problems"," reasonable design for more complex problems"," shows clear understanding of some subtleties - able to justify decisions"]
[2,"Aggregation [show]",null," define term"," simple relationships"," effective use"," shows sophisticated understanding"]
[3,"Classes and subclasses [use]",null," define term"," effective use of pre-defined  classes"," able to define and create simple  classes"," able to define and create relatively sophisticated classes"]
[4,"Use of Pre-defined classes ",null," define term"," simple relationships"," competent use"," fairly sophisticated"]
[5,"Constructors [explain; use]",null,"  can define"," effective use of pre-defined constructors"," can create reasonable"," relatively sophisticated"]
[6,"Deep vs. Shallow copies [explain]",null,"  rote definitions"," define in own words"," simple demonstration of use"," effective, well-integrated demonstration of use"]
[7,"Copying vs. creation [explain, with examples]",null,"  rote definitions"," define in own words; can use pre-defined"," simple demonstration of use"," effective, well-integrated demonstration of use"]
[8,"Overloading [explain; show]",null,"  rote definitions"," define in own words; can use pre-defined"," simple demonstration of use"," effective, well-integrated demonstration of use"]
[9,"Object vs. Class entities [distinguish]",null,"  rote definitions"," define in own words; can use pre-defined"," simple demonstration of use"," effective, well-integrated demonstration of use"]
[10,"Collection classes and iteration protocols [describe; use]",null,"  rote definitions"," define in own words; can use in simple contexts"," simple demonstration of use"," effective, well-integrated demonstration of use"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Inheritance & Polymorphism:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least three areas.",null,null,"Total"]
[null,15,0,null,null,null,28]
[1,"Classes and subclasses [describe; use]",null,"  define"," use in a relatively simple example"," use in a moderately complex example"," consistent, effective use"]
[2,"Inheritance : use",null,"  ---"," effective use of pre-defined derived classes"," able to define and create simple inherited classes"," consistent, effective use"]
[3,"Inheritance : creation",null,"n/a"," can define own simple inheritance relationship"," reasonable sophistication"," consistent, effective use"]
[4,"Class hierarchies [explain; demonstrate]",null,"  define"," use in a relatively simple example"," use in a moderately complex example"," consistent, effective use"]
[5,"Overriding [explain; show]",null,"  define"," use in a relatively simple example"," use in a moderately complex example"," consistent, effective use"]
[6,"Polymorphism [explain; use]",null,"  define"," use in a relatively simple example"," use in a moderately complex example"," consistent, effective use"]
[7,"Abstract classes [define; use]",null,"  define"," use in a relatively simple example"," use in a moderately complex example"," consistent, effective use"]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Exceptions:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,14,0,null,null,null,24]
[1,"Understand the concept of Exceptions",null," Attempt at definition – some parts right."," Describe how they are used."," Describe how & when they are used."," Describe circumstances when exceptions are appropriate and when they are not."]
[2,"Familiarity with Exception syntax",null," Able to follow simple ones in existing code."," Describe necessary constructs."," Describe necessary constructs in the correct order & context."," Able to detect subtle errors in code examples."]
[3,"Ability to follow exceptions used and defined in existing code.",null,"  Simple examples."," Ability to follow exceptions used and defined in existing code."," Ability to follow complex exceptions used and defined in existing code."," Ability to detect and correct errors in exceptions used and defined in existing code."]
[4,"Ability to use pre-defined exceptions.",null," Hand execution of valid code."," Can use pre-defined exceptions."," Recognize different classifications of exceptions."," Clear understanding of appropriate use of exceptions."]
[5,"Ability to define new exceptions.",null," Hand execution of valid code."," Can create simple exceptions."," Create exceptions that recover conditions."," Well-defined; justified."]
[6,"Functional understanding of Exception Propagation",null," Can follow valid code."," Can create simple exception handlers."," Can propagate one exception through multiple levels of code."," Can propagate multiple exceptions through multiple levels of code."]

{"sheet":"Recursion","index":10,"n_rows":11,"n_cols":7,"rows_kept":11,"cut":false,"hidden":false,"merged":[[0,0,0,6],[3,3,3,5]],"flags":["formulas_cached_only"]}
["Section 7: Recursion"]
[null,"Column:",null,"D","C","B","A"]
["Row:","Recursion:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,14,0,null,null,null,24]
[1,"The concept of recursion.",null,"  Close"," Define."," Define, with examples."," Able to discuss implications for execution."]
[2,"Recursive mathematical functions.",null,"  Can follow mathematical functions that are recursive."," Can follow in code."," Can write own when given algorithm."," Can create algorithm and implement."]
[3,"Simple recursive procedures.",null,"  Able to identify."," Can follow in code."," Can write own when given algorithm."," Can create algorithm and implement."]
[4,"Divide-and-conquer strategies.",null,"  Able to describe the term."," Able to implement, given algorithms."," Able to identify candidate problems."," Able to solve candidate problems."]
[5,"Recursive backtracking.",null,"  Able to identify."," Can explain."," Can write own when given algorithm."," Can create algorithm and implement."]
[6,"Implementation of recursion.",null," Almost."," Simple, working example."," Able to translate appropriate non-recursive solutions into recursive ones and vice-versa."," Can handle pre-, post-, and infix recursion."]

{"sheet":"Event-Driven Programming","index":11,"n_rows":11,"n_cols":7,"rows_kept":11,"cut":false,"hidden":false,"merged":[[0,0,0,6],[3,3,3,5]],"flags":["formulas_cached_only"]}
["Section 8: Event-Driven Programming"]
[null,"Column:",null,"D","C","B","A"]
["Row:","Event-Driven Programming:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points",null,"Must exceed requirements in at least one area.",null,null,"Total"]
[null,14,0,null,null,null,24]
[1,"Describe how Event-Driven Programs differ from Data-Driven programs.",null," Describe, in general terms."," Give an example of each."," Give several distinct examples where each approach would be appropriate."," Able to describe in general terms, the kinds of problems that are appropriate to each."]
[2,"Understand the Java Event Model",null," Sort-of."," Describe."," Describe with visual examples."," Implement."]
[3,"Implement event-handling methods.",null," Describe, generally."," One working example."," Two different examples. One coded."," > 1 different coded examples."]
[4,"Use of Event propagation ",null," Can follow valid code."," Can create simple event handlers."," Can propagate one event through multiple levels of code."," Can propagate multiple events through multiple levels of code."]
[5,"Asynchronous program events.",null,"  Able to define the terms."," Able to distinguish synchronous and asynchronous parts of a solution."," Able to design synchronous and asynchronous parts of a solution."," Able to identify inappropriate uses."]
[6,"Distinguish between an event and an exception.",null,"  Able to define the terms."," Able to distinguish between an event and an exception descriptively."," Able to recognize in code."," Able to recognize in code, even when used inappropriately."]

{"sheet":"Program Testing","index":12,"n_rows":22,"n_cols":7,"rows_kept":22,"cut":false,"hidden":false,"merged":[[0,0,0,6],[3,1,3,6],[4,3,4,5],[14,3,14,5]],"flags":["formulas_cached_only"]}
["Section 9: Program Testing"]
[null,"Column:",null,"D","C","B","A"]
["Row:","Program Testing:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"***NOTE***: must meet minimum requirements in at least HALF of all programs submitted."]
[null,"Minimum Points:",null,"Must exceed requirements in at least one area.",null,null,"Total Points:"]
[null,12,0,null,null,null,20]
[1,"Pre- & Post- conditions.",null," Occasionally defines pre- and post- conditions for methods and functions."," Consistently defines pre- and post- conditions for methods and functions."," Consistently defines pre- and post- conditions for methods and functions. Some use of assertions."," Consistently defines pre- and post- conditions for methods and functions. Some use of assertions. Pre- and Post-conditions well tested & enforced."]
[2,"End-point testing; ",null," Sporadic.",". Often"," Consistent"," Clear, well chosen."]
[3,"Use of test data.",null," Sporadic.",". Often"," Consistent"," Clear, well chosen."]
[4,"Test data creation & generation",null," Sporadic.",". Able to identify key test points. "," Able to identify key test points. Clear on what aspects of the solution are being tested with each set."," Able to identify key test points. Clear on what aspects of the solution are being tested with each set. Able to generate test data automatically when necessary."]
[5,"Test Drivers",null," Sporadic.",". Often"," Consistent"," Clear, well chosen."]
[]
[null,"Column:",null,"D","C","B","A"]
["Row:","Debugging:","YOUR SCORE","Attempt","Meets Requirements","Exceeds Requirements","Exemplary"]
[null,"Minimum Points:",null,"Must exceed requirements in at least one area.",null,null,"Total Points:"]
[null,14,0,null,null,null,24]
[1,"Distinguish the major categories of bugs. [syntax vs. semantics]",null," Occasionally"," Sometimes able to identify which kind of bug it is and able to take appropriate action to resolve it."," Usually"," Almost Always"]
[2,"Debugging Code: demonstrate at least 3 different types of bugs (e.g. Off-by-one; pointer; uninitialized) ; how to avoid them; how to find them when you didn't.",null,"n/a ---"," Show's novice ability - sometimes able to identify the bug based on the program's behaviour. Able to resolve the problem with help or prompting."," Show's intermediate level ability - often able to identify the bug based on the program's behaviour. Sometimes able to resolve the problem without help or prompting."," Consistently able to identify and resolve bugs. Able to articulate numerous strategies for avoiding these bugs."]
[3,"Assertions: what are they and how/when to use them.",null,"  Able to recite definition."," Able to discuss the concept; follow code that uses them."," Able to use them in own programs."," Able to use assertions effectively."]
[4,"Instrumentation: what is it; when is (not) useful?",null,"  Define the term."," Able to pick it out in code - explain its utility/purpose."," Uses it in own programs."," Able to use and discuss it's use critically."]
[5,"Error Messages: how to write useful ones.",null,"  Programs have some error messages."," Programs usually have reasonable error messages."," Programs consistently have reasonable error messages."," Programs usually have reasonable error messages. Programs able to recover reasonable when appropriate."]
[6,"Distinguish between a 'bug' and an exception.",null,"  Can describe the differences."," Occasional correct placement of error detection/correction code."," Reasonable placement of error detection/correction code."," Clearly and consistently demonstrates distinction between errors and exceptions."]