GMAT vs GRE - It depends upon which program(s) you apply to. Some will only accept the GRE or GMAT, while others will accept either one.
Math / Programming Background - At a minimum, you should take Calc I II III, Linear Algebra, Ordinary Differential Equations, a calculus-based Probability...