Difference and finite element methods for hyperbolic differential equations