C-cards

About

The computational card project is a study and realization of an educational tool based on playing cards. C-cards are an educational tool to introduce children 8 to 10 (or older) to the concept of computation, seen as manipulation of symbols. The game provides teachers and learners with a physical, tangible metaphor for exploring core concepts of computer science, such as deterministic and probabilistic state machines, frequencies and probability distributions, and the central elements of Shannon’s information theory, like information, communication, errors and error detection. Our idea is implemented both with paper cards and by an editor/simulator software (a prototype realized in javascript). 

We live in a technological world, where computing machines are becoming ubiquitous, embedded into any kind of objects, providing a great variety of services; therefore we (and our children) need a better comprehension of these machines and the principles behind them.
Foundations for a deep understanding of computing systems are normally provided to undergraduates by Theoretical Computer Science and information theory; both subjects require a strong mathematical background and adopt an abstract and technical language.
We claim it is possible to restate the main concepts in these subjects, so that they can be discussed with 8 to 10 years old students, which according to Piaget and Papert should already posses many practical capabilities to operate on concrete objects. More in general, our idea could be applied to older students with limited mathematical formation.

Some evidences support our claim: we are aware that a number of physical constructions and metaphors have been created in many complex subjects, to try and convey more immediate understanding and intuitions. Examples of these efforts are programmable bricks, MagicBlocks, in which physical objects, toys and games are proposed as the basis for learning about programming and digital circuits. 
Origami can be used to teach mathematics and geometry, supporting a manipulative-based approach to learning, problem solving and critical thinking (see Pearl’s book).
Moreover, principles of materials science and technology can be demonstrated with LEGO models. Campbell states that three-dimensional models result in an excellent tool for grasping structure-function relationships.
Finally, toy-like formal models called turmites have been used to explore decentralized systems and self-organizing phenomena: simulations in StarLogo show children the counterintuitive world of complex systems (see Resnick).

Moreover TCS uses many toy models, i.e. stereotyped situations and problems, with a few simple elements, that can be composed in formal, precise way, and provided with formalized dynamic rules. Consider for instance flow graphs, introduced by Robin Milner, which are both a formalism to reason about concurrent systems and a good example of visual notation. Another example are finite state machines: visually represented as directed graphs of states, with the current state changing at each step of the computation: they are practically identical to a goose game . In toy trains are used to describe set theory and Turing machines.
Finally we know that children are perfectly able at, and usually enjoy, playing games with formal rules, such as tic-tac-toe, and table games in general. It also true that curiosity often brings children to open/destroy objects and machines, in the attempt of understanding them better; in some cases they even succeed in re-building the original objects: this generates enthusiasm and can lead to deeper reflections. We try to exploit this effet in c-cards by adopting a constructivist approach to teaching/learning: i.e. we developed a toy by which students can create, animate and reason about their own computing devices.