HW8 (due Sat. 28-Oct, 8pm)


Important Notes:
  1. Style Grading! We may grade your code for style. Be sure to review CS Academy section 2.3.1 for style guidelines. The checklist in 2.3.1 will be particularly useful as you complete your homework.
  2. Do not use recursion or any material not yet covered in weeks 1-8.
  3. Efficiency: For any code with an efficiency requirement in its writeup (such as 6.4.9 findTriplets) we may grade these manually to ensure your solution meets that requirement. Also, some of the sets and dictionaries problems are 'solvable' without using sets and dictionaries, but you must use these new concepts meaningfully in order to gain credit, and we may manually check for this. Any manual grading will happen after the due date.
  4. The problem writeups may mention "Recall that in this unit, you cannot create new lists or mutate existing lists." To clarify, read 6.2.7 and note that returning a list is allowable in the ways described there.

Each problem listed below is required. The point values they are worth are shown here in parentheses like this: (2).

Total points: 18pts

All exercises below should still be completed in CS Academy! You cannot paste code into these exercises, so do not attempt to write them in VS Code or you will have to waste time manually re-typing them, and without version history it will be harder for us to verify that your work is your own.


Additional Notes:
  1. Each CS Academy assignment will show required "stars" in exercise sections, listed like this:
        "Section Exercises:   ⭐ 0 / 0."
    Ignore these numbers. For this class they have no meaning. You must complete the problems described below.
    Though, we are starting to try to update the stars to better match this homework document.
  2. Do not hardcode to the test cases in your solutions.
  3. Do not use recursion or any material not yet covered in weeks 1-8.
From the syllabus: Homework assignments will be primarily completed on the CMU CS Academy website with few exceptions. These assignments will include code tracing exercises and free response exercises requiring writing code, which are all generally autograded. The homework allows you to get practice on solving problems in an untimed environment with unlimited tries to automatically check solutions in CS Academy. The lowest two homework grades will be half-weighted.

Homeworks are entirely solo unless the assignment very explicitly allows you to collaborate. See the "Academic Integrity" section below for more details. That said, you always have access to extensive help provided by the TAs and course faculty. To get help on the homework assignments, you can go to daily office hours and/or post questions to Piazza.

A green checkmark next to a problem means it has autograded correctly and you are done. No green checkmark means it's not done yet. If you believe you should have received a green checkmark, be sure to review your work, and be sure that you hit the "check" button after the "run" button to submit it. The "check" button runs your code against additional hidden test cases which you must pass in order to receive credit. It's your responsibility to properly submit and be aware of whether you have received green-checkmark credit for your work! There is generally no partial credit for autograded problems.

>>( o u o )<<