Click Here to see full syllabus
A collection of resources that you might find helpful.
Our contribution guidelines have been changed. Please check it here before making any pull request.
| Emoji | Meaning | Mardown | 
|---|---|---|
| ✔️ | Done | :heavy_check_mark: | 
| ➖ | N/A | :heavy_minus_sign: | 
| ❌ | Not Done | :x: | 
| Review Needed | :warning: | 
| Section | Topic | Notes | Video Resources | Reading Resources | Practice Resources | 
|---|---|---|---|---|---|
| Java Overview | ➖ | ✔️ | ❌ | ✔️ | ❌ | 
| Environmental Setup | ➖ | ✔️ | ✔️ | ❌ | ➖ | 
| Introduction to Object Oriented Programming | Object Oriented Paradigm | ✔️ | ✔️ | ✔️ | ❌ | 
| Abstraction | ✔️ | ✔️ | ✔️ | ✔️ | |
| Encapsulation | ✔️ | ✔️ | ✔️ | ❌ | |
| Inheritance | ✔️ | ✔️ | ✔️ | ❌ | |
| Polymorphism | ✔️ | ✔️ | ✔️ | ❌ | |
| Data Types | Primitive Types | ✔️ | ✔️ | ✔️ | ✔️ | 
| Arrays | ✔️ | ✔️ | ✔️ | ✔️ | |
| Strings | ✔️ | ✔️ | ✔️ | ✔️ | |
| Literals | ✔️ | ❌ | ❌ | ❌ | |
| Variables | What is Variable? | ✔️ | ❌ | ✔️ | ✔️ | 
| Scope and Liftime | ✔️ | ❌ | ✔️ | ✔️ | |
| Type Conversion and Casting | ✔️ | ✔️ | ❌ | ✔️ | |
| Automatic Type Promotion | ✔️ | ❌ | ❌ | ✔️ | |
| Operators | Arithmatic Operators | ✔️ | ✔️ | ❌ | ❌ | 
| Bitwise Operators | ✔️ | ❌ | ❌ | ❌ | |
| Relational Operators | ✔️ | ✔️ | ❌ | ❌ | |
| Boolean Logical Operator | ✔️ | ✔️ | ❌ | ❌ | |
| Ternary Operator | ✔️ | ✔️ | ❌ | ❌ | |
| Unary Operator | ✔️ | ❌ | ❌ | ❌ | |
| Assignment Operator | ✔️ | ✔️ | ❌ | ❌ | |
| Control Statements | 'if' Statements | ✔️ | ✔️ | ✔️ | ✔️ | 
| switch | ✔️ | ✔️ | ✔️ | ❌ | |
| Loops | ✔️ | ✔️ | ✔️ | ✔️ | |
| Jump Statements | ✔️ | ❌ | ✔️ | ❌ | |
| Classes and Objects | Class Fundamentals | ✔️ | ✔️ | ✔️ | ❌ | 
| Objects and The 'new' Keyword | ✔️ | ✔️ | ✔️ | ❌ | |
| Methods | ✔️ | ✔️ | ✔️ | ❌ | |
| Constructors | ✔️ | ✔️ | ✔️ | ❌ | |
| Access Control | ✔️ | ❌ | ✔️ | ❌ | |
| More on Classes | 'static' Keyword | ✔️ | ✔️ | ✔️ | ✔️ | 
| Nested or Inner Classes | ✔️ | ✔️ | ✔️ | ❌ | |
| 'final' Keyword | ✔️ | ✔️ | ✔️ | ❌ | |
| Inheritance | Basics | ✔️ | ✔️ | ✔️ | ✔️ | 
| 'super' Keyword | ✔️ | ❌ | ✔️ | ✔️ | |
| Multilevel Hierarchy | ✔️ | ❌ | ❌ | ✔️ | |
| Method Overriding | ✔️ | ✔️ | ✔️ | ✔️ | |
| Abstract Classes and More on 'final' Keyword | ✔️ | ✔️ | ✔️ | ✔️ | |
| The 'Object' Class | ✔️ | ❌ | ✔️ | ✔️ | |
| Interfaces | Introduction | ✔️ | ✔️ | ✔️ | ✔️ | 
| Nested Interfaces and Extending Interfaces | ✔️ | ❌ | ✔️ | ✔️ | |
| Variables and Methods in Interfaces | ✔️ | ❌ | ✔️ | ❌ | |
| Packages | Packages and CLASSPATH | ✔️ | ✔️ | ✔️ | ❌ | 
| 'import' Keyword | ✔️ | ❌ | ✔️ | ❌ | |
| Access Control Revisited | ✔️ | ✔️ | ✔️ | ❌ | |
| Exception Handling | Exception Handling Fundamentals | ✔️ | ✔️ | ✔️ | ✔️ | 
| 'try-catch' Block | ✔️ | ✔️ | ✔️ | ✔️ | |
| Nested try and Multiple catch Clauses | ✔️ | ✔️ | ✔️ | ✔️ | |
| 'throw' and 'throws' Keyword | ✔️ | ✔️ | ✔️ | ✔️ | |
| 'finally' Keyword | ✔️ | ✔️ | ❌ | ✔️ | |
| Built-in Exceptions and Custom Exceptions | ✔️ | ❌ | ✔️ | ✔️ | |
| Chained Exceptions and Other Features | ✔️ | ❌ | ✔️ | ✔️ | |
| Multithreaded Programing | Process and Threads | ✔️ | ✔️ | ✔️ | ✔️ | 
| Creating Threads | ✔️ | ✔️ | ✔️ | ✔️ | |
| Multiple Threads | ✔️ | ✔️ | ✔️ | ✔️ | |
| Thread Priorities | ✔️ | ❌ | ❌ | ❌ | |
| Synchronization | ✔️ | ❌ | ✔️ | ✔️ | |
| Interthread Communication | ✔️ | ❌ | ✔️ | ✔️ | |
| Deadlock | ✔️ | ❌ | ✔️ | ✔️ | |
| Enumerations, Type Wrappers, Autoboxing and Annotations | Enumerations | ✔️ | ✔️ | ✔️ | ❌ | 
| Type Wrappers and Autoboxing | ✔️ | ❌ | ✔️ | ❌ | |
| Annotations | ❌ | ❌ | ❌ | ❌ | |
| Java I/O | Streams | ✔️ | ❌ | ✔️ | ✔️ | 
| Reading Console Input | ✔️ | ❌ | ✔️ | ✔️ | |
| Writing to Console | ✔️ | ❌ | ✔️ | ✔️ | |
| Reading and Writing Files | ✔️ | ✔️ | ✔️ | ✔️ | |
| Generics | Generic Classes | ✔️ | ✔️ | ✔️ | ❌ | 
| Generic Methods, Constructors and Interfaces | ✔️ | ❌ | ✔️ | ❌ | |
| Wildcard Arguments | ✔️ | ✔️ | ✔️ | ❌ | |
| Lambda Expressions | Lambda Expression Fundamentals | ✔️ | ❌ | ✔️ | ❌ | 
| More Fundamental Concepts | ✔️ | ❌ | ✔️ | ❌ | |
| Method References | ✔️ | ❌ | ✔️ | ❌ | |
| Java Collections | ➖ | ❌ | ❌ | ❌ | ❌ |