 Although "emergent" has a graphical user interface, it is very complex and has a steep learning curve.If you want to understand the algorithm in detail, it will be easier to read non-optimzed code.For this purpose, check out the MATLAB version.