Abstract: In these lectures, we will explain what it means to compute modular forms.
In the first half of the first lecture, we will study modular curves arising from the quotient of the upper half-plane by congruence subgroups of SL_2(ZZ). We abstract the notion of a path with end points on the boundary to modular symbols, and we recover modular forms through the action of Hecke operators (interpreted as "averaging"). In the second half of the first lecture, we reinterpret modular forms as (co)homology classes, providing a general definition (beyond GL_2). In the second lecture, we discuss algorithmic applications of the general definition: first to algebraic modular forms where the upper half plane has been replaced by a finite set of points, and second to a generalized notion of modular symbols.
Notes are available here.