Socio-Technical Design of Algorithms: Fairness, Accountability, and Transparency