From the MAGMA documentation:
Since V2.8, Magma has included packages for modular forms and modular symbols. These were originally developed by William Stein, and are continually being developed further and improved by the Magma group. The modular forms package is, to a large extent, built on top of the modular symbols package. However, it also contains several independent features, notably Eisenstein series, half-integral weight forms and weight 1 forms.
Construction of spaces of modular forms of weight k ≥ 1/2 on Γ0(N) or Γ1(N) (or with specified character)
Decomposition into Eisenstein, cuspidal, and new subspaces
Computation of dimensions (by formulae)
Computation of bases of these spaces, expressing basis elements as q-expansions with desired number of terms
Arithmetic operations for modular forms
Magma is not free but it has an online calculator and detailed documentation at