DocsHub

Introduction

Practice programming with real exercises across Python, JavaScript, C#, and DSA — from beginner to advanced.

Exercises

Reading about programming is one thing. Actually solving problems is another. This is where real understanding comes from — not from reading about loops, but from sitting down and figuring out why your loop runs one time too many.

This section is a collection of programming exercises organized by language and difficulty. No hand-holding, no multiple choice. Just a problem, your brain, and a keyboard.


How this works

Every exercise follows the same format:

  • Problem — what you need to solve, written clearly in plain English
  • Examples — input and output pairs so you know exactly what is expected
  • Think about it — a few questions to guide your thinking before you look at anything
  • Logic — a step by step breakdown of how to approach the solution
  • Diagram — a visual of the flow where it genuinely helps
  • Solution — clean, commented code
  • Execution walkthrough — a trace through the code with real values so you see exactly what happens at each step

The goal is not just to show you the answer. It is to show you how to think about the problem — so next time you face something similar, you can work it out yourself.


What we cover


Difficulty levels

Every language section is split into three levels:

Beginner — single concept problems. One loop, one condition, one idea. If you just finished learning a language's basics, start here. These build confidence and make sure the fundamentals are solid before moving on.

Intermediate — problems that require combining multiple concepts together. You need to think about what data structure to use, how to structure your loop, how to handle edge cases. These are where real understanding forms.

Advanced — proper problem solving. These are the kind of problems that appear in technical interviews and competitive programming. They require knowing your data structures well, thinking about efficiency, and breaking down complex problems into smaller pieces.


DSA — what is it and why does it matter

Data Structures and Algorithms is the foundation of computer science. Every program you write uses them — whether you realize it or not.

A data structure is how you organize data. A list, a dictionary, a stack, a tree — each one is designed for a specific kind of problem.

An algorithm is a step-by-step process to solve a problem. Searching, sorting, finding shortest paths — these are algorithms.

Understanding DSA makes you a better programmer in any language. The exercises in the DSA section are written in Python but the concepts apply everywhere.


How to use this section

Do not jump straight to the solution. Read the problem, read the examples, and try to solve it yourself first — even if your first attempt is messy or wrong. The struggle is where the learning happens.

When you are stuck, read the Think about it section. Those questions are designed to nudge you in the right direction without giving anything away.

Only look at the solution after you have made a genuine attempt. Then compare — not just whether your code works, but whether your approach was clean and readable.


What is coming

Right now this section covers Python exercises across three difficulty levels. More languages and DSA exercises are being added continuously.

LanguageStatus
Python✅ Available
JavaScript🔜 Coming soon
C#🔜 Coming soon
DSA🔜 Coming soon

Start with whatever matches your current level. If you are not sure, start at beginner — even experienced programmers find value in working through fundamentals carefully.

On this page