I've been using Mininet in practical sessions for undergraduate computer networking courses for a while. The tool has great features and provided the required capabilities for our course works. However, Python scrips required to model a network topology was a trouble at some points because some students who were not good at Python programming faced difficulties in understanding networking concepts using Mininet. Meanwhile, I had a requirement to setup an IPv6 based network in a recent demonstration and found that Mininet is not capable of building IPv6 based networks.
After searching for a while on other available options, I found another interesting network emulator called CORE network emulator. This tool provided me easy setup of different network topologies by visually dragging and dropping components on a canvas. Setting IP addresses for each host and router interface could be done by either filling information on a graphical window or by using command line. It seems the features of the emulator are very intuitive and I believe that a student can easily self-learn how to model a network and test different things he/she learned using the emulator.
On a Ubuntu GNU/Linux 16.04 LTS machine, I was able to install the emulator by using the apt repositories easily as follows.
sudo apt-get update
sudo apt-get install core-network
We can start the emulator from the command line by using the following command which will bring up the emulator window.
core-gui
There are nice tutorials and resources to learn about how to use this emulator in the web. I will list some of them in the references list below.
References: