Description
Objective
In this lab, you will practice the process of problem solving and coding when you may not have
all of the details of the original problem. For some, this will seem easy. For others, there will
be some challenge to grasp everything within the lab time.
Working in groups of one or two students, you will write code to implement a Java Map.
In Java, a Map is a structure that stores key-value pairs, meaning that you want to store and
retrieve pairs of data. The first bit of data is called the key. The second bit of data is called the
value. Given the key, you can retrieve the value associated with that key. Keys are unique to
the Map (meaning that you can’t have two entries with the same key) while values are not
unique (meaning that you can have two keys that map to the same value).
In addition to a constructor, you should implement the methods “get” and “put” for your Map.
In your implementation, you cannot use any of the existing Java Map classes.
Preparation
Ensure that you have your Integrated Development Editor (IDE) for Java installed (classroom
homework).
Resources
No external resources needed to bring in.
Procedure
Set-up
None
Lab steps
1. Ensure that you and your partner agree on an understanding of the problem.
2. List the elements of the problem statement that are not defined sufficiently-well to begin
an implementation.
3. Select a resolution for the missing parts of step 2.
4. Decide on the approach you will use to implement the methods
o How you will store the data
o What difficulties you will expect
5. Implement your solution.
Analysis
Identify how you will know that your implementation is working.
Reporting
1. In one file, list
o Your team members
o The list of items from the description that needed clarification
o Your decisions on the items that need clarification
o How you showed that your work (so far) is working
2. In that same file, briefly describe either
o How you would approach this problem differently if you had to start new; or
o What you did well in developing the implementation that you could use as an
approach to coding a solution to another problem.
3. Generate a PDF from the document.
4. Submit the PDF and your Java files in Brightspace in the Lab/Lab 1 section of the course
page in Brightspace by Friday, September 17 at 11:59pm Halifax time. Note: Only one
member of the group needs to submit the report.
Assessment
The assessment will be on a letter grade and will reflect how well you are demonstrating and
executing on problem solving techniques that could be used in other situations. I am more
concerned with your thinking about how to get a solution than on the code being complete
solution.