Foundations
Faangshui Foundations is your first step toward building FAANG-level problem-solving skills. A self-paced course with a structured curriculum with a focus on the fundamentals and building problem-solving muscle.
Your Progress
The Curriculum
Chapter 1: Accumulators
Master the art of combining data.
Learn to use accumulators to process arrays by summing, multiplying, or collecting data. This fundamental technique is essential for solving many coding problems efficiently.
Lesson 2: The Trials of Mastery - Accumulators
Lesson 3: A Wake Up Call
Chapter 2: Loops and Arrays
Unlock the power of iteration and traversal.
Learn to traverse and manipulate arrays using loops, from basic iteration to advanced nested techniques.
Lesson 1: A Day in the Library
Lesson 2: Revisiting Loops
Lesson 3: Nested Loops
Lesson 4: The Trials of Mastery - Loops
Lesson 5: The Unwelcome Flame
Chapter 3: Indexing
Discover how to access and manipulate elements in arrays with precision. From simple indexing to advanced slicing techniques, this chapter will make you comfortable working with data at any level.
Lesson 1: Everything Has Its Own Place
Lesson 2: More Indexing Techniques
Lesson 3: The Trials of Mastery - Indexing
Chapter 4: Dynamic Pointers (Two Pointers)
Learn the art of efficient problem-solving.
This chapter introduces the powerful pointer technique for solving problems involving arrays and strings.
Lesson 1: Dynamic Pointers
Lesson 2: The Trials of Mastery - Dynamic Pointers
Chapter 5: Sliding Window
Master the Sliding Window technique to solve problems efficiently.
Learn how to efficiently process data in a window that slides over an array.
Lesson 1: The Sliding Windows
Lesson 2: The Trials of Mastery - Sliding Windows
Chapter 6: Counters and Hash Tables
Harness the magic of constant-time lookups.
Explore the versatility of hash tables and how they revolutionize data storage and retrieval.
Lesson 1: Array Counters
Lesson 2: Hash Tables
Lesson 3: The Trials of Mastery - Counters and Hash Tables
Chapter 7: Time & Space Complexities
Understand how algorithms and data structures perform under different conditions. This chapter breaks down the nuances of analyzing time and space complexities, preparing you to write efficient, scalable code.
Lesson 1: Time Complexity
Lesson 2: Space Complexity
Lesson 3: The Trials of Mastery - Time and Space Complexities
Chapter 8: Trials of Mastery
Test your skills and achieve mastery.
Put your knowledge to the test with a curated collection of challenging problems.