Social systems are now fueled by algorithms that facilitate and control connections and information. Simultaneously, computational systems are now fueled by people -- their interactions, data, and behavior. Consequently, there is a pressing need to design new algorithms that are socially responsible in how they learn, and socially optimal in the manner in which they use information. In this talk, I will share some of my research efforts to address such problems at this interface of social and computational systems. We first explain the emergence of bias in algorithmic decision making and present first steps towards developing a systematic framework to control biases in classical problems such as data summarization and personalization. We further consider how crowdsourced information is used, and new mechanisms that can increase diversity in a way that improves user experiences. Together, this work leads to new algorithms that have the ability to alleviate bias and increase diversity while often simultaneously maintaining their theoretical or empirical performance with respect to the original metrics.