(ECM2705) Algebraic Structures