https://github.com/ehab-elshimi-developer/java-problem-solving-sheets
Scalable Java problem-solving sheets โ modular, backend-ready, clean-coded, and mindset-driven. Designed to simulate real-world engineering challenges.
https://github.com/ehab-elshimi-developer/java-problem-solving-sheets
algorithms backend-development clean-code data-structures design-patterns engineering-mindset exception-handling java modularization multithreading oop oop-in-java problem-solving solid-principles
Last synced: 2 months ago
JSON representation
Scalable Java problem-solving sheets โ modular, backend-ready, clean-coded, and mindset-driven. Designed to simulate real-world engineering challenges.
- Host: GitHub
- URL: https://github.com/ehab-elshimi-developer/java-problem-solving-sheets
- Owner: ehab-elshimi-developer
- Created: 2025-07-09T08:24:03.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-08-06T17:18:07.000Z (2 months ago)
- Last Synced: 2025-08-06T19:19:53.592Z (2 months ago)
- Topics: algorithms, backend-development, clean-code, data-structures, design-patterns, engineering-mindset, exception-handling, java, modularization, multithreading, oop, oop-in-java, problem-solving, solid-principles
- Language: Java
- Homepage:
- Size: 24.4 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README


# ๐ง Java Training Hub โ Problem Solving Sheets (1 to โ)
๐ A comprehensive and ever-growing repository for mastering Java programming through structured **problem-solving sheets** and backend-focused exercises.
This is part of my continuous journey to become a highly capable **Backend Java Developer**, building strong mental foundations in:- Java Syntax & Core Principles
- OOP & Design Patterns
- Data Structures & Algorithms
- Multithreading & Concurrency
- Clean Code, SOLID, and Software Craftsmanship---
## ๐ Overview
This repository is structured into a series of progressive **Java Problem Solving Sheets**, starting from basic syntax and gradually advancing toward complex backend logic and real-world systems.
Each problem is solved using **clean, modular, testable Java code**, written in a way that promotes **deep understanding, reusability**, and **engineering discipline**.
> ๐ง Think of each sheet as a level in your mental gym โ and the gym never closes.
---
## ๐ Topics & Skills Covered
- โ **Basic Syntax & Variables** โ Java fundamentals, data types, operators
- โ **Control Flow** โ `if/else`, loops, switch-case
- โ **Functions & Recursion** โ Modular programming and recursive strategies
- โ **Arrays & Data Structures** โ Arrays, Lists, Stacks, Queues, HashMaps, Sets
- โ **Object-Oriented Programming (OOP)** โ Encapsulation, Inheritance, Polymorphism, Abstraction
- โ **Design Patterns** โ Singleton, Factory, Strategy, and more
- โ **Exception Handling** โ Robust error management & custom exceptions
- โ **Algorithms** โ Searching, Sorting, Problem Solving
- โ **Multithreading** โ Concurrency models and real-world thread use
- โ **Clean Code & SOLID Principles** โ Write for humans, not just machines
- โ **Modularization** โ Reusable components with separation of concerns---
## ๐ Folder Structure
The structure is open-ended and infinitely extensible:
src/
โโ sheet1/
โ โโ Sh1Pr1.java
โ โโ Sh1Pr2.java
โ โโ ...
โโ sheet2/
โ โโ ...
โโ sheetN/Each sheet includes:
- ๐ **Well-named Java classes** (e.g., `Sh5Pr2.java`)
- ๐ง **Inline problem descriptions** where applicable
- ๐งช **Testable & clean implementations** with modular design
- ๐งฑ Built to reflect **real backend workflows** and encourage scalability> โพ๏ธ The sheet count keeps growing as learning continues.
---
## ๐งฉ Sample Problems
### ๐ธ Basic Syntax & Logic
- Hello World
- Swap Without Temp
- Even or Odd
- Find Largest of 3
- Sum of Digits### ๐ธ Control Flow
- Factorial with Loops
- Prime Number Detection
- Reverse Digits
- Fibonacci Sequence
- Armstrong Number Check---
## ๐ Infinite Progress Tracker
| Sheet | Status | Focus Area |
|-----------|---------------|----------------------------------------|
| Sheet 1 | โ Completed | Java basics & intro problems |
| Sheet 2 | โ Completed | Arrays & simple data structure use |
| Sheet 3 | โ Completed | Strings & char manipulation |
| Sheet 4 | โ Completed | Patterns, nested loops |
| Sheet 5 | โ Completed | 2D Arrays, matrices |
| Sheet 6 | ๐ก In Progress | Matrix logic & deeper conditions |
| Sheet 7 | โณ Upcoming | Intermediate structures & sorting |
| Sheet 8 | โณ Upcoming | Recursion & OOP combinations |
| Sheet 9 | โณ Upcoming | Dynamic programming & analysis |
| Sheet 10+ | โพ๏ธ Endless | Real-world backend & architecture |> ๐ The tracker reflects continuous improvement โ not a final destination.
---
## ๐ฎ What's Next?
This hub will keep expanding with:
- โจ **Recursive Problem Solving & Memoization**
- โจ **Data Structures from Scratch** โ Linked Lists, Trees, HashMaps
- โจ **Multithreading Challenges** โ Runnable, Threads, Sync
- โจ **File Handling & Stream APIs**
- โจ **JUnit & Integration Testing**
- โจ **Mini Backend Systems** โ CLI projects, service layers, modular logic
- โจ **Controller-based Architecture** โ Preparing for scalable backend design> ๐ฏ **Goal:** Build the mindset and codebase of a real software engineer โ not just a student.
---
## ๐ Getting Started
### 1. Clone the Repository
```bash
git clone https://github.com/ehab-elshimi-developer/java-problem-solving-sheets.git
```
### 2. Open in Your Preferred Java IDE
๐ก **Recommended**: [IntelliJ IDEA](https://www.jetbrains.com/idea/) or [VS Code](https://code.visualstudio.com/) with **Java Extension Pack**---
### 3. Explore & Run
This repository follows a **modular, auto-scalable structure** powered by `Generator.java`.Each set of problems is organized into folders:
```
src/
โโ sheet1/
โ โโ Sh1Pr1.java
โ โโ Sh1Pr2.java
โ โโ ...
โโ sheet2/
โ โโ ...
โโ ...
```โ **Naming Convention**
`ShXPrY.java` โ where `X = sheet number`, `Y = problem number`---
### ๐ Run a Specific Problem
Update `Main.java`:```java
runProblem(6, 4); // Executes sheet6.Sh6Pr4
```---
### ๐ Run a Full Sheet
```java
testGeneratedSheet(6); // Executes Sh6Pr1 to Sh6Pr10
```๐งช **Reflection** is used to dynamically load and invoke the `.run()` method of each class.
---
### โ๏ธ Use the Generator
Run `Generator.java` to:- ๐ Detect the latest existing sheet
- ๐ Create the next sheet automatically (e.g., `sheet7/`)
- ๐งฑ Generate files like `Sh7Pr1.java` to `Sh7Pr6.java`
- ๐ ๏ธ Update `Main.java` for immediate execution๐งญ Whether you're starting with syntax or diving into algorithms โ just generate and go.
---
## ๐ท๏ธ Tags
`Java` `Problem Solving` `Backend Development` `OOP`
`Data Structures` `Algorithms` `Multithreading` `Design Patterns`
`SOLID Principles` `Clean Code` `Modularization` `Exception Handling` `Reflection`---
## ๐ค Contributing
This repo is part of a **personal learning journey** โ but open to evolution.If youโd like to:
- ๐ก Suggest a new challenge
- ๐ Improve an existing solution
- ๐ Fix a bug
- โจ Refactor structure or readabilityFeel free to:
- ๐ฅ [Open an Issue](https://github.com/ehab-elshimi-developer/java-problem-solving-sheets/issues)
- ๐ [Submit a Pull Request](https://github.com/ehab-elshimi-developer/java-problem-solving-sheets/pulls)๐ **All contributions are welcome!**
---
## ๐จโ๐ป Author
**Ehab Elshimi**
๐ฏ *Aspiring Backend Java Developer*
๐ *Egypt โ Preparing for European opportunities*
๐ก *Passionate about clean architecture & scalable systems*
๐ฌ [ehabelshimi.dev@gmail.com](mailto:ehabelshimi.dev@gmail.com)
๐ [@ehab-elshimi-developer](https://github.com/ehab-elshimi-developer)---
> ๐ง *"Train your mind to solve problems like an engineer. Write code like youโre building a system, not just passing a test."*
> โ **Ehab Elshimi** ๐