Skip to content

Android app demonstrating Bubble Sort algorithm with Agile Scrum process (Java, Android Studio, JUnit)

Notifications You must be signed in to change notification settings

HeatherCyber/BubbleSortApp

Repository files navigation

BubbleSort Android App - Agile Practice Project

Android Java Agile

An educational Android application demonstrating bubble sort algorithm with real-time visualization, developed using Agile methodologies.

🎯 Project Overview

This project demonstrates Agile software engineering practices through mobile development. As Project Leader, I led a team through a complete Scrum development cycle, delivering an Android app that visualizes bubble sort algorithms.

Key Learning Outcomes:

  • ✅ Mastered Agile Scrum methodology through hands-on 3-sprint development cycle
  • ✅ Gained practical experience in sprint planning, daily standups, and retrospectives
  • ✅ Developed team leadership skills as Project Leader managing cross-functional team
  • ✅ Applied software engineering best practices including testing, documentation, and version control

🛠️ Technical Stack

Category Technologies
Language Java 8
Platform Android SDK (minSdk: 24, targetSdk: 34)
IDE Android Studio 12
Build Tool Gradle 8.7.0
Testing JUnit 4.13.2, AndroidJUnit4, Espresso, Android API 29 & 35 emulators
Methodology Agile Scrum (3 sprints, daily standups, retrospectives)

🚀 Key Features

  • 🔍 Input Validation: Robust validation for 3-8 integers (0-9 range)
  • 📊 Real-time Visualization: Step-by-step bubble sort with color-coded elements
  • 🎨 Interactive UI: HTML-formatted display showing comparison progress
  • 📱 Cross-platform: Verified compatibility on multiple Android versions
  • ⚡ Error Handling: Comprehensive validation for edge cases

🏃‍♂️ Agile Development Process

Sprint Focus Deliverables
Sprint 1 Core Implementation Basic bubble sort algorithm, UI framework
Sprint 2 Enhancement Error handling, visualization improvements
Sprint 3 Polish & Testing Compatibility testing, final optimization

Agile Practices Implemented:

  • Daily standups and sprint planning
  • User story development with acceptance criteria
  • Sprint reviews and retrospectives
  • Iterative releases(3 sprints)

🚀 Getting Started

Prerequisites

  • Android Studio 12+
  • Android SDK (API 29+)
  • Java 8+

Installation

# Clone the repository
git clone https://github.com/HeatherCyber/BubbleSortApp.git
cd BubbleSortApp

# Open in Android Studio
# Sync Gradle dependencies
# Run on emulator or device

Usage

  1. Launch the app
  2. Enter 3-8 numbers (0-9) separated by spaces
  3. Tap "SORT" to visualize the bubble sort process
  4. Observe real-time color-coded comparisons and swaps

Example: Input 5 2 8 1 9 → See step-by-step sorting visualization

👨‍💻 My Contributions

  • Project Leadership: Assigned tasks, facilitated Scrum ceremonies (sprint planning, daily standups, retrospectives), and ensured Agile process adherence
  • Technical Development: Implemented bubble sort algorithm, input validation, error handling, and sorting visualization
  • Testing: Developed comprehensive JUnit4 unit tests with AndroidJUnit4 framework; performed manual integration and compatibility testing across Android API 29 & 35 emulators

📊 Project Impact

  • Educational Value: Interactive algorithm learning tool
  • Agile Simulation: Practiced real-world Agile workflow with Scrum roles, sprints, and iterative releases
  • Technical Skills: Demonstrated mobile development and Agile practices
  • Team Leadership: Successfully led cross-functional development team

🔗 Demo & Links

  • 🎥 Demo Video: BubbleSort Android App Demo
  • 📸 Screenshots: Available in screenshots/ folder (organized by sprint phases)
  • 📚 Course: Advanced Software Engineering
  • 🏃‍♂️ Methodology: Agile Scrum + XP

This project was developed as part of the Advanced Software Engineering course to demonstrate Agile methodologies, mobile development skills, and algorithm visualization techniques.

About

Android app demonstrating Bubble Sort algorithm with Agile Scrum process (Java, Android Studio, JUnit)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages