You and your partner are going to build a Java command-line application based on a real-world system.
There is no step-by-step instruction manual.
Instead, you will take everything you’ve learned so far and design your own solution.
Think of this as your opportunity to prove:
- You can design software
- You can structure Java programs
- You can collaborate with a partner
- You can explain your technical decisions
Your goal is to build something that works, is organized, and shows your understanding of Java.
Your project must represent a system people use in real life
You are encouraged to get creative and build something interesting.
You will work in pairs.
Because everyone recently earned their Certified Scrum Master certification, you will organize your work into three sprint phases.
Your README must document what happened in each sprint.
Your README must include these three sections.
Before writing code, explain:
- What problem your program solves
- What features you want to build
- What classes you expect to create
- How you divided the work between partners
Think of this as your project blueprint.
Explain:
- What you actually implemented
- What changed from your original plan
- Challenges you encountered
- How you solved them
Real software projects never go exactly as planned — document your journey.
Explain:
- What works well in your program
- What you would improve with more time
- What Java concepts you used the most
- What you learned from the experience
Your code must contain comments explaining your technical decisions.
The goal is to show why you used certain Java concepts, not just that the code runs.
Explain things like:
- Why you created certain classes
- Why you used specific collections
- Why you used loops or conditionals
- Why methods are structured a certain way
Example:
// Using ArrayList because the number of tasks can grow dynamically
ArrayList<String> tasks = new ArrayList<>();
// Loop used to display all tasks stored in the system
for (String task : tasks) {
System.out.println(task);
}Your comments should help someone understand how your program works and why it was designed that way.
Your project should demonstrate the core Java skills we have practiced:
- Classes and Objects
- Constructors
- Methods
- Encapsulation (getters/setters)
- Loops
- Conditional statements
- Collections (
ArrayList,HashMap, etc.) - User input using
Scanner - Clean program organization
Your application must run in the command line.
This project is about demonstrating that you can:
- Design software without step-by-step instructions
- Apply Java concepts to a real problem
- Work effectively with a partner
- Explain your code and decisions
Build something that helps reinfornce knowledge for the final java exa!