Skip to Content

miniC++: a minimal, drag and drop environment to teach C/C++

Is real programming so much more difficult compared to Scratch? Now even C/C++ programming can be learned in a drag-and-drop, Scratch-like environment.

This project implements a minimal C++ programming environment similar to Scratch’s.

In the miniC++ environment you can drag and drop C++ blocks to:

  • create integer constants, variables and arrays (mono and bidimensional)
  • assign values to integer constants, variables and arrays (mono and bidimensional)
  • define and call integer functions
  • pass arguments by reference
  • I/O integer values

Then you can run a program just clicking on it.

To use the miniC++ environment you have only to download and install BYOB (an advanced version of Scratch by Jens Moenig and Brian Harvey) from (or from and then download and doubleclick the miniC++ project from

The miniC++ 2.0 project includes several sample programs. Remove them for better performances.

Most of the interesting programming tools of C and C++ (structures, pointers, classes) are not present in version 2.0 of miniC++. 

The rationale is that miniC++ is tought as a step from a beginners programming language such as Scratch (or a more advanced programming language such as BYOB) to a regular programming language such as C.

The only parts of C++ that are included in version 2.0 of miniC++ are the iostream (easier than the printf/scanf functions of C) and the passing by reference mechanism (easier than the &/* pair of C).