Bonus Assignment: More on Loops, Arrays, Classes, and Polymorphism


Due Monday, December 19 at 11:59 PM (hard deadline - no extensions)

Structure of This Lab

This lab does not introduce any new material, and it is not required. This is worth bonus points, and adds up to 4% on your overall course grade. To put this in perspective, this is worth more than labs 1-3 combined. As such, you are strongly encouraged to attempt this assignment. You do not need to complete the entire assignment to receive points.

The main purpose of this lab is to help prepare you for both the lab and lecture exams. The difficulty of these questions ranges between what would be representative of the exam, along with one step beyond.

Provided files:

Tasks

There are a total of three independent tasks in this lab. Each is listed below, roughly in order of least to most difficult.

Task 1: Zip.java

This task concerns:

This task requires you to download Zip.java and Pair.java. The comments in Zip.java provide more details.

Task 2: Append.java

This task concerns:

Download Append.java. You need to make the code in Append.java compile and produce the correct output. The comments in Append.java provide more details.

Task 3: Interleave.java

This task concerns:

Download Interleave.java and InterleaveTest.java. You need to make the code in Interleave.java compile and produce the correct output. The comments in Interleave.java provide more details. The test suite provided in InterleaveTest.java should help you write a correct implementation.

Turn in Your Solution Using Canvas

Log into Canvas, and go to the COMP 110 class. Click “Assignments” on the left pane, then click “Bonus Lab”. From here, you can upload your code. You should turn in all .java files needed.

In addition, if you collaborated with anyone else, be sure to download collaborators.txt and write the names of the people you collaborated with in the file, one per line. Please submit this file along with the other files.

You can turn in the assignment multiple times, but only the last version you submitted will be graded.