  As pervasive data collection and powerful algorithms increasingly shape
children's experience of the world and each other, their ability to interrogate
computational algorithms has become crucially important. A growing body of work
has attempted to articulate a set of "literacies" to describe the intellectual
tools that children can use to understand, interrogate, and critique the
algorithmic systems that shape their lives. Unfortunately, because many
algorithms are invisible, only a small number of children develop the
literacies required to critique these systems. How might designers support the
development of critical algorithmic literacies? Based on our experience
designing two data programming systems, we present four design principles that
we argue can help children develop literacies that allow them to understand not
only how algorithms work, but also to critique and question them.
