(* the data *)
projectiledata  :=  
        List[{0,  50},  {1,  54.1},  {2,  48.4},  {3,  32.9},  {4,  
            7.6}]

(* a plot of the data *)
p1  =  
        ListPlot[projectiledata,  
          PlotStyle -> {PointSize[0.02],  RGBColor[1, 0, 0]},  
          PlotRange -> {{0,  5},  {0,  55}},  
          PlotLabel ->  "Height vs. Time",  
          AxesLabel -> {"Time (s)", "Height (m)"},  
          TextStyle -> {FontSize -> 18}]

(* assume the function is of the form h[t_]  =  
            A*t^2  +  B*t  +  
              C . 
find values of A,  B,  
          and C to fit the data points. *)
Solve[{
A*0^2  +  
              B*0  +  C == 
            50, 
A*1^2  +  B*1  +  C == 
            54.1, 
A*2^2  +  B*2  +  C == 
            48.4
},  {A,  B,  C}]

(* the model and a plot of the model *)

h[t_] :=  -4.9 t^2  +  9  t  +  50
p2 = 
      Plot[h[t],  {t,  0,  
          5},   PlotRange -> {{0,  5},  {0,  55}}]

(* the model along with the data *)

Show[p1,  p2]

(* approximate the velocity at the point t = 0 *)
(h[0  +   .1]  -  
            h[0])/ .1

(h[0  +   .01]  -  h[0])/ .01

(h[0  +   .001]  -  h[0])/ .001

(h[0  +   .0001]  -  h[0])/ .0001

(h[0  +   .00001]  -  h[0])/ .00001

(* it looks like the velocity is getting closer to 9 as we take better and better approximations *)

(* the actual velocities *)

projectilevelocitydata  :=  
      List[{0,  
          9},  {1,  -0.8},  {2,  -10.6},  {3,  -20.4},  {4,  -30.2}]

(* a plot of the velocities *)

p3 = 
      ListPlot[projectilevelocitydata,  
        PlotStyle -> {PointSize[0.02],  RGBColor[1, 0, 0]},  
        PlotRange -> {{0,  5},  {-35,  10}},  
        PlotLabel ->  "Velocity vs. Time",  
        AxesLabel -> {"Time (s)", "Velocity (m/s)"},  
        TextStyle -> {FontSize -> 18}]

v[t_] :=  -9.8 t  +  9
p4 = 
      Plot[v[t],  {t,  0,  
          5},   PlotRange -> {{0,  5},  {-31,  
              10}}]

Show[p3,  p4]