Programming Assignment 2 Grading: -------------------------------------------------------------------------------- First, create a grading directory (e.g., in your private CS directory) and copy the testAll script to your grading directory. You may need to run the command: chmod a+x testAll to make it executable. For each student: 1) Create a subdirectory for that student within your grading directory, e.g., mkdir Student_Annie 2) Download the student's submission from the Learn@UW Program 2 dropbox into the student subdirectory 3) Go into the subdirectory and unzip the file cd Student_Annie unzip Program*.zip 4) From your grading directory, run the testAll script giving it the name of the student's subdirectory testAll Student_Annie This will do the following: - create a JAVA/ subdirectory inside the student's directory containing appropriately renamed source code files from which to run the tests - compile and run tests, displaying some info about compiling to the console and saving results from running tests to a file - the LinkedLoopTester is used to test the student's LinkedLoop (and EmptyLoopException, and LinkedLoopIterator) with our DblListnode The test files it uses (with corresponding output) in the LoopTestFiles/ folder: loopOne.txt loopSmall.txt loopLarge.txt - the student's program is tested using the files below (if the student's LinkedLoop has errors in it, you may need to edit their MessageLoopEditor so that it uses the ArrayListLoop instead of the students LinkedLoop) The test files it uses (with corresponding output) in the MessageLoopEditorTestFiles/ folder: badInput.txt emptyTest.txt cutCopyPaste.txt jumpPrevNext.txt addInsert.txt findTest.txt replaceTest.txt 6) Look at the file 'student.all.txt' to see where the student's output differed from ours. If the student got all the expected output, this file will look like the file /p/course/cs367-hasti/public/html/assignments/p2/grading/sample.all.txt 7) Make sure to look at the student's code as well (for style and documentation, among other reasons). Make sure to verify that the student implemented the LinkedLoop class using a circular doubly-linked list. Note that the default Eclipse tab stop is 4 spaces and many Linux utilities, like less or more, use 8 spaces as their default. Since students in this 367 aren't expected to know Linux, they really don't have any reason to think that we'd be looking at their code with tab stops set at something other than Eclipse's default. So, make sure that you look at their code with (Eclipses's default) 4-character tab stops (rather than expect them to do something like configure Eclipse to either show tabs as 4-characters or replace tabs with 4 spaces). If you are using less to look at a file via Linux, you can set the tab stop with the -x flag, e.g., less -x4 HelloWorld.java will display using 4 spaces for tabs. Additional scripts: testLoop - give the name of the student directory as an argument (e.g., testLoop Student_Annie) - assumes that testAll has already been run (so the JAVA subdirectory contains all the source code) - runs just the LoopTester stuff - creates file named student.loop.txt testMsg - give the name of the student directory as an argument (e.g., testMsg Student_Annie) - assumes that testAll has already been run (so the JAVA subdirectory contains all the source code) - runs just the MessageLoopTester stuff - creates file name student.msg.txt Note: if testAll doesn't terminate: - kill it (ctrl-C) - run testLoop - run testMsg (and then testMsgForce if necessary) If you have to terminate testLoop or testMsg, you can run each individual test from the directory you are grading in: - If the student's code already compiled, it should be in the directory so you can just run it. - Copy the LoopTestFiles directory and the MessageLoopEditorTestFiles directory to your grading directory. - To test MessageLoopEditor, you can do, for example, java MessageLoopEditor MessageLoopEditorTestFiles/addBeforeAfter.txt > output.txt You can then compare the student's results with the expected results: diff -b output.txt MessagLoopEditorTestFiles/addBeforeAfter.output.f.txt Comments to add to student's gradesheet (as an overall comment): Good job! Note: for each top-level part (like the EmptyLoopException class) that a student gets completely correct, make sure to add the comment: Good job! so the student's gradefile contains some feedback for that part Style and documentation: Comments: Good commenting! Good coding style! Warning: file header comments missing some information Warning: some lines are longer than 80 characters Warning: place file header comments before import statements Warning: avoid excessive vertical whitespace Warning: some class/method header comments are missing some information