An educational Android application demonstrating bubble sort algorithm with real-time visualization, developed using Agile methodologies.
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
| 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) |
- 🔍 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
| 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)
- Android Studio 12+
- Android SDK (API 29+)
- Java 8+
# 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- Launch the app
- Enter 3-8 numbers (0-9) separated by spaces
- Tap "SORT" to visualize the bubble sort process
- Observe real-time color-coded comparisons and swaps
Example: Input 5 2 8 1 9 → See step-by-step sorting visualization
- 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
- 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 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.