A curated collection of hands-on examples and implementations to learn and apply various Software Engineering concepts, powered by Java.
The data structures are the way to organize and store data in a computer so that it can be used efficiently. The data structures are used to make working with data easier. Read Data Structures README to see the complexity of each data structure.
- Array
- ArrayList (Aynamic Array)
- LinkedList
- Stack
- Queue
- Hash Table (using Array)
- Refresh Collections (pre-defined data structures)
- Single Responsibility Principle (SRP)
- Open/Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
Test-Driven Development (TDD) is a software development process of writing tests before writing the actual code.
Kata is a simple coding exercise that help you practice TDD.
Solutions to recurring problems and are formalized best practices that the programmer can use to solve common problems when designing an application.