Honestly, If you don't know Jass, maybe you should start learning Lua instead right away, it offers infinitely more possibilities than GUI and even than Jass.
The code is also more flexible, and Lua is a scripting language used in many more situations than Warcraft or even Wow.
This said, the first step is reading common.j and blizzard.j from the Casc storage (search for Casc View) to get accustomed to the game natives, as there is no real coding you can make in map making without knowing quite a few of them.
There is also plenty of information on these forums to help understanding how the natives behave in real situations.
Good luck !!!
Damage Engines, I believe are libraries that use this specific event to develop complex detection systems that cannot be obtained by normal means.
There are many systems like this on these forums, please use the search function.