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

Lessons Progress 0/25
Tasks Progress 0/151

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.

Lesson 1: Advanced Trials of Mastery - Sliding Windows

Lesson 2: Advanced Trials of Mastery - Dynamic Pointers

Lesson 3: Advanced Trials of Mastery - Loops

Lesson 4: Advanced Trials of Mastery - Counters and Hash Tables