Assault, Defense, and Engineering
The old medieval Siege and Wait ended by this time. If you really want an idea of a defense of that time, you should learn about the Siege of Vienna in 1683. In that siege, a vastly outnumbered Austrian force held out against a massive Ottoman army. Finally, Poland's winged hussars broke the siege.
Lessons from the Battle: It was the troops that were the best defense. They could only send specialists, and used complex tactics to buy days in a hopeless siege. Things like enemy groups of sappers running into each other as they tunneled, and complex trenches to limit artillery deaths.
A Simple Wall or Moat
Would likely just get steam rolled by any professional army of the time. Think of something like the piranhas and crocodiles so they need food, which wastes yours, but if they are in a hurry, they could just position the moot, fill it with rocks and dirt, or just order your men to build pontoon bridges. (if the animals could even survive). Then say charge after a constant artillery shelling. Etc.
"That city is well fortified which has a wall of men instead of brick." - Lycurgus of Sparta