Project Breakdown
Phase I, Parse Tree (9/24)
Completeness/Correctness 30
Build/Packaging 5
Source Code Readability 5
Phase I Total: 40
Core, Nonoptimizing Compiler (11/19)
Review I (10/15)
Progress (correctly outputs parse tree or AST) 5
Progress (correctly outputs type-annotated AST) 5
Build/Packaging 5
Source Code Readability 5
Review I Total: 20
Review II (10/29)
Progress (correctly outputs parse tree or AST) 5
Progress (correctly outputs type-annotated AST) 5
Progress (correctly outputs ILOC/CFG) 5
Build/Packaging 5
Source Code Readability 5
Review II Total: 25
Completeness/Correctness at Final Submission
Abstract Syntax Tree w/Types & Type Checking 40
ILOC in CFG nodes 45
Spim Assembly Code 50
Core Correctness and Completeness Total: 135
Build/Packaging at Final Submission 10
Source Code Readability at Final Submission 10
Core Total: 200
Extensions
Breakdown: TBD
Extensions Total: 200

Rubric (subject to change)
General Correctness and Completeness
100% no significant known flaws, passes all TA-tests, student testing is adqueate
90% minor flaws, but passes most TA-tests, student documentation and test cases show most flaws revealed by TA-tests
80% minor flaws, but passes most TA-tests
70% major flaws, but at least works for simple.tl09 (not hard-coded), documentation and test cases describe/show major flaws
60% major flaws, but at least works for simple.tl09 (not hard-coded)
40% fundamentally flawed, but shows substantial progress towards objectives
20% something submitted, but shows minimal progress toward objectives
0% nothing submitted
Build/Packaging
100% repository was prepared according to assignment directions; code in repository was buildable; evidence of adequate testing
80% satisfactory README file was present; code was buildable by TA/instructor with reasonable amount of effort; evidence of testing
40% satisfactory README file was present; if the code does not build, this is documented in the README
0% README is missing or there is an undocumented build failure
Source Code Readability
100% well organized; consistent use of white space and formatting; well-chosen variable names; judicious use of comments to show intent
80% well organized
20% difficult to find where the code that does something is
0% nothing submitted