High-order Finite Difference and Finite Volume WENO Schemes and Discontinuous Galerkin Methods for CFD