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

Additional Resources