Mathematica implements the unilateral Z-transform
In[20]:= ZTransform[a^n HeavisideTheta[n], n, z, GenerateConditions -> True]
Out[20]= ConditionalExpression[-(z/(a - z)), Abs[z] > Abs[a]]
this is Professor's result, but that is not
In[26]:= ZTransform[-a^n HeavisideTheta[-n - 1], n, z, GenerateConditions -> True]
Out[26]= 0
nevertheless correct under unilateral defintion.