Roadmap
- Paradigms
- Procedural Programming (Javascript)
- [x] If statement
- [x] Switch statement
- Loop statement
- [x] While
- [x] Do ... while
- [x] For
- Data structure
- [x] Array
- [x] Stack
- [x] Queue
- [x] Matrix
- [x] Direct address table
- [x] Hash tables
- [ ] Binary Trees
- [ ] Graphs
- [ ] Heaps
- [ ] Set
- [ ] Map/Dictionary
- Object-Oriented Programming (C#, Java and Typescript)
- [x] Inheritance
- Polymorphism
- [x] Static Polymorphism
- [x] Dynamic Polymorphism
- [x] Encapsulation
- Association
- [x] Association
- [x] Aggregation
- [x] Composition
- [ ] Abstraction
- Functional Programming (Python)
- Algorithms
- [x] Big O notation
- [ ] Binary Tree: Add and Remove
- [ ] Binary Tree: Binary Search Algorithm
- [ ] Graph: Breadth First Search (BFS) Algorithm
- [ ] Graph: Depth First Search (DFS) Algorithm
- [ ] Merge Sort Algorithm
- [ ] Quicksort Algorithm
- [ ] Kruskal’s Algorithm
- [ ] Floyd Warshall Algorithm
- [ ] Dijkstra’s Algorithm (https://en.wikipedia.org/wiki/Dijkstra's_algorithm)
- [ ] Bellman Ford Algorithm
- [ ] Kadane’s Algorithm
- [ ] Lee Algorithm
- [ ] Flood Fill Algorithm
- [ ] Floyd’s Cycle Detection Algorithm
- [ ] Union Find Algorithm
- [ ] Topological Sort Algorithm
- [ ] KMP Algorithm
- [ ] Insertion Sort Algorithm
- [ ] Selection Sort Algorithm
- [ ] Counting Sort Algorithm
- [ ] Heap Sort Algorithm
- [ ] Kahn’s Topological Sort Algorithm
- [ ] Huffman Coding Compression Algorithm
- [ ] Quickselect Algorithm
- [ ] Boyer–Moore Majority Vote Algorithm
- [ ] Euclid’s Algorithm
- Design Patterns
- [ ] Decorator pattern
- [ ] Singleton pattern
- [ ] Factory method pattern
- [ ] Immediately Invoked Function Expressions (IIFE)
- [ ] Observer pattern
- [ ] Chain of responsibility
- [ ] Module pattern
- [ ] Adapter pattern
- [ ] Command pattern
- [ ] Layered pattern
- [ ] Client-server pattern
- [ ] Master-slave pattern
- [ ] Pipe-filter pattern
- [ ] Broker pattern
- [ ] Peer-to-peer pattern
- [ ] Event-bus pattern
- [ ] Model-view-controller pattern
- [ ] Blackboard pattern
- [ ] Interpreter pattern
- Optimization
- [ ] Code performance optimization
- Databases
- [x] PostgreSQL
- [x] MySQL/MariaDB
- [x] SQL Server
- [x] Master relational data modeling
- [ ] MongoDB
- [ ] Master non-relational data modeling
- Networking
- [ ] Understand the OSI model
- [ ] Understand the HTTP, SMTP and SSH protocols
- [ ] Understand how SSL/TLS works at a low level
- [ ] Data compression algorithms/libraries
- [x] REST API patterns and versioning
- [x] Developing GraphQL servers and clients