This is just from one of the previous semesters, made by the instructor who was teaching this course as well as the graders who did the grading work. We do not guarantee the rubric we use this semester will be 100% equivalent to this one, and you should just use this as a reference.

20 pts
 - README.txt Completed (2 pts)
   - One of name, collaborators, or hours not filled in (-1)
   - Two or more of name, collaborators, or hours not filled in (-2)
 - OVERALL CLASS DECLARATION & IMPLEMENTATION AND CODING STYLE (Good class design, split into a .h and .cpp file.  Functions > 1 line are in .cpp file.  Organized class implementation and reasonable comments throughout. Correct use of const/const& and of class method const. ) (5 pts)
   - No credit (significantly incomplete implementation) (-5)
   - No documentation for Matrix itself is provided (function documentation and section headings don't count). (-1)
   - Function bodies containing more than one statement are placed in the .h file. (-2)
   - Missing include guards in the .h file. (Or does not declare them correctly) (-1)
   - Functions are not well documented or are poorly commented, in either the .h or the .cpp file. (-1)
   - Improper uses or omissions of const and reference. (-1)
   - Overly cramped, excessive whitespace, or poor indentation. (-1)
   - Poor variable names. (-1)
   - Contains useless comments like commented-out code, terminal commands, or silly notes. (-1)
 - DATA REPRESENTATION (Does not use STL vector/list/etc. for the implementation.) (4 pts)
   - No credit (significantly incomplete implementation). (-4)
   - Uses STL data structures (lists, vectors, etc). (-4)
   - Member variables are public. (-2)
 - ORDER NOTATION (Readme contains correct analysis of order notation, including proper notation and use of provided variables.) (5 pts)
   - Does not use O() syntax. (-1)
   - get_column incorrect. (-0.5)
   - operator<< incorrect. (-0.5)
   - quarter incorrect. (-0.5)
   - operator== or operator!= incorrect:. (-0.5)
   - swap_rows incorrect. (-0.5)
   - rref incorrect. (-0.5)
   - did not write order notation part. (-5)
  - ADDITIONAL TEST CASES (A wide variety of additional student-written test cases.) (4 pts)
   - Does not test transpose. (-1)
   - Does not test multiply_by_coefficient. (-1)
   - Does not test get_col. (-1)
   - Does not test corner cases of some kind (rows or cols = 0, quartering with odd dimensions, etc). (-1)
   - No test cases, or else trivial/minimal ones that only test things covered in SimpleTests. (-4)
