jects are the foundation of most modern software today, his results point out where we can expect to find challenges in explaining objects to students. Both Miller’s and Pane’s results encourage us to think how we might design languages for novices that play to their natural ways of thinking about specifying computation, like the use of event-based programming in MIT’s Scratch.

In the last four years, a multinational group of researchers has explored “Commonsense Computing”: what do our students know before we teach them? Given a complex task, how do people without programming knowledge specify an algorithm for that task? In one paper, Lewandowski et al. 1 explore concurrency—in a complex task of multiple box offices selling tickets for a theater, how well do non-program-ming students avoid selling the same seat twice? The results showed that 97 solutions (69% of the total, drawn from five institutions) were correct; only 31% of the solutions (45% of the correct solutions) were distributed, so teachers of algorithms classes need not worry about being put out of business. Non-computing students do not naturally come up with the elegant solutions that computer scientists have devised. However, these results suggest that students can “naturally” think about concurrency correctly. Problems with implementing concurrent programs might stem more from the challenges in specifying those algorithms in current programming languages, rather than from the complexity of the algorithms themselves.

Redesigning
Programming Languages

Both Pane’s and Miller’s results make suggestions about the design of programming languages if the goal is to make computational ideas more accessible to novices. Testing new forms of programming languages was an area of active exploration by Thomas R.G. Green, Elliot Soloway, and others.

In one paper, Green and his colleagues explored alternatives to the traditional conditional structure. 5 A typical structure might look like the structure shown in Figure 1. They tested a new structure where this would be written as shown in Figure 2. This new structure makes explicit the condition

Research in
computing
education will pave
the way to make
“computational
thinking” a 21st
century literacy that
we can share across
the campus.

for the execution of each clause of the condition. Green and his colleagues found that novices were able to correct mistakes using the second form 10 times faster than programs using the first form.

Miller and Pane found that their participants simply never used an else clause. Instead, it seemed obvious (“of course”) what to do when the tested condition wasn’t true. Miller’s and Pane’s subjects were doing something different than Green’s. Writing a task description is different than reading and fixing a task description. Green’s results complement Miller’s and Pane’s. Novices do not naturally write the else clause—they think it’s obvious what to do if the test fails. However, conditionals in programs are not always obvious, and it’s easier for the novices trying to read those programs if the conditions for each clause’s execution are explicit.

Paving the Way for

“computational thinking” for all To make “computational thinking” accessible to students across the entire campus, we need to understand how to teach computing better. Computing education researchers explore how humans come to understand computing, and how to improve that understanding. Computing education research is a close cousin to human-computer interaction, since HCI researchers explore how humans interact with computing and how to improve that interaction. Computing education researchers

have found a home in the International Computing Education Research (ICER) workshop (whose fourth annual meeting will be held this September in Sydney, Australia; see www.newcastle.edu. au/conference/icer2008/) and in journals like Computer Science Education and Journal on Educational Resources in Computing.

Computing education research draws on a variety of disciplines to make computing education better. Social scientists like Jane Margolis, Lecia Barker, and Carsten Schulte help us to understand how students experience our classes (which often differs from what we might expect as teachers) and how we can change our classes to make them more successful for all students. Computing education researchers draw on methods from education, sociology, and psychology in order to measure learning about computing and understand the factors that influence that learning. By making computing education better, we can broaden access to computing ideas and capabilities. When we can teach every student programming and the theory of computation in a way that makes sense to them for their discipline, we will see how ubiquitous understanding of computing will advance the entire academy, just as Perlis predicted over 45 years ago.

 

References

1. Lewandowski, G. et al. Commonsense computing (episode 3): Concurrency and concert tickets. In Proceedings of the Third International Workshop on Computing Education Research (2007), 133–144.

2. Miller, L.A. Natural language programming: Styles, strategies, and contrasts. IBM Systems Journal 29, 2 (1981), 184–215.

3. Pane, J.F., Ratanamahatana, C., and Myers, B. A. Studying the language and structure in non-programmers’ solutions to programming problems. International Journal of Human-Computer Studies 54 (2001), 237–264.

4. Perlis, A. The computer in the university. In M. Greenberger, Ed., Computers and the World of the Future, MI T Press, Cambridge, MA, 1962, 180–219.

5. Sime, M.E., Arblaster, A. T., and Green, T.R.G. Structuring the programmer’s task. Journal of Occupational Psychology 50 (1977), 205–216.

6. Wing, J. Computational thinking. Commun. ACM 49, 3 (Mar. 2006), 33–35.

 

Mark Guzdial ( guzdial@cc.gatech.edu) is a professor in the College of Computing at Georgia Institute of Technology in Atlanta, GA.

The Communications “Education” column will feature commentary on education issues, presenting research results and opinions that inform how the challenges of computing education can be best addressed.

© 2008 ACM 0001-0782/08/0800 $5.00

References:

mailto:guzdial@cc.gatech.edu

http://www.newcastle.edu.au/conference/icer2008/

http://www.newcastle.edu.au/conference/icer2008/

Archives