Sprint Challenge
Challenge Overview
This Sprint Challenge is designed to test your understanding of loops, arrays, the UPER problem-solving framework, and pass-by-value mechanics. You'll apply what you've learned throughout the sprint to solve practical programming problems.
Challenge Requirements
- Implement loops to perform repetitive operations on data
- Use arrays to store and manipulate collections of data
- Apply the UPER framework to solve complex programming challenges
- Demonstrate understanding of Java's pass-by-value behavior
- Write clean, well-documented, and efficient code
Challenge Tasks
Task 1: Loop Patterns
Implement different loop patterns to generate specific outputs:
- Create a triangular pattern using nested loops
- Implement a solution to find all prime numbers below 100
- Write a method that uses loops to find the sum of digits in a number
Task 2: Array Operations
Implement various array operations:
- Create a method to reverse an array without using additional data structures
- Find the second largest element in an array
- Implement methods to merge two sorted arrays into a single sorted array
Task 3: UPER Problem
Apply the UPER framework to solve this problem:
Given an array of integers, find the longest continuous increasing subsequence. Return the length of the subsequence.
- Clearly document your Understand, Plan, Execute, and Reflect steps
- Implement the solution efficiently with appropriate time and space complexity
- Include test cases that demonstrate correctness
Task 4: Pass-by-value Demonstration
Create a program that demonstrates Java's pass-by-value behavior:
- Show how primitive types are passed by value
- Demonstrate how reference types allow object modification but not reference reassignment
- Create a clear visual example that explains the concept
Submission Guidelines
- Create a new Git repository for your Sprint Challenge
- Include all source code in appropriately named files
- Document your code with comments explaining your approach and decisions
- Include a README.md file that explains how to run your solutions
- Submit your repository URL by the deadline
Evaluation Criteria
- Correctness of implementation (do the solutions work as expected?)
- Code quality (clean, well-organized, and properly documented)
- Efficiency (appropriate use of algorithms and data structures)
- Understanding demonstrated in your UPER documentation
- Completeness (all requirements addressed)
Important Notes
- You have 3 hours to complete this challenge
- Focus on fulfilling the requirements rather than adding extra features
- If you get stuck, move on to another task and return later if time permits
- Use the standard Java libraries, but no external dependencies