- Reading and understand about Java language
- Chapter 01: Java Fundamentals (0.5d)
- Chapter 02: Introducing Data Types and Operators (0.5d)
- Chapter 03: Program Control Statements (0.5d)
- Chapter 04: Class, Object and Method (0.5d)
- Chapter 05: More Data Types and Operators (0.5d)
- Chapter 06: A Closer Look at Methods and Classes (0.5d)
- Chapter 07: Inheritance (0.5d)
- Chapter 08: A Closer Look at Methods and Classes (0.5d)
- Chapter 09: Exception Handling (0.5d)
- Chapter 10: Using I/O (2/3d)
- Chapter 11: Multithreaded Programming (1.5d)
- Chapter 12: Enumerations, Autoboxing, Static Import, and Annotations (2/3d)
- Chapter 13: Chapter 13 Generics (2/3d)
- Chapter 14: Lambada Expressions and Method References (1d)
- Chapter 15: Modules (1d)
- Practice (0.5d)
- Chapter 03: Fundamental Data Structures (0.5d)
- Chapter 05: Recursion (0.5d)
- Chapter 06: Stacks, Queues, and Deques (1d)
- Chapter 07: List and Iterator ADTs (1.5d)
- Chapter 08: Trees (1.5d)
- Chapter 09: Priority Queues (1.5d)
- Chapter 10: Maps, Hash Tables, and Skip Lists (2.5d)
- Chapter 11: Search Trees (2d)
- Chapter 12: Sorting and Selection (1d)
- Collections (3d)
- Summary
- Chapter 04: Introducing streams (0.5d)
- Chapter 05: Working with streams (1d)
- Chapter 06 - Collecting data with streams (2d)
- Chapter 07: Parallel data processing and performance (1.5d)
- JUnit (1d)
- Chapter 08. Refactoring, testing, and debugging (1d)
- Chapter 09. Default methods (0.5d)
- Chapter 10. Using Optional as a better alternative to null (0.5d)
- Chapter 11. CompletableFuture: composable asynchronous programming (1.5d)
- Chapter 12. New Date and Time API (1.5d)
- Practice (7d)
- Singleton Pattern
- Factory Pattern
- Builder Pattern
- Proxy Pattern
- Observer Pattern
- Discussion design pattern link