C211 I211 Problem Solving and Programming II

C211 I211 Homework 4

Due Date: Monday, September 18, 2023.

Please complete Lab 4 before completing the homework.

In this homework, we are going to solve a problem using the top-down approach and following the problem solving skills highlighted in the lecture.

Ex. 1. Anagram Problem

Problem Description.   Given two string, determine whether they are anagrams of each other, meaning that they contain the same letters but in a different order. Lowercase and uppercase letters are considered the same. For simplification, we will only look at cases made of a single work without punctuation.

Here are some examples: "read" and "dare", "Listen" and "Silent", "add", "dad", "Elvis" and "lives".

a. Discuss the problem to understand it. Write a plan. Refine the plan. Discuss special cases. Write a pseudo code algorithm for it.

b. Implement the algorithm in Java and debug it. The structure of classes is up to you.

c. Test the code for all the cases you deem necessary to make sure it is correct.

d. Make sure to document all of the above steps. For this, write a Word or plain text document containing the plan, the pseudocode, and a list of test cases with the expected result for each of them.

Homework Submission

Upload the text or work document with the plan and the .java files you created for this project and for the lab to Canvas - Assignments - Homework 4. There should be at least 4 files.