Module 3: Technical Preparation
Building Arrays and Moving Windows
Module Overview
Module 3 focuses on working with 2D arrays and applying the moving window technique to solve array-based problems. These concepts are fundamental in technical interviews and coding assessments, especially for data processing and algorithm implementation.
Through this module, you'll build a solid understanding of how to create, access, and manipulate multi-dimensional arrays, as well as how to efficiently process arrays using sliding window approaches.
Learning Objectives
- Define 2D arrays and how to access elements within them
- Apply moving window techniques to arrays
Core Competencies
2D Array Review
Build 2D Array Part 1 - Understand
Build 2D Array - Part 2 - Plan
Build 2D Array - Part 3 - Execute
Build 2D Array - Part 4 - Reflect
Moving Windows Part 1 - Understand
Moving Windows Part 2 - Plan
Moving Windows Part 3 - Execute
Moving Windows Part 4 - Execute
Moving Windows Part 5 - Reflect
Guided Project
In the guided project, we'll explore sliding window algorithms, which show up frequently on the GCA and in technical interviews. These algorithms are essential for efficiently processing arrays and solving optimization problems.
Module Assignment
To reinforce your understanding of 2D arrays and moving window techniques, complete the following activities:
LeetCode Practice
For this sprint, we'll be using LeetCode to practice our problem-solving skills.
Assignment Tasks
- Log in to your LeetCode account
- Attempt at least 10 problems on your own, applying the 4-step problem-solving framework
- Complete at least 3 problems from the recommended list below
- Focus on problems involving 2D arrays and sliding window techniques
- For each problem:
- Apply the four-step problem-solving framework
- Document your thought process for each step
- Implement your solution and test it with the provided test cases
- After solving, review the Discussion section to see different approaches
- Analyze the time and space complexity of your solution
- Pay special attention to time and space complexity analysis
- Reflect on how 2D array access patterns affect the efficiency of your algorithms
- Practice explaining your approach as if you were in a technical interview
Recommended LeetCode Problems
Regular practice is essential for success on the GCA. Focusing on 2D arrays and sliding window problems will help you build critical algorithmic thinking skills needed for the assessment.
General Code Assessment (GCA)
As part of this module, you will take the official General Code Assessment (GCA) test on CodeSignal. This standardized assessment evaluates your coding skills and provides a score that reflects your programming proficiency.
About the GCA:
- The assessment consists of 4 programming tasks to complete in 70 minutes
- You should aim for a score of 295 or higher
- Your highest score is tracked in the BloomTech database
Taking the GCA:
Remember: Regular practice on LeetCode problems using the 4-step problem-solving framework will help you succeed on the GCA. Focus on understanding problems thoroughly before implementing solutions.