As Moore’s Law runs out of steam, and fabrication of Boolean circuits on silicon appears to be reaching its limits, some computer scientists and physicists are looking beyond the limits of current computing to “reversible computing.” That is, instead of one-way circuits that produce a deterministic output from given inputs, reversible computing works both ways: Inputs can be obtained from outputs by running the circuits in reverse. Generally speaking, computation runs in one direction, producing outputs from inputs, without the ability to run backwards and compute inputs from outputs. Continue reading
Emö Rubik invented the Rubik’s Cube in 1974 and it became the world’s most popular puzzle. The cube consists of 26 cubelets that move and turn when the faces are twisted. This cube (pictured above) is in a solved position when each face is a uniform color. The goal is to take a randomized cube though a series of face twists to transform it into the solved position. Learning to solve a Rubik’s Cube can teach us something about learning to program.
Programming has always been seen as a skill in addition to a thinking process. But what exactly does it mean when we say programming is a skill? How is this a useful insight? Continue reading