Den 18-årige gjorde två gånger i 15 framträdanden, mestadels från bänken, förra säsongen, inklusive målet som förvisade rivaler Dundee United.
Han spenderade första halvan av kampanjen på lån på Raith Rovers, nät en gång.
"Vi ser fram emot att fortsätta hans utveckling under de kommande tre åren," chefen Paul Hartley berättade klubbens webbplats.
Dundee-strejkaren Craig Wighton har tecknat ett nytt treårigt kontrakt som håller honom kvar i Dens Park fram till sommaren 2019.