100 "CS 367, Summer 2014 Programming Assignment 2" "P2" "gradeReport.html" 0 47 de "MessageLoopEditor class" "Deduct all points at this level if class missing" 1 24 dex1 "Does not compile due to major or many minor errors" 1 10 dex2 "Does not compile due to minor error(s), which we fixed (-2/error)" 1 3 degen1 "Format of output incorrect" "This covers the command prompt and non-message displays like 'no messages'. Take into consideration issues of spelling, capitalization, and spaces. Deduct 1 pt if command prompt is incorrect; deduct 1 pt if non-message displays like 'no messages' are incorrect in 3 or fewer locations; deduct 2 pts if non-message displays like 'no messages' are incorrect in 4 or more locations." 1 2 decla "Command-line arguments - Provided code modified and no longer works correctly" 1 3 deval "Validate input" "provided code does all necessary input validation - use this only if they changed the provided code and input is no longer correctly validated" 2 1 deval2 "Doesn't recognize invalid character command" "Use this for things like 'k' or '$', not for capitalization issue" 2 3 deval4 "Validation of extra info missing for one or more commands" "For the a, b, f, u, s, and l commands deduct if program doesn't recognize missing extra info as invalid. Deduct 1 pt per command up to a max of 3" 2 1 deval5 "Validation of j command incorrect" "For example, doesn't allow 0 or crashes if non-integer is given" 2 1 deval6 "Doesn't display 'invalid command'" 1 6 decc "Current context" 2 1 decc1 "Incorrect if only one item in message loop" 2 1 decc2 "Incorrect if two items in message loop" 2 2 decc3 "Incorrect if three or more items in message loop" 2 1 decc4 "Format of current context incorrect" "E.g., the way the current message is indicated is not correct, no indentation" 2 1 decc5 "To avoid duplicating code, code to display current context should be made into a method" 1 3 dea "Operation: a msg (add after)" 2 3 deax "Not implemented" 2 1 dea1 "Doesn't display current context" 2 2 dea2 "Incorrect" "Only deduct if incorrect LinkedLoop code is used, not for the underlying correctness of the LinkedLoop" 1 2 dei "Operation: b msg (add before)" 2 2 deix "Not implemented" 2 1 dei1 "Doesn't display current context" 2 1 dei2 "Incorrect" "Only deduct if incorrect LinkedLoop code is used, not for the underlying correctness of the LinkedLoop" 1 6 def "Operation: f string (find)" 2 6 defx "Not implemented" 2 1 def1 "Doesn't display 'no messages' if message loop is empty" 2 1 def2 "Doesn't display current context" 2 1 def3 "Doesn't display 'not found' if message is not found" 2 1 def4 "Doesn't start searching with message after the current message" "The current message should be the very last message checked" 2 1 def5 "Requires entire message to match given string (not just contain the given string)" 2 2 def6 "Incorrect" "Only deduct up to 2 pts if incorrect LinkedLoop code is used (for example, current doesn not changed correctly if message is found), not for the underlying correctness of the LinkedLoop" 1 4 dex "Operation: r (remove)" 2 4 dexx "Not implemented" 2 1 dex1 "Doesn't display 'no messages' if message loop is empty" 2 1 dex2 "Doesn't display current context" "Current context should be displayed only if message loop does not become empty as a result of removing" 2 1 dex3 "Doesn't make the message after the removed message the current message" 2 1 dex4 "Doesn't display 'no messages' if deleting results in an empty loop" 2 1 dex5 "Incorrect" "Only deduct if incorrect LinkedLoop code is used, not for the underlying correctness of the LinkedLoop" 1 3 der "Operation: u msg (update)" 2 3 derx "Not implemented" 2 1 der1 "Doesn't display 'no messages' if message loop is empty" 2 1 der2 "Doesn't display current context" 2 2 der3 "Incorrect" "Only deduct up to 2 pts if incorrect LinkedLoop code is used (for example, current gets changed as a result of this command), not for the underlying correctness of the LinkedLoop" 1 2 den "Operation: > (next)" 2 2 denx "Not implemented" 2 1 den1 "Doesn't display 'no messages' if message loop is empty" 2 1 den2 "Doesn't display current context" 2 1 den3 "Incorrect" "Only deduct if incorrect LinkedLoop code is used, not for the underlying correctness of the LinkedLoop" 1 2 dep "Operation: < (previous)" 2 2 depx "Not implemented" 2 1 dep1 "Doesn't display 'no messages' if message loop is empty" 2 1 dep2 "Doesn't display current context" 2 1 dep3 "Incorrect" "Only deduct if incorrect LinkedLoop code is used, not for the underlying correctness of the LinkedLoop" 1 4 dej "Operation: j N (jump)" 2 4 dejx "Not implemented" 2 1 dej1 "Doesn't display 'no messages' if message loop is empty" 2 1 dej2 "Doesn't display current context at all" 2 1 dej3 "Doesn't display current context when 'j 0' is done" 2 1 dej4 "Doesn't jump forward correctly" "Only deduct if incorrect LinkedLoop code is used, not for the underlying correctness of the LinkedLoop" 2 1 dej5 "Doesn't jump backward correctly" "Only deduct if incorrect LinkedLoop code is used, not for the underlying correctness of the LinkedLoop" 1 2 ded "Operation: d (display) - Provided code modified and no longer works correctly" 1 2 des "Operation: s filename (save) - Provided code modified and no longer works correctly" 1 2 del "Operation: l filename (load) - Provided code modified and no longer works correctly" 1 1 deq "Operation: q (quit) - Provided code modified and no longer works correctly" 0 28 ml "LinkedLoop class" "Deduct all points at this level if class missing" 1 14 mlx1 "Does not compile due to major or many minor errors" 1 6 mlx2 "Does not compile due to minor error(s), which we fixed (-2/error)" 1 2 mlinter "Doesn't implement Loop interface" 1 4 mlgen "General" 2 2 mlgen1 "Public method(s) added to LinkedLoop class" "Deduct if they end up using this method in their MessageloopEditor class" 2 1 mlgen2 "Local variables made into data members" "For example, have an Iterator data member or DblListnode data member that is just a temporary variable" 2 1 mlgen3 "Not generic" "E.g., specialized to contain just String" 1 1 mlctor "Constructor missing/incorrect" 1 4 mlgetC "getCurrent" 2 4 mlgetCx "Not implemented" 2 1 mlgetC1 "Doesn't throw EmptyLoopException if loop is empty" 2 2 mlgetC2 "Returns the list node instead of the list node's data" 2 1 mlgetC3 "Incorrect" "use for errors not given above" 1 3 mladdB "insert" 2 3 mladdBx "Not implemented" 2 2 mladdB1 "Item added incorrectly" "For example, the pointers get messed up or the item is added after the current item; don't deduct here if only the current pointer is incorrect (deduct below)" 2 1 mladdB2 "New item did not become the current item" 1 5 mlremC "removeCurrent" 2 5 mlremCx "Not implemented" 2 1 mlremC1 "Doesn't throw EmptyLoopException if loop is empty" 2 2 mlremC2 "Item removed incorrectly" "For example, the pointers get messed up; don't deduct here if only the current pointer is incorrect (deduct below)" 2 1 mlremC3 "Item after removed item did not become the current item" 2 1 mlremC4 "Returns list node instead of list node's data" 1 2 mlnext "backward" 2 2 mlnextx "Not implemented" 2 1 mlnext1 "Doesn't throw EmptyLoopException if loop is empty" 2 1 mlnext2 "Incorrect" 1 2 mlprev "forward" 2 2 mlprevx "Not implemented" 2 1 mlprev1 "Doesn't throw EmptyLoopException if loop is empty" 2 1 mlprev2 "Incorrect" 1 3 mlsize "size" 2 1 mlsize1 "size method not implemented or incorrect" 2 2 mlsize2 "Size not correctly updated when items are added/removed" "Deduct 1 pt if not updated correctly in removeCurrent; deduct deduct 1 pt if not updated correctly in insert" 1 1 mlempty "isEmpty missing/incorrect" 1 1 mliter "iterator missing / incorrect" 0 3 ele "EmptyLoopException class" 1 3 elex "Not submitted / doesn't compile" 1 1 ele1 "Not an unchecked exception" "Must extend RuntimeException (or some subclass of RuntimeException)" 1 2 ele2 "Incorrect" "Use this for errors that do not fall under the previous category. Note: body of class can be { }" 0 12 mli "LinkedLoopIterator class" 1 12 mlix "Not submitted / doesn't complile" 1 2 mligen "Doesn't implement Iterator interface" 1 2 mlictor "Constructor" "OK if public" 2 2 mlictorx "Not implemented" 2 1 mlictori "Incorrect" 1 3 mlihasN "hasNext" 2 3 mlihasNx "Not implemented" 2 2 mlihasN1 "Doesn't correctly identify when beginning of list is reached" "-2 if it never correctly identifies beginning, -1 if it sometimes doesn't correctly identify beginning" 1 3 mlinext "next" 2 3 mlinextx "Not implemented" 2 1 mlinext1 "Doesn't throw NoSuchElementException if there are no more elements" 2 2 mlinext2 "Returns a list node instead of the list node's data" 1 2 mlirem "remove" 2 2 mliremx "Missing" 2 1 mlirem1 "Doesn't throw UnsupportedOperationException" 0 10 style_doc "Style and Documentation" "see grading notes for comments to add" 1 10 docx "No documentation" 1 3 file1 "File name not the same as the class name (-1 per file)" 1 3 file2 "File name is incorrect (-1 per file)" 1 1 style1 "Bad Style: line up braces" 1 1 style2 "Bad Style: use vertical whitespace" 1 1 style3 "Bad Style: use horizontal whitespace" 1 1 style4 "Bad Style: indent to show level of nesting" 1 1 style5 "Bad Style: lines must not exceed 80 columns" "Don't deduct if 5 or fewer lines exceed 80 columns; in that case add the comment 'Warning: some lines are longer than 80 characters'" 1 1 style6 "Bad Style: follow naming conventions" 1 1 style7 "Bad Style: use descriptive names" 1 2 style8 "Bad Style: data members should be private" 1 1 comment1 "Bad Commenting: each file requires a header comment" 1 1 comment2 "Bad Commenting: each class/method requires javadoc-style comments" 1 1 comment3 "Bad Commenting: use comments in method bodies"