Browse the course
54 visual skribbles across 1 tracks — scroll through them all.
Java
Java Fundamentals
Abstract Classes
FreePartial blueprint - some methods, some holes
Open lesson →Classes & Objects
FreeBlueprints and instances - the core of Java
Open lesson →Constructors
FreeInitialize objects - same name as class, no return type
Open lesson →Control Flow
Freeif/else - make decisions in code
Open lesson →Custom Exceptions
FreeExtend Exception - domain-specific errors
Open lesson →Encapsulation
FreePrivate fields + public methods = controlled access
Open lesson →Exception Handling
Freetry / catch / finally - handle errors gracefully
Open lesson →Garbage Collection
PremiumAutomatic memory management in Java
Open lesson →Generics
PremiumType-safe containers - write once, use for any type
Open lesson →Inheritance
Freeextends - child class inherits from parent
Open lesson →Interfaces
FreeContract - what a class must do, not how
Open lesson →JVM Memory Regions
PremiumStack vs Heap - where your data lives
Open lesson →JVM Pipeline
PremiumFrom .java to running bytecode
Open lesson →Loops
Freefor, while, for-each - repeat with control
Open lesson →Methods
FreeReusable blocks of code with inputs and outputs
Open lesson →Operators & Expressions
FreeArithmetic, comparison, logical, and ternary
Open lesson →Polymorphism
FreeOne supertype, many implementations
Open lesson →String Methods
FreeDeep dive - trim, replace, split & more
Open lesson →String Pool
PremiumWhy identical strings can share one object
Open lesson →Strings
FreeImmutable text - the most-used Java type
Open lesson →The main() Method
FreeWhere every Java program begins
Open lesson →Variables & Primitive Types
FreeThe building blocks of Java data
Open lesson →Wrapper Classes
FreeAutoboxing - primitives meet objects
Open lesson →Collections & Data Structures
ArrayDeque
PremiumDouble-ended queue - fast at both ends
Open lesson →ArrayList: Index-Based Access
PremiumYour go-to List for most use cases
Open lesson →Arrays
PremiumFixed-size, indexed, type-safe containers
Open lesson →HashMap Internals
FreeInside put & get - hashing, buckets, collisions
Open lesson →HashMap: Key-Value Lookup
PremiumFast access by key - O(1) average
Open lesson →HashSet: No Duplicates Allowed
PremiumUnique elements with average O(1) lookup
Open lesson →Iterating Collections
Premiumfor-each, Iterator, forEach - three ways to loop
Open lesson →Java Collections: The Family
FreeKnow the landscape before picking a collection
Open lesson →LinkedList: Insert & Remove Fast
PremiumDoubly-linked nodes - O(1) at both ends
Open lesson →Map
FreeKey-value pairs for fast lookups
Open lesson →Pick the Right Collection
FreeA quick decision guide
Open lesson →PriorityQueue
PremiumHeap-ordered queue - smallest out first
Open lesson →Queue & Deque
PremiumFIFO processing - first in, first out
Open lesson →Sorting Collections
PremiumComparable vs Comparator - natural vs custom order
Open lesson →TreeMap: Sorted Keys
PremiumRed-black tree - keys always in order
Open lesson →TreeSet: Sorted Unique
PremiumRed-black tree - elements always in order, no duplicates
Open lesson →Why Collections?
FreeArrays vs Collections - know the difference
Open lesson →Functional Java
Functional Interfaces
PremiumPredicate & Function - lambdas with a contract
Open lesson →Lambda Expressions
FreeConcise syntax for anonymous functions
Open lesson →Optional
PremiumRepresent an absent return value explicitly
Open lesson →Stream Collectors
PremiumRecipes that collect() applies to a stream
Open lesson →Stream Pipeline
PremiumTransform collections step by step
Open lesson →Concurrency
Concurrent Collections
PremiumThread-safe collections without full locking
Open lesson →Synchronization
PremiumCoordinating shared state between threads
Open lesson →Threads
PremiumCreating and running threads in Java
Open lesson →Gotchas & Pitfalls
The Floating-Point Trap
PremiumWhy 0.1 + 0.2 is not 0.3
Open lesson →The Integer Cache Trap
PremiumWhy == lies for boxed values
Open lesson →The Mutable Key Trap
PremiumWhy your HashSet loses the live object
Open lesson →The equals Without hashCode Trap
FreeWhy your HashSet loses the object
Open lesson →The finally return Trap
PremiumWhy a return in finally hides bugs
Open lesson →The for-each Remove Trap
PremiumWhy removing in a loop throws
Open lesson →