data-structures-algorithms-sprint.md

May 9, 2026 ยท View on GitHub

Data Structures and Algorithms Sprint (2-3 Weeks)

Quick links: Group Topics | Schedule | Deliverables

Data structures and algorithms are the core building blocks of all code. This sprint is expanded to span approximately 2-3 weeks, allowing each group to thoroughly work through all the DSA topics in sequence rather than just focusing on a single topic.

Expectations

You are not expected to be experts on these topics immediately. This material is usually covered in 1-2 semesters of a Computer Science undergraduate degree. Almost all technical interviews require knowledge of data structures and algorithms, so having a strong foundation in these concepts will significantly help your career prospects. We're introducing these concepts gradually to allow you time to practice and build expertise over several weeks.

Topics Overview

While these topics are distributed across the broader curriculum, this topic outline challenges you to be exposed to DSA topics intensively over a 2-3 week period:

Sprint 1

Sprint 2

  • Heap data structures
  • Double-ended queues (deque)
  • Hash Tables
  • JS Map
  • JS Set
  • Collision resolution strategies
  • Sorting Algorithms
  • Bubble sort implementation
  • Selection sort implementation
  • Insertion sort implementation
  • Advanced Sorting
  • Merge sort implementation
  • Quick sort implementation
  • Radix sort implementation

Sprint 3

Group Topics

During the 2-3 week sprint, each group will work through all the DSA topics, with groups focusing on different areas in each sprint:

Sprint 1

Group A

Group B

Group C

  • Implementation and operations
  • Basic operations and manipulations of arrays and objects
  • Sliding window technique for array/string problems

Group D

Group E

  • Space complexity considerations
  • Analyzing algorithm efficiency

Group F

Sprint 2

Group A

  • Heap data structures
  • Double-ended queues (deque)

Group B

Group C

Group D

  • Bubble sort implementation
  • Selection sort implementation
  • Insertion sort implementation

Group E

Group F

  • Quick sort implementation
  • Radix sort implementation

Sprint 3

Group A

Group B

  • Trees
  • Binary tree implementation
  • Binary search tree operations

Group C

  • Self-balancing trees
  • AVL tree implementation and rotations

Group D

  • Review of tree concepts
  • Red-black tree concepts
  • B-trees and their applications

Group E

Group F

Group Presentation

Each group will deliver a ~30-minute presentation on their assigned topic, with each group member contributing during the presentation. The presentation should include:

  1. Technical Depth
    • What are the unique properties of it? (Big O Notation, etc)
    • What makes the concept useful?
    • Practical use cases, how to use the concept, and real-world application.
    • Include interactive elements of at least 10 visuals
  2. Code Examples and Demos
    • Provide hands-on coding demonstrations
    • Show practical implementations of key concepts
    • Challenge your attendees with a brief prompt
      • encourage them to work on the solution independently
      • offer your support to answer any questions
      • the prompt should be solvable in <30mins
      • prepare small hints to give throughout the 30 mins for encouragement
  3. Best Practices and Pitfalls
    • Discuss common mistakes and how to avoid them
    • Highlight best practices specific to the technology
    • Address performance optimization tips
    • Address common misconceptions or doubts
  4. Continued Learning
    • share three async prompts for others to solve
      • each group member should send their individual prompt solutions ahead of your presentation to the STEM
      • each prompt should be solvable in 30-60 mins
      • each attendee will choose a single prompt to solve and turn in a a solution to the STEM
  5. Additional Resources
    • Include any videos, code challenges, or blogs that your group found helpful.

Individual Assessment

Complete the tasks outlined in the Data Structures and Algorithms Assessment. This involves explaining various data structures and algorithms in a private gist.

Weekly Sprint Schedule

Each week's schedule follows a similar pattern, adapted to the specific topic of that week. Below is a representative schedule:

Day 1: Topic Introduction

  • Morning: Introduction to the week's topic and its relevance.
  • Activity:
    • Overview of key concepts and applications.
    • Group formation for collaborative work.
  • Homework: Review relevant documentation and resources.

Day 2: Deep Dive & Practice

  • Activity:
    • Deeper exploration of the topic.
    • Implement basic operations related to the data structure or algorithm.
  • Homework: Complete assigned practice problems.

Day 3: Problem Solving

  • Activity:
    • Group work on problem-solving using the week's concepts.
    • Peer code reviews and discussions.
  • Homework: Continue working on practice problems.

Day 4: Application & Extensions

  • Activity:
    • Apply concepts to real-world scenarios.
    • Explore advanced features or variations of the week's topic.

Day 5: Review & Assessment

  • Morning: Review session and Q&A.
  • *Afternoon:** Weekly assessment and preparation for next week's topic.
  • Group presentations may be scheduled periodically to reinforce learning and practice communication skills.