← Back to Home

Sprint Challenge

Sprint Challenge Overview

This sprint challenge will test your understanding of Lists, Big O notation, and object comparison/sorting in Java. You will apply concepts learned throughout the sprint to solve problems involving ArrayList operations, algorithm analysis, and implementing both Comparable and Comparator interfaces.

Key Learning Objectives

This challenge covers the following learning objectives from the modules:

Module 1: Lists

Module 2: Big O

Module 3: Comparable

Module 4: Comparators and Using sort()

Preparation Tips

Review Core Concepts

Practical Advice

Common Pitfalls to Avoid

Mastery Tasks

Mastery Task 4: Inevitable

Change is inevitable, and it's time to bring a big change to the Missing Promise CLI. You'll redesign the PromiseDao to support multiple clients and implement an OrderFulfillmentServiceClient class.

Milestones:

  1. Redesign the PromiseDao to support multiple clients, including the OFS client and future clients
  2. Implement your OrderFulfillmentServiceClient class following the pattern of other service clients
  3. Update the PromiseDao to match your design and retrieve the packaging promise from your client

Exit Checklist:

Mastery Task 5: Devil in the Details

Enhance the Missing Promise CLI to display promises for each item in an order and implement sorting to make it easier for CS representatives to use the tool.

Milestones:

  1. Modify the code to return the promise(s) for each item in an order
  2. Implement sorting so that item promises are sorted alphabetically by their ASINs
  3. Create a PromiseAsinComparator in a new package

Exit Checklist:

Important: Use the same forked repository from Sprint 5 to complete these Mastery Tasks.

Resources