This is a toy project that was designed to be done by two high-schoolers within a week. The goal is to attempt making an auto differentiation engine that is able to compute derivatives formally. Later on we could try to make a simple gradient descent method to optimize functions.