120 "CS 367, Summer 2014 Programming Assignment 3" "P3" "gradeReport.html" 0 25 wcg "WordCloudGenerator class" "Grade only the code in the WordCloudGenerator class - if something is incorrect because, for example, because the KeyWord class is incorrect, deduct from the KeyWord class." 1 25 wcgx0 "Not submitted" 1 12 wcgx1 "Does not compile due to major or many minor errors" 1 6 wcgx2 "Does not compile due to minor error(s), which we fixed (-2/error)" 1 4 wcgmod1 "parseLine method modified" "deduct if parseLine is modified and their results are incorrect because of it" 1 4 wcgmod2 "generateHtml method modified" "deduct if generateHtml is modified and their results are incorrect because of it" 1 8 wcgcla "Command-line arguments" 2 1 wcgclan "Doesn't check for the correct number of arguments" "E.g., doesn't give error message if there are too few or too many command-line arguments" 2 2 wcgclat "Doesn't correctly set up file input" "deduct up to -2; e.g., file name hard-coded" 2 2 wcgclao "Doesn't correctly set up file output" "deduct up to -2; e.g., file name hard-coded" 2 2 wcgclai "Doesn't correctly set up ignore file input" "deduct up to -2; e.g., file name hard-coded" 2 2 wcgclam "Doesn't correctly read in the max number of words to include in word cloud" "e.g., hard-coded, doesn't check if its a positive integer" 2 4 wcgclau "Incorrect" "Deduct up to -4 for errors not specified above" 1 6 wcgpi "Process input file" 2 2 wcgpi1 "Doesn't correctly exclude words to ignore" 2 2 wcgpi2 "Doesn't correctly increment occurrences of words already in dictionary" 2 2 wcgpi3 "Doesn't correctly increment occurrences of word when it is first added to the dictionary" 2 2 wcgpi4 "Adds duplicate words to key word dictionary" 2 4 wcgpi5 "Incorrect" "Deduct up to -4 for errors not specified above" 1 3 wcginfo "Print information" 2 1 wcginfo1 "Doesn't print # of keys" "grade code, not correctness of output" 2 1 wcginfo2 "Doesn't calculate and print average path length" "grade code, node correctness of output" 2 1 wcinfo3 "Doesn't calculate and print linear avg path length" 1 6 wcgwc "Generate word cloud" 2 2 wcgwc1 "Doesn't insert all the key words into the priority queue" 2 2 wcgwc2 "Word cloud list does not contain all the words if max number of words is more than number of words in dictionary of key words" 2 2 wcgwc3 "Word cloud list does not contain the correct number of words if max words is less than the number of words in dictionary of key words" 2 2 wcgwc4 "Html page not generated correctly" "e.g., call to generateHtml is incorrect" 2 4 wcgwc5 "Incorrect" "Deduct up to -4 for errors not specified above" 0 35 bst "BSTDictionary class" "Note: methods are not required to be recursive" 1 35 bstx0 "Not submitted" 1 17 bstx1 "Does not compile due to major or many minor errors" 1 8 bstx2 "Does not compile due to minor error(s), which we fixed (-2/error)" 1 2 bstinter1 "Doesn't implement DictionaryADT interface" 1 2 bstinter2 "Not generic" 1 5 bstgen "General" 2 4 bstgen1 "Public method(s) and/or constructor(s) added to BSTDictionary class" "For each added method/constructor: if they end up using it in their WordCloudGenerator class, deduct 2 points (per added item); if they don't end up using it in their WordCloudGenerator class, deduct 1 point (per added item)" 2 1 bstgen2 "Local variables made into data members" "For example, have an Iterator data member or BSTnode data member that is just a temporary variable" 1 1 bstctor "No-argument constructor missing/incorrect" 1 4 bstdel "delete" 2 4 bstdelx "Not implemented" 2 1 bstdel1 "Doesn't return true if the deletion is successful in one or more cases" 2 1 bstdel2 "Doesn't return false if the key is not in the Dictionary" 2 2 bstdel3 "Modifies the tree if the key is not in the Dictionary" 2 2 bstdel4 "Doesn't correctly remove a key that is in the Dictionary" 2 1 bstdel5 "Worst-case complexity is not O(height of BST)" "If they use the algorithm from the on-line readings, their complexity will be correct" 1 4 bstins "insert" 2 4 bstinsx "Not implemented" 2 1 bstins1 "Doesn't throw DuplicateKeyException if key is already in the Dictionary" 2 2 bstins2 "Incorrect" "Deduct -2 if it doesn't correctly add a key that is not a duplicate" 2 1 bstins3 "Worst-case complexity is not O(height of BST)" "If they use the algorithm from the on-line readings, their complexity will be correct" 1 1 bstisE "isEmpty missing/incorrect" 1 2 bstiter "iterator" 2 2 bstiterx "Not implemented" 2 2 bstiter1 "Incorrect" "Deduct up to -2" 1 4 bstlook "lookup" 2 4 bstlookx "Not implemented" 2 2 bstlook1 "Returns the key passed to the method, not the key in the Dictionary" 2 1 bstlook2 "Doesn't return null if the key is not in the Dictionary" 2 2 bstlook3 "Incorrect" "Deduct -2 if it doesn't correctly look for the key" 2 1 bstlook4 "Worst-case complexity is not O(height of BST)" "If they use the algorithm from the on-line readings, their complexity will be correct" 1 3 bstsize "size" 2 3 bstsizex "Not implemented" 2 1 bstsizei "Insert does not result in a correctly updated size" 2 1 bstsized "Delete does not result in a correctly updated size" 2 1 bstsizeo "Incorrect" "Use for other errors" 1 7 maptotp "totalPathLength" 2 7 maptotpx "Not implemented" 2 2 maptotp1 "Not recursive" 2 1 maptotp2 "Doesn't return 0 if the Dictionary is empty" 2 5 maptotp3 "Incorrectly calculates total path length" "You'll need to look at code in this situation; grade items correspond to the recursive definition given in the program write-up" 3 1 maptotp3l "Doesn't handle leaf nodes correctly" 3 3 maptotp3r "Missing recursive call" 3 2 maptotp3i "Recursive call to child is incorrect" "E.g., they don't take into account that the child is at a depth one deeper than the node" 3 1 maptotp3t "Doesn't include this node's depth in the total calculation" 3 2 maptotp3c "Doesn't combine the results of the recursive calls" 0 15 bstdi "BSTDictionaryIterator class" 1 15 bstdix "Not submitted / doesn't complile" 1 2 bstdigen1 "Doesn't implement Iterator interface" 1 2 bstdicomp1 "Uses recursion" "Deduct here if they use recursion either in the iterator class or prior to calling the iterator's constructor in order to 'pre-traverse' the tree" 1 2 bstdicomp2 "Complexity of constructor is not O(height of BST)" "E.g., they construct the entire stack in the constructor; if they both use recursion and have incorrect complexity, only take off 1 point here and 2 points for the previous entry" 1 2 bstdictor "Constructor" "OK if public" 2 2 bstdictorx "Not implemented" 2 1 bstdictori "Incorrect" 1 2 bstdihasN "hasNext" 2 2 bstdihasNx "Not implemented" 2 1 bstdihasN1 "Incorrect" 1 4 bstdinext "next" 2 4 bstdinextx "Not implemented" 2 1 bstdinext1 "Doesn't throw NoSuchElementException if there are no more elements" 2 3 bstdinext2 "Doesn't return values in correct order" 2 2 bstdinext3 "Returns a node instead of the node's data" 1 1 bstdirem "remove" 2 1 bstdiremx "Provided remove method modified or removed" 0 15 kw "KeyWord class" 1 15 kwx0 "Not submitted" 1 7 kwx1 "Does not compile due to major or many minor errors" 1 6 kwx2 "Does not compile due to minor error(s), which we fixed (-2/error)" 1 1 kwintC "Doesn't implement Comparable<KeyWord> interface" 1 1 kwintP "Doesn't implement Prioritizable interface" 1 2 kwcase "Word not converted to lower-case" "Don't deduct if they don't convert the word to lower-case but every comparison is done by compairing ignoring case and the toString outputs the word in lower-case" 1 1 kwctor "Constructor missing/incorrect" 1 1 kwgO "getOccurrences missing/incorrect" 1 1 kwgP "getPriority missing/incorrect" 1 1 kwgW "getWord missing/incorrect" "Points deducted for not returning a lower-case word is done above" 1 1 kwincr "increment missing/incorrect" 1 3 kwct "compareTo" 2 3 kwctx "Not implemented" 2 1 kwct1 "Doesn't ignore case when comparing" 2 2 kwct2 "Incorrect" "Deduct up to -2" 1 4 kweq "equals" 2 4 kweqx "Not implemented" 2 1 kweq1 "Doesn't ignore case when comparing" 2 1 kweq2 "Incorrect method signature; parameter should be of type Object" 2 1 kweq3 "Doesn't return false if null is passed a parameter" 2 2 kweq4 "Incorrect" "Deduct up to -2 for other errors" 0 20 ah "ArrayHeap class" 1 20 ahx0 "Not submitted" 1 10 ahx1 "Does not compile due to major or many minor errors" 1 8 ahx2 "Does not compile due to minor error(s), which we fixed (-2/error)" 1 2 ahinter1 "Doesn't implement PriorityQueue interface" 1 1 ahinter2 "Not generic" 1 9 ahimpl "Doesn't use an array as its underlying data structure" "Deduct -6 if they use a List, -9 if they use a binary tree" 1 4 ahctor "Constructors" 2 2 ahctor0 "0-arg constructor not implemented" "ok if 0-arg calls 1-arg in its body, e.g., this(INIT_SIZE)" 2 2 ahctor1 "1-arg constructor not implemented" 2 1 ahctors "Array size should be one more than initial size" "Don't deduct if their heap starts at index 0, instead of index 1" 2 1 ahctore "1-arg constructor does not throw IllegalArgumentException if size passed in is less than 0" "Don't deduct if an initial size of 0 is not allowed" 2 2 ahctoro "Incorrect" "Deduct up to -2 of other errors" 1 3 ahins "insert" 2 3 ahinsx "Not implemented" 2 1 ahinsd "Does not allow items with duplicate priorities to be inserted" 2 1 ahinse "Does not allow an arbitrary number of items to be added to a priority queue" "i.e., array doesn't expand when full" 2 2 ahinso "Incorrect" "Deduct up to -2" 1 1 ahisE "isEmpty missing/incorrect" 1 2 ahgetM "getMax" 2 2 ahgetMx "Not implemented" 2 1 ahgetM1 "Doesn't throw NoSuchElementException if priority queue is empty" 2 1 ahgetM2 "Incorrect" "Don't deduct for not throwing exception here" 1 3 ahremM "removeMax" 2 3 ahremMx "Not implemented" 2 1 ahremM1 "Doesn't throw NoSuchElementException if priority queue is empty" 2 2 ahremM2 "Incorrect" "Deduct up to -2" 1 3 ahsize "size" 2 3 ahsizex "Not implemented" 2 1 ahsizea "Size returns capacity of array instead of # of items in priority queue" 2 1 ahsizei "Insert does not result in a correctly updated size" 2 1 ahsizer "Remove max does not result in a correctly updated size" 2 1 ahsizeo "Incorrect" "Use for other errors" 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"