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 | ➖ | ❌ | ❌ | ❌ | ❌ |