  These course notes are about computing modular forms and some of their
arithmetic properties. Their aim is to explain and prove the modular symbols
algorithm in as elementary and as explicit terms as possible, and to enable the
devoted student to implement it over any ring (such that a sufficient linear
algebra theory is available in the chosen computer algebra system). The chosen
approach is based on group cohomology and along the way the needed tools from
homological algebra are provided.
