Lab 6 Grading Guideline Automatic Grades of 0 awarded for the following reasons: [1] If the student's .java files do not appear in the submission. [2] If the code does not compile. [3] If the code does not run. [A] Look & Feel (9%) (3%)[A1] Karel, Turtle, and a Graphic appear on a Drawing Canvas (3%)[A2] Four directional buttons appear (up, down, left, right) (3%)[A3] Three selection buttons appear (one each to select Karel, Turtle, or Graphic) [B] Interface that Adapters Implement (7%) (3%)[B1] Interface created by students (name is up to them) (4%)[B2] Has method headers for each of the type of controls we want for all three elements (up, down, left, right) [C] Adapters (15%) (5%)[C1] An adapter has been created for Karel that implements the interface defined in Part B and "knows" a Karel object. The adapter calls the correct methods on the Karel object to allow it to move up, down, left, and right. (5%)[C2] An adapter has been created for the Turtle that implements the interface defined in Part B and "knows" a Turtle object. The adapter calls the correct methods on the Turtle object to allow it to move up,down, left, and right. The turtle should move as far as Karel does in pixels, so an adjustment must be made to the turtles steps to achieve this. If the turtle does not move as far as Karel, award zero points for this section. (5%)[C3] An adapter has been created for the graphic that implements the interface defined in Part B and "knows" a graphic object. The adapter calls the correct methods on the graphic object to allow it to move up, down, left, and right. Once again, the graphic must move as far as Karel does on each step. Therefore the code must be written to allow the distance in the movement. If the graphic does not move as far as Karel, award zero points for this section. [D] Proxy (10%) (2%)[D1] Proxy class created (3%)[D2] Proxy class implements interface defined in Part B (2%)[D3] Proxy class knows an object whose declared type is the interface defined in Part B (3%)[D4] Proxy methods delegate to the object from Part D3 [E] Directional Buttons communicate with Proxy (10%) The buttons that control direction should each provide an ActionListener that has a reference to a Proxy object. The ActionListeners for these buttons should not have a reference to any of the Adapters created in Part C or to Karel, the Turtle, or the graphic itself. When clicked, the buttons should communicate to the Proxy which direction the element should move by calling the appropriate method from the Proxy. There is no partial credit for this section. NOTE: If a student did not implement the Proxy at all and therefore only made it to Step 5 of the lab, award 8 points for this section if the ActionListeners can speak directly to one of the adapters. [F] Selection Buttons communicate with Proxy (10%) The buttons that control which element should move should each provide an ActionListener that has a reference to a Proxy object. When clicked, the ActionListener should set the object that is the Proxy's "current" to be appropriately Karel, the Turtle, or the graphic. There is no partial credit for this section. [G] UML Diagram & Attendance (19%) Students should have submitted a UML diagram with their solution. This file should have a .grn extension and be located in their JAR (11 points). If no such file was submitted, award 0 points for this part of the lab. If the diagram has been submitted and gives an accurate representation of the students submission including all files in the lab6 package, award 11 points. If there are classes or relationships missing from the diagram, award only 5 points. Attendance is worth 8 points (no partial credit). [H] Style (20%) There is no partial credit for these sections. If the submitted code does not meet the given criterion, it should be awarded zero points for that subsection. (5%)[H1] Code uses proper tabbing and whitespace for readability. (5%)[H2] Naming of classes, methods, and variables are meaningful to the project. (5%)[H3] Naming conventions for classes, methods, variables, parameters are following according to CSE 115 styles. (5%)[H4] Every class, instance variable, and method is commented with its purpose in the project. DEDUCTIONS: If the student did not attend lab sessions as indicated by the TA attendance sheet, deduct 5 points from the overall lab grade. If the code can not be run both as an application and an applet (outside of DrJava interactions pane) deduct 10 points from the overall lab grade. GIVING FEEDBACK You must e-mail a feedback/grade message to each student whose work you grade. You will ONLY e-mail to the student's cse e-mail account, which is username@cse.buffalo.edu. The subject line will be: CSE115 Lab 6 Grade and feedback A copy of this entire email with the bottom part filled in by you should be sent to the student for their reference. If a student receives less that the maximum number of points, you must give an explanation of why the student lost points. ---------------------------------------------------------------------- [Lab #6: 100 points maximum] Your score ==> [A: 9 points maximum] You earned ==> Breakdown: [A1: 3 max] ==> [A2: 3 max] ==> [A3: 3 max] ==> [B: 7 points maximum] You earned ==> Breakdown: [B1: 3 max] ==> [B2: 4 max] ==> [C: 15 points maximum] You earned ==> Breakdown: [C1: 5 max] ==> [C2: 5 max] ==> [C3: 5 max] ==> [D: 10 points maximum] You earned ==> Breakdown: [D1: 2 max] ==> [D2: 3 max] ==> [D3: 2 max] ==> [D4: 3 max] ==> [E: 10 points maximum] You earned ==> [F: 10 points maximum] You earned ==> [G: 19 points maximum] You earned ==> Breakdown: [UML diagrm] ==> [Attendance] ==> [H: 20 points maximum] You earned ==> Breakdown: [H1: 5 max] ==> [H2: 5 max] ==> [H3: 5 max] ==> [H4: 5 max] ==> DEDUCTIONS: Did not attend lab sessions (5 points) AUTOMATIC GRADE ASSIGNED: Reason: