YouTube is where I share my knowledge and practices on various topics in software engineering. Below are the playlists I have curated so far based on my personal learning from books, blogs, videos, and other online courses.
For someone who is very new to the world of software engineering, I recommend to follow the playlists in the order they are listed below.
If you find them helpful, please consider subscribing to my channel for more such learning. Do leave a comment on the videos if you have any feedback or suggestions.
Master DSA with C++ fundamentals, Big-O notation, data structures, searching, sorting, and problem-solving techniques.
C++ Fundamentals including dynamic memory management, 2d vectors, templates, and more
Big-O Notation
Data Structures: Arrays, Strings, Linked Lists, HashMaps, Stacks, Queues, Trees, Graphs
Searching: Binary, Linear
Sorting: Bubble, Selection, Merge
Techniques: Two Pointers, Sliding Window, Recursion, Dynamic Programming, Backtracking
Algorithmic Approaches: Dijkstra’s Algorithm, Kruskal’s Algorithm
Each topic explained with theory on whiteboard, followed by coding examples and leet code problems
Learn the SOLID principles of object-oriented design to write maintainable and scalable code.
Single Responsibility Principle
Open/Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
Understand LLD with real-world system designs and design patterns including Singleton, Factory, Observer, and more.
Creational Design Patterns: Singleton, Factory, Abstract Factory, Builder, Prototype
Structural Design Patterns: Adapter, Decorator, Composite, Proxy, Bridge, Facade, Flyweight
Behavioral Design Patterns: Strategy, Observer, Template Method, Command, Iterator, State, Chain of Responsibility, Mediator, Memento, Visitor, Interpreter
Real-World Systems: Elevator System, Ride Booking, Movie Ticket Booking, Food Delivery