Mapping the homotopy class of each loop at a base point to the homology class of the loop gives a homomorphism from the fundamental group
π 1 (X) (also called first homotopy group; group operation is concatenation, and the inverse is delivered by path reversal) to the homology group H1(X). X is path-connected so this homomorphism is surjective and its kernel is the commutator subgroup of π 1 (X), and H1(X) is therefore isomorphic to the Abelianization of π 1 (X).
Any finitely presented group can be realized as π 1 of a 2-complex.
Perhaps we can persuade GRAPE™ (see [GRAPE]) to tell us about the fundamental group, the first homology group and the cover (of some finite 2-dimensional simplicial complex).
Regular coverings correspond to normal subgroups, so every connected G-covering Y → X has got G ≅ Aut(Y/X) isomorphic to the fundamental group modulo a subgroup (similar to Galois theory, where subgroups correspond to field extensions, smaller subgroups belong to larger extensions). The universal cover is simply-connected and the subgroup is trivial.
The Seifert-van Kampen gives a method for computing the fundamental groups of spaces that can be decomposed into simpler spaces whose fundamental groups are already known.