This dissertation is an investigation of computational literacy and how it is shaped by software use and mediation. Early visionaries such as Perlis and Naur recognized the need for everyone to learn computing, but these ideals are yet to be fully realized. Arguably, a narrow focus on computational thinking is the more popular approach in contemporary computing education research and policymaking. Another branch of researchers, in particular Kay and diSessa, have argued for the need for providing the right media for computing. In line with them, I argue that a more materially grounded literacy is a necessary step. By extension, this means providing a better understanding of how these material conditions (e.g., software) influence the development of computational literacy. Through eight studies, I have employed a mix of qualitative methods and constructive design research. The qualitative methods fall under ethnography, technography, and retrospective autoethnography. The empirically grounded research draws from interviews with five humanities students, interviews and observations of four biomolecular scientists, interviews with 12 experienced programmers, and a workshop and observations of 12 experienced knitters. These interviews focused on their experiences with programming, their ability to use and appropriate unfamiliar software, and their feelings of mastery and disempowerment. This is supplemented with technographic investigations of computational media, literate computing environments, and programming interfaces that focuses on the mediating qualities of software for programming such as interaction, semiotics, ethics, and transformation. My work has shown the importance of the material foundations of computational literacy in these contexts. More specifically, the material conditions affect this literacy in multiple ways such as the dissonance between software visions, people’s expectations, and the practical implementations. People experience disempowerment and crises and resolve those through various means such as enrolling a more capable peer or incorporating supporting artifacts. The dissertation further presents computational media as a promising, yet fragile software paradigm and shows how this paradigm blends use and development, inscribes particular user roles, and balances between evoking trust and alienation in its users. Finally, by emphasizing a theoretical lens of self-concept in the context of computational literacy, the dissertation provides a view of literacy as a product of continuous experiences and confirmations from people’s social and material lifeworlds. These findings should resonate with scholars of new media, human-computer interaction, and computing education, as the dissertation explores the complex mutual relationships between people’s cultural, social, and material environments as well as their ongoing and sometimes contradictory ways of seeing themselves. Computational literacy can be emancipatory for everyone, not just for computer scientists, yet the development of literacy demands adequate conditions. This dissertation is an argument for the importance of those conditions.