Web site logical path:
[www.psy.gla.ac.uk]
[~steve]
[educ]
[this page]
[Dijkstra's paper]
[notes on it]
[triad3]
[triad4]
Other related pages:
[Home]
[My Educ. ref list]
[Other talks by me]
Some other CCSE talks:
[Fail/succeed]
[Play, ethics, morality]
[Active Learning]
Presenters:
The issue with this paper is that it is closely and well argued, but proposes
many conclusions that few if any will agree with. But we should, if we want
to deny any of his conclusions, be able to come up with arguments not just
rejection. For example, he argues (and carried out in his own course):
"the programming language in question has not been implemented on campus so
that students are protected from the temptation to test their programs".
It is therefore desirable that:
A very slightly modified version was published in CACM (1989),
along with invited commentaries from four distinguished researchers:
I have on-line a transcription of his original hand-written version, plus
inserted section and sub-section titles which help me, at least, to see the
careful structure and logic of his paper.
See also:
Tony Jenkins (2002)
"On the Difficulty of Learning to Program"
It connects sideways with John O'Donnell's views which, if I understand them,
require students to learn thoroughly the semantics of a programming language by
understanding how exactly it translates into Assembler / machine code; and
thence to physical operations performed by an electronic machine.
This (it seems to me) is pure, but a quite different kind of pure.
In the last 10 mins (stopping the discussion of the Dijkstra paper,
showing 1 slide, then soliciting reactions from each person): I plan to raise
the argument that the programming course should be redesigned to have a whole
new section on "bug-fixing", entirely separated from the language taught BUT
treating this a separate skill.
Accepting Dijkstra's argument; but concluding that an additional skill needs to
be recognised and taught academically.
Steve Draper,
School of Psychology,
University of Glasgow.
Audio recording: No recording: a discussion, not one
person with a mike.
Related material:
Abstract
The central business of this session is a discussion, led by Steve Draper, on
E.W.Dijkstra's paper "On the cruelty of really teaching computing science".
This is about both computing, programming and computing science, and also
about education in relation to these.
In other words, this paper is about BOTH computing science AND education;
(and the session's title phrase "Pure programming teaching" is deliberately
ambiguous between how to teach a pure version of programming, and
how to teach the nature of programming in a pure, educationally optimal way).
Sources for Dijkstra's paper
"On the cruelty of really teaching computing science"
doi:10.1145/76380.76381
Dijkstra's paper
EWD1036 (1988) Relevance and contexts
This session connects back to the Thinkathon: where those teaching level 1
programming remain convinced that the best assessment has as a large part, the
ability to write and understand code with no online help of any kind: on paper.
The Dijkstra paper argues for a strong version of this.