Sospecho que tu profesor le echó un vistazo muy rápido, y no se dio cuenta de que estabas usando timesteps. Cuando trabajas con timesteps estás haciendo una aproximación discreta de las ecuaciones diferenciales que describen las relaciones, a saber:
$\frac{dv}{dt} = a$ y $\frac{dx}{dt} = v$
que en la forma discreta, y ordenada para que coincida con su código, se convierten en:
$\Delta v = a \Delta t$ y $\Delta x = v \Delta t$
(Léase en voz alta como: "El cambio en $v$ es igual a $a$ veces el cambio en $t$ ".) Esto será exactamente correcto en el límite donde $\Delta t$ es infinitesimal (como la forma de la ecuación diferencial). Acumulará desviaciones de la respuesta exacta siempre que $\Delta t$ es grande. (Una clase común de problemas con simulaciones basadas en pasos de tiempo).
Probablemente estaba pensando en las ecuaciones de aceleración constante, donde se reordena el primer conjunto de ecuaciones para hacer:
$dv = a dt$ que después de integrar ambos lados se convierte en $v = a t + v_0$
Entonces, utilizando la segunda ecuación se obtiene $dx = (a t + v_0) dt$ que después de integrarlo se convierte en $x = \frac{1}{2}at^2 + v_0 t + x_0$ que es la ecuación normal del movimiento bajo aceleración constante. Tiene la $\frac{1}{2}$ y te da la posición en cualquier punto del tiempo sin calcular las posiciones de los tiempos intermedios. Como puedes ver, las dos expresiones son idénticas si la aceleración es constante ya que una deriva de la otra. Esencialmente lo que estás haciendo en la versión de pasos de tiempo es hacer las dos integrales numéricamente. Esto tiene la desventaja de que se acumulan pequeñas inexactitudes, pero tiene la ventaja de que la aceleración puede cambiar en cada paso de tiempo.
(Técnicamente hay un pequeño error en su código tal y como se ha publicado. Escribiste, "sumY = AccelerationOnXAxis" que mezcla Y y X. Pero la respuesta se mantiene si eso se arregla).