Pages

PA9-APCSA-17-18

Collaboration is encouraged. Students may work on this assignment individually or in pairs. Cite all of your sources, including the names of all individuals who provide any non-trivial help; include a brief description of how they helped. Do not give the impression that you are claiming credit for work that someone else did.

The Assignment

  • Much of this assignment is closely related to Section 4.1 of your textbook, so read pages 494-521.
  • Familiarize yourself with the commentary, exercises, and Java source code posted at:
  • Do Exercise 1 and Exercise 5.
  • Do one, two, three, or all four of the other exercises for a maximum score of ✓, ✓+, +, or ++
    (89, 95, 100, or 104 percent) respectively.
  • Evaluate your own work using the self-evaluation form provided in class.
  • Submit your work for grading as explained below. Read and follow the instructions very carefully.

Submitting Your Work

  • The due date for this assignment is 11:59 pm on Saturday, 17 February 2018. Electronic copies submitted after this time will consume extensions from the limited number of extensions granted to each student each semester. After all extensions have been used, late work will be penalized one grade level for every two days the work is late as explained in the course syllabus.
  • Hard copies of all work to be graded must be received no later than 3 pm on Friday, 23 February 2018; put them in the box on the file cabinet in room 209. If hard copies have not been received by the deadline, you might receive a zero for the assignment.
  • Hard copies should include the following documents, neatly stacked and stapled together in the following order. From top to bottom:
    1. Your self-evaluation should be on top. (Only include one self-evaluation per pair if you are working with someone else.)
    2. Your work for the exercises should appear in sequential order: Exercise 1 followed by Exercise 2 (if applicable), etc.
    3. Work for each exercise should begin on a new page.
    4. The exercise number and the name of each person who contributed to the answer to the exercise should appear in the upper right-hand corner of each page. (This information may be hand-written.)
  • Email electronic copies of your work to Mr. Spurgeon at: jspurgeon@vcstudent.org.
    • The subject of your email should be Programming Assignment 9.
    • All work to be graded should be sent as attachments to an email message.
    • Source code should be sent as a plain text attachment created in a program like Notepad. Do not send source code as a Microsoft Word document, for example. Do not send references/links/pointers to documents posted online. Attachments containing source code should contain only source code. It is okay to include Java comments with your source code; in fact, you are encouraged to do so.

Grading

  • Students who work in pairs will each receive the same grade.
  • Students will not receive a grade any higher than the maximum grade possible based on the number of exercises completed as described above. Grades may be lower than the maximum depending on the quality of work submitted.
  • Students will receive two grades, each worth 100 points.
    • One grade will reflect the overall “literacy” of the work submitted and will take into account neatness, visual presentation, coding style, quality of English writing, and attention to detail.
    • The other grade will reflect the technical accuracy of the work submitted. Students may be penalized for defective programs as well as flawed or muddled reasoning and mathematical errors.

Hypotheses

  • Steven, Eric: The hypothesis that Eric and I came up with is that step counts for Gcd.methodH is much less that those of the others because first of all it has the least amount line of code and it uses a recursive method to compute the greatest common divisor while the other use loops to solve the same problem which take more step counts.
  • Phillip, Ethan (Bardon): Our hypothesis is that methodH, as measured by step counts is going to be less efficient compared to the other methods. We believe this to be true, as the fundamental code found is this method is found in all the other methods, with additional code which would at the worst do nothing and at best, which we are guessing, shorten the process.
  • Ethan (Bly), Luke (Monroe): The Gcd.methodH will perform worse than the other three methods.
  • Luke (Nguyen), Matt: Matthew and I think that the use of recursion in methodH will create an infinite loop within the method.
  • Katie, Nicholas: Our hypothesis is that methodH will have lower step count than the other three methods because it is recursive.
  • Raj, Jeffrey: [Our] hypothesis is that Gcd.methodH will work just as good as the other 3 methods
  • Neil, Helen: Our hypothesis for question 1 is, the performance of Gcd.methodH by count is slower than other method.
  • Shivani: I think that Gcd.methodH will produce more steps because it returns 2 variables instead of 1 like the other methods do.
  • Nathan: I hypothesize that gcd.methodH, in comparison to the other three methods, is much more simpler and compact, and more efficient.
  • Jaden: My Partner, (Bathon) Jaden , and I, (Bathon) Jaden, hypothesis is Gcd.methodH will have less moves than the other methods because the Gcd.methodH has less steps to run compared to the other methods.
  • Zoe, Yang: Gcd.methodH uses recursive, but the others do not use that. It has more counts compare with the other methods. Therefore, we (Zoe and Yang) hypothesize that Gcd.methodH is more complicated and slower than the others according to the step counts.
  • Cherry: methodH would perform less step count than the other three methods
  • Jerry: I think the the Gcd.methodH will do something different than the other three method. It uses a recursive loop which calls itself which I predict that might do something different from the other methods. Also, the c.set() and c.jmp() has the number "2" in the parentheses while others have "1"in it. It jumps to another class, so I think that the counts produced by this method will be larger than other classes.
  • Alex: According to the Gdc.methodH has more step counts than others methods, I think that the Gcd.methodH will be slower than the others methods because it needs the more time to do the step counts.
Evaluation - Part 1 of 2
Programming Assignment #9
AP Computer Science A, 2017-18
Name(s):

Check one: Student Evaluation Instructor Evaluation

Literacy Component Mark
(circle one)
Comments
Provided neat, well-organized answers that are easy to read. - +
Used proper spelling, grammar, complete sentences (where appropriate), etc. - +
Provided answers that are on-topic, concise, and easy to understand. - +
Exercise 1 literacy score. - +
Exercise 2 literacy score, if applicable. - +
Exercise 3 literacy score, if applicable. - +
Exercise 4 literacy score, if applicable. - +
Exercise 5 literacy score. - +
Exercise 6 literacy score, if applicable. - +

+Aw, nice job. Hearty pat on the back.
Solid. Maybe a little problem here or there.
-There are significant problems.

Evaluation - Part 2 of 2
Programming Assignment #9
AP Computer Science A, 2017-18
Name(s):

Check one: Student Evaluation Instructor Evaluation

Correctness Component Mark
(circle one)
Comments
Followed instructions for submitting work. - +
Submitted source code that compiles, executes, and functions as expected. - +
Hypotheses are falsifiable. (It is possible to know for sure when the hypotheses are wrong.) - +
Experiments are carefully thought-through, clearly described, and reproducible. - +
Observations include quantitative measurements. - +
Conclusions follow logically from observations. - +
Experiment design and analysis addresses caveats: instruction time, system considerations, multiple program parameters, etc. (See pages 509-511 of your textbook.) - +
Exercise 1 correctness score. - +
Exercise 2 correctness score, if applicable. - +
Exercise 3 correctness score, if applicable. - +
Exercise 4 correctness score, if applicable. - +
Exercise 5 correctness score. - +
Exercise 6 correctness score, if applicable. - +

+Aw, nice job. Hearty pat on the back.
Solid. Maybe a little problem here or there.
-There are significant problems.

Notes