Skip to content

Guide · Open source

How to use Projects: practice coding problems in any language

Updated · written with AI from the project's own documentation and checked against our catalogue data

karan/Projects is a list of practical programming problems that you can solve in any language you know. This guide explains how the list is organised, how to get a copy with git, and how to work through a problem from start to finish. By the end you will know how to pick a problem, build a solution, and compare it with others.

Projectskaran/Projects · ★ 48.1k · MIT

Quick start

  1. 1Clone the repository. Run git clone https://github.com/karan/Projects to download the list to your computer.
  2. 2Choose a category. Open the folder for a category that matches your current level, such as Numbers or Graph.
  3. 3Pick one problem. Read the problem description and note the inputs, outputs and any optional requirements.
  4. 4Write a basic solution. Use the language you know to build the core version of the program.
  5. 5Test with small examples. Check your output by hand on a small input before adding extra features.
  6. 6Compare with solutions. After your own attempt, look at implementations in the Projects-Solutions repository.

What is karan/Projects and who is it for?

The repository is a collection of short problem descriptions, such as calculators, sorting algorithms, graph problems and a simple search index. Each entry says what a program should do, but not how to do it, so you can build it in whatever language you already know.

It suits beginners who want exercises after a basic language course, students preparing for assignments or interviews on algorithms, developers learning a new language, and teachers who need problem statements to assign.

  • Good fit: concrete practice tasks after a first course
  • Good fit: learning a new language by solving familiar problems
  • Not a fit: ready-made apps or libraries, since it only lists problems
  • Not a fit: step-by-step explanations, because entries are brief task descriptions

Get a copy of the repository

The README's install step is to clone the repository with git. Cloning downloads the problem list to your computer so you can read it offline and keep your own notes beside it. The README also says that to get started you can fork the repo, which gives you a copy under your own GitHub account.

The README lists no prerequisites beyond the repository itself. You will still need a programming language and an editor of your choice to write your solutions.

git clone https://github.com/karan/Projects

Find a problem by category

Problems are grouped into categories, and each category has its own folder. The README's table of contents lists the sections: Numbers, Classic Algorithms, Graph, Data Structures, Text, Networking, Classes, Threading, Web, Files, Databases, Graphics and Multimedia, and Security.

Start with a category that matches what you are learning. Numbers and Text contain simpler tasks such as Fizz Buzz and the Fibonacci Sequence, while Graph and Data Structures hold harder problems such as Dijkstra's Algorithm and an inverted index for full text search.

  • Numbers: Fibonacci Sequence, Prime Factorization, Happy Numbers, Coin Flip Simulation
  • Classic Algorithms: Collatz Conjecture, Sorting (merge sort and bubble sort), Sieve of Eratosthenes
  • Graph: Connected Graph, Eulerian Path, Minimum Spanning Tree
  • Data Structures: Inverted index
  • Text: Fizz Buzz

Solve a problem step by step

Read the problem statement and write down the inputs and outputs it asks for. Many entries include extra requirements, often marked as optional, such as a scientific mode for the calculator or a compounding option for the mortgage calculator. Decide whether you will do them now or later.

Write a first version that handles the basic case, then test it with a small input you can check by hand. For example, the Happy Numbers entry asks you to find the first 8 happy numbers, so you can confirm your output against that list before adding more features.

  • Restate the task and its inputs and outputs in your own words
  • Build the simplest version that meets the core requirement
  • Check the result by hand on a small example
  • Add the optional features once the core works

Compare your work with other solutions

The README points to a separate repository, Projects-Solutions, where implementations of these projects in many other languages are kept by other users. Use it after you have made a real attempt, so you can compare approaches and see how someone else solved the same task.

The README also explains how to contribute. You can add solutions to the Projects-Solutions repository, add new projects, or remove existing ones, and it asks contributors to follow all instructions properly.

  • Solutions are not stored in the Projects repository itself
  • Read the contributing guide before submitting changes

What people use it for

  • A beginner practising loops and conditionals with Fizz Buzz and the Change Return Program
  • A student preparing for an algorithms interview by implementing merge sort and Dijkstra's Algorithm
  • A developer learning a new language by solving the Unit Converter or Calculator in it
  • A teacher assigning the Credit Card Validator or the Sieve of Eratosthenes as a classroom task

Frequently asked questions

Is karan/Projects free to use?

The repository is licensed under MIT, as listed on its project page. Check the LICENSE file in the repository for the full terms.

What do I need to install to use Projects?

The README lists no prerequisites. The only install step it shows is cloning the repository with git, and you will need a programming language of your choice to write solutions.

Where can I find solutions to the problems?

Solutions are not stored in this repository. The README links to a separate repository, Projects-Solutions, which holds implementations in many languages by other users.

Is this a library or an app I can install?

No. It is a list of problem statements to solve yourself. It does not provide a ready-made app or library.

How is Projects different from Codewars or Exercism?

Projects is a plain list of problem descriptions in a repository, with no step-by-step explanations. Codewars and Exercism are platforms for practising exercises and are not described in this source, so check their own sites for their features.

Can I add my own problems?

Yes. The README says you can contribute solutions, add new projects or remove existing ones, and asks contributors to follow the instructions in the contributing guide.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use karan/Projects if you want a free, concrete list of problems to solve in your own language, and you are happy to work out the approach yourself. Pick a different resource if you need worked explanations, a guided course, or a ready-made tool, since this list only describes tasks.

Install options & downloads