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"