Mathematical structures in computer science