Category Archives: Computer Science

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 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.

Can a Rubik’s Cube Teach You Programming?

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

Instead of thinking (either consciously or unconsciously) of the world as constrained by immutable scientific laws, we would be better off thinking of it as a place we can reshape by speaking the language of science differently.

Language Lessons from a Steam-powered Light Bulb

People who make a career in science, computers or otherwise, generally do so because they are naturally drawn to it. They find science fascinating and entertaining, and thus are usually very good at it.

This is both a blessing and a curse. It is a blessing because it means they will spend most of their life doing essentially what they want to do; not everyone is so lucky. It is a curse because their instinctive understanding of science may cover up unsuspected misunderstandings, making it difficult to explain to others what they are doing and why it is important. Worse, these unsuspected misunderstandings may make certain aspects of the science to which they are naturally drawn less than pleasant, rendering them more of a burden than a pleasure. Continue reading

Who shaped computing?

Who Shaped Modern Computing — Part 2?

In part one, I asked the question “Who is big in computing?” and probed the answer by constructing a social network gleaned from the references listed below. As expected, the network is scale-free, meaning it contains a handful of highly connected nodes—people, places, and things—and a majority of sparsely connected nodes. Furthermore, the most-connected nodes in the social network are languages, John Backus, and Edsger Dijkstra. Continue reading

Software developer laptop icon

Who is Big in Computing – Part 1?

More than 70 years into computing, Moore’s Law keeps on doubling performance of the basic engine of the post-industrial information age. Looking back at this incredible progress makes me wonder, “Who has had the biggest influence on computing since electronic digital computers were designed and built for the first time in the 1940s?” Continue reading