CSCI 230 HW#5
Collaboration policy: Individual Assignment
Total Points: 100
Source Code
The Java classes and/or interfaces provided in the zip file attached to this Dropbox
assignment are:
Under no circumstances are you allowed to modify or create new List interface. You must
use these files as is.
You may only modify the ArrayList, SinglyLinkedList, and Utils classes. In
particular, in this class you may only modify the methods listed in Part 1, and under no
circumstances are you allowed to remove, add, or modify any other line of code in these
classes (this include instance variables, class variables, constants, etc.).
Lastly, you may not change the package structure! Specifically, edu.cofc.csci230 cannot
be removed or modified. If a solution is submitted with a different package structure, it will
not be graded, no exceptions.
Part 1
In the ArrayList and SinglyLinkedList classes please fully implement the method
listed below:
• public void swap( int i, int j ) throws IndexOutOfBoundsException
In the Utils class please fully implement the methods listed below:
• public static <AnyType extends Comparable> void selectionSort(
List<AnyType> list ) throws IndexOutOfBoundsException
• public static <AnyType extends Comparable> void bubbleSort(
List<AnyType> list ) throws IndexOutOfBoundsException
• public static <AnyType extends Comparable> void insertionSort(
List<AnyType> list ) throws IndexOutOfBoundsException
In each method you will see a TODO comment – this is where you add your code. In the
provided source code, numerous comments are given; please ensure you read them
Part 2
The provided ArrayList and SinglyLinkedList classes each have a main method. In the
main please add test cases that demonstrate you have fully evaluated the operational
correctness of the methods you implemented in Part 1. To receive full credit, these test
cases must be included.
Create a zip file that only includes the completed and and files. If you have any questions about the
submission policy, you must resolve before the due date. Lastly, please plan appropriately,
asking questions the day the assignment is due (within 12 hours) is too late. Please try to
resolve any questions at least 2 days before the due date.
The name of the zip file must be your last name. For example, would be correct if
the original co-developer of UNIX (Dennis Ritchie) submitted the assignment. Only
assignments submitted in the correct format will be accepted (no exceptions).
Please submit the zip file (via OAKS) to the Dropbox setup for this assignment by the due
date. You may resubmit the zip file as many times as you like, Dropbox will only keep the
newest submission. Per the syllabus, late assignments will not be accepted – no exceptions.
Please do not email Hassam or I your assignment after the due date, we will not accept it.
Grading Rubric
ArrayList, SinglyLinkedList, and Utils Compiles 10 points
Thoroughness of your test cases 10 points
Instructor test cases. Several random test cases
that sort random values (may include
duplicates) in both the ArrayList and
SinglyLinkedList data structures. In total these
will be 80 points.
80 points
100 points
In particular, each data structure will be graded as follows. If the submitted solution
• Does not compile: 0 of 100 points
• Compiles but does not run: 10 of 100 points
• Thoroughness of your test cases: 20 of 100 points
• Passes test cases developed by instructor: 100 of 100 points.
Sorting Algorithms
[ 1] [ ] [ ] [ 1]
0 2
0 2
[0.. 1]
[0.. 1]
[0.. 1]
( [0.. 1])
+ < +
¬ –

A j A j A j A j
j n- i
i nA n
A n
A n
BubbleSort A n
if swap and
for to do
for to do
// Output : Array sorted in ascending order
// Input : An array of orderable elements
// The algorithm sorts array by bubble sort


There are no reviews yet.

Be the first to review “HW#5”

Your email address will not be published.