Surviving the computer#

Computers have vastly extended the range of tasks we can do, in data analysis, as for many other fields. But, they can be awkward partners, because we have to use some of our mental energy to communicate with the computer.

This means that, if we are not careful, the computer can make us dumb, by taking up enough mental energy that we stop thinking carefully about the task at hand. This is particularly dangerous when programming, because programming needs careful logical thought.

For example, consider [MO14]. In their study 1, the authors asked students to take notes while listening to TED talks, and answer questions about the talks afterwards. They randomly allocated students into two groups, where one group took notes with a pen and a notebook, and the other typed notes into a laptop. The group that took notes on a laptop were less able to answer questions about ideas in the talks.

The students with the laptops are us, programming. We have to be careful about the dulling effect that using the computer can have, on our ability to think straight.

Experienced programmers know this problem, and they use tricks to deal with them.

Among these tricks, are the following.

Have a piece of paper and a pen next to you#

When working on the computer, have a piece of paper and a pen next to you on your desk. When you notice that you don’t fully understand an error or a task on the computer, stop, move the laptop out of the way, and write down your problem on a piece of paper. Give yourself some time to reflect on what the problem is, and how to solve it. Only then, you can return to the computer and try your solutions, or do more research. You will find that disengaging from the computer is a) difficult and b) very productive in releasing you from the various mental traps that it is easy to fall into when you get stuck on the computer.

Work in pairs#

Pair programming is a standard technique that programmers use to improve the quality of their work and accelerate learning. It is particularly useful early in learning, and with new tasks [LC06].

Pair programming has a standard form.

One member of the team is the driver. They sit in front of the keyboard and type.

The other member of the team is the navigator. They do not use their own laptop, but observe the driver as they work, offering advice, and acting as a sounding board for the driver.

The pair should alternate roles, for example, changing places for each exercise.

You will likely find that, when you are the driver, you think a lot slower than the navigator, because you are thinking about two things, the task, and interacting with the computer. When you switch to being the navigator, you will find that you can think more quickly and carefully.

References#

LC06

Kim Man Lui and Keith CC Chan. Pair programming productivity: novice–novice vs. expert–expert. International Journal of Human-computer studies, 64(9):915–925, 2006. URL: http://www.cs.utexas.edu/users/mckinley/305j/pair-hcs-2006.pdf.

MO14

Pam A Mueller and Daniel M Oppenheimer. The pen is mightier than the keyboard: advantages of longhand over laptop note taking. Psychological science, 25(6):1159–1168, 2014.