# donnemartin/interactive-coding-challenges

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/donnemartin-interactive-coding-challenges).**

31,185 stars · 4,637 forks · Python · other

## Links

- GitHub: https://github.com/donnemartin/interactive-coding-challenges
- awesome-repositories: https://awesome-repositories.com/repository/donnemartin-interactive-coding-challenges.md

## Topics

`algorithm` `coding` `competitive-programming` `data-structure` `development` `interview` `interview-practice` `interview-questions` `programming` `python`

## Description

This project is a comprehensive curriculum for mastering computer science fundamentals and preparing for technical interviews. It provides over 120 interactive Python coding challenges that focus on algorithmic skill development, data structure implementation, and logical problem solving.

The learning experience is delivered through a series of executable notebooks that combine instructional content with hands-on coding exercises. Each challenge is self-contained and relies on automated unit tests to verify the correctness of user-implemented solutions against predefined constraints and edge cases. To support long-term retention, the repository also includes a set of digital flashcards designed for spaced-repetition study of core programming concepts and design patterns.

The curriculum covers a broad range of topics, including arrays, strings, linked lists, stacks, queues, graphs, trees, recursion, dynamic programming, and bit manipulation. All solutions are implemented using the Python standard library to ensure portability and focus on fundamental language features.

## Tags

### Education & Learning Resources

- [Coding Interview Preparation](https://awesome-repositories.com/f/education-learning-resources/coding-interview-preparation.md) — 120+ interactive Python coding interview challenges (algorithms and data structures). Includes Anki flashcards. ### Topics python development algorithm programming data-structure interview competitive-programming coding ([source](https://github.com/donnemartin/interactive-coding-challenges#readme))
- [Educational Notebooks](https://awesome-repositories.com/f/education-learning-resources/educational-notebooks.md) — A series of executable documents that combine instructional content with code challenges to teach data structures and algorithm design.
- [Interview Preparation Resources](https://awesome-repositories.com/f/education-learning-resources/interview-preparation-resources.md) — A collection of algorithmic coding challenges designed to help developers practice for technical interviews through hands-on problem solving.
- [Learning Curricula](https://awesome-repositories.com/f/education-learning-resources/learning-curricula.md) — A structured path for mastering computer science fundamentals through categorized coding exercises and integrated unit testing for verification.
- [Algorithmic Training](https://awesome-repositories.com/f/education-learning-resources/algorithmic-training.md) — Learning to solve complex computational problems by working through structured exercises that focus on efficiency, logic, and optimal code design.
- [Computer Science Fundamentals](https://awesome-repositories.com/f/education-learning-resources/computer-science-fundamentals.md) — Reviewing core academic concepts like recursion, sorting, and graph traversal to strengthen the foundational knowledge required for professional software development.
- [Spaced Repetition Systems](https://awesome-repositories.com/f/education-learning-resources/spaced-repetition-systems.md) — Integrates spaced-repetition data formats to help learners memorize core concepts and patterns outside of the primary coding environment.
- [Interactive Coding Environments](https://awesome-repositories.com/f/education-learning-resources/interactive-coding-environments.md) — Using hands-on coding environments to experiment with programming concepts and verify solutions immediately through integrated unit tests and feedback.
- [Interactive Notebook Environments](https://awesome-repositories.com/f/education-learning-resources/interactive-notebook-environments.md) — Uses interactive computational documents to combine explanatory text with executable code cells for immediate feedback and experimentation.
- [Competitive Programming Platforms](https://awesome-repositories.com/f/education-learning-resources/competitive-programming-platforms.md) — Online Judges — a named example documented in this learning resource. ([source](https://github.com/donnemartin/interactive-coding-challenges#readme))
- [Array and String Algorithms](https://awesome-repositories.com/f/education-learning-resources/array-and-string-algorithms.md) — Arrays and Strings — a named example documented in this learning resource. ([source](https://github.com/donnemartin/interactive-coding-challenges#readme))
- [Coding Challenges](https://awesome-repositories.com/f/education-learning-resources/coding-challenges.md) — Code (Challenge: Implement Me!) — a named example documented in this learning resource. ([source](https://github.com/donnemartin/interactive-coding-challenges#readme))
- [Dynamic Programming Tutorials](https://awesome-repositories.com/f/education-learning-resources/dynamic-programming-tutorials.md) — Recursion and Dynamic Programming — a named example documented in this learning resource. ([source](https://github.com/donnemartin/interactive-coding-challenges#readme))
- [Educational Challenge Frameworks](https://awesome-repositories.com/f/education-learning-resources/educational-challenge-frameworks.md) — Organizes educational content into discrete, self-contained files that isolate specific algorithmic topics for focused study and practice.
- [Flashcards](https://awesome-repositories.com/f/education-learning-resources/flashcards.md) — Anki Flashcards: Coding and Design — a named example documented in this learning resource. ([source](https://github.com/donnemartin/interactive-coding-challenges#readme))
- [Graph and Tree Algorithms](https://awesome-repositories.com/f/education-learning-resources/graph-and-tree-algorithms.md) — Graphs and Trees — a named example documented in this learning resource. ([source](https://github.com/donnemartin/interactive-coding-challenges#readme))
- [Linked List Algorithms](https://awesome-repositories.com/f/education-learning-resources/linked-list-algorithms.md) — Linked Lists — a named example documented in this learning resource. ([source](https://github.com/donnemartin/interactive-coding-challenges#readme))
- [Stack and Queue Algorithms](https://awesome-repositories.com/f/education-learning-resources/stack-and-queue-algorithms.md) — Stacks and Queues — a named example documented in this learning resource. ([source](https://github.com/donnemartin/interactive-coding-challenges#readme))
