In dynamics, one studies properties of a map from a space to itself, up to change of coordinates in the space. Hence it is important to understand invariants of the map under change of coordinates. An important such invariant is Poincare’s rotation number, associated to invertible maps from the circle to itself. Ghys and others have abstracted the rotation number to give many other important invariants of dynamical systems by viewing it in terms of so called quasi-homomorphisms. Quasi-homomorphisms are like homomorphisms, except that a bounded error is allowed in the definition. In this expository lecture I will introduce quasi-homomorphisms and show some interesting properties, constructions and application, including an alternative construction of the real numbers (due to Ross Street). I shall then show how these can be used to construct dynamical invariants, in particular the rotation number. Only basic algebra and analysis are needed as background for this lecture.