Mathematical Structures in Computer Science