Jump to ratings and reviews
Rate this book

On the cruelty of teaching Computer Science

Rate this book

14 pages, Unknown Binding

First published December 2, 1988

77 people want to read

About the author

Edsger W. Dijkstra

14 books136 followers
Edsger Wybe Dijkstra was a computer scientist. He received the 1972 Turing Award for fundamental contributions to developing programming languages, and was the Schlumberger Centennial Chair of Computer Sciences at The University of Texas at Austin from 1984 until 2000.

Shortly before his death in 2002, he received the ACM PODC Influential Paper Award in distributed computing for his work on self-stabilization of program computation. This annual award was renamed the Dijkstra Prize the following year, in his honor.

His influential 1968 paper "A Case against the GO TO Statement", later published by Niklaus Wirth with the title "Go To Statement Considered Harmful", introduced the phrase "considered harmful" into computing.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
9 (34%)
4 stars
9 (34%)
3 stars
7 (26%)
2 stars
1 (3%)
1 star
0 (0%)
Displaying 1 - 7 of 7 reviews
208 reviews46 followers
October 8, 2012
This isn't truly a book, but a paper (an "EWD") available at http://www.cs.utexas.edu/users/EWD/ew... or http://www.cs.utexas.edu/users/EWD/tr... .

Dijkstra was a professor for much of his life, and after making incredible contributions to computer science in the early days (recursion in Algol, wrote the first standard compliant Algol compiler, designed mutexes and semaphores, created the coloring garbage collection algorithm, created an algorithm for finding shortest paths ("Dijkstra's shortest paths"), created the Dijkstra banker's algorithm, etc.), he watched computer science education begin to resemble skilled tradesman education (e.g., http://cacm.acm.org/magazines/2010/1/... ).

"On the cruelty of teaching Computer Science" was one of his efforts to lay out his ideals on computer science and on education from the perspective of a Texas A&M professor in 1988. The last paragraph of the paper is:

Teaching to unsuspecting youngsters the effective use of formal methods is one of the joys of life because it is so extremely rewarding. Within a few months, they find their way in a new world with a justified degree of confidence that is radically novel for them; within a few months, their concept of intellectual culture has acquired a radically novel dimension. To my taste and style, that is what education is about. Universities should not be afraid of teaching radical novelties; on the contrary, it is their calling to welcome the opportunity to do so. Their willingness to do so is our main safeguard against dictatorships, be they of the proletariat, of the scientific establishment, or of the corporate elite.
Profile Image for Brody.
100 reviews
September 7, 2011
Dijkstra's main point is that to use analogy to teach Computer Science is a failure of imagination and boldness. He argues that because computers can and will allow us to do such *un*imaginable things it's a pedagogical mistake to constrain the student mental model of what is possible with concepts or ideas that are fundamentally constrained and/or misleading.

At first I laughed this off. Literally. Dijkstra is not a likable character even in his own speech! But with a few weeks to think about his point I think there is something fundamentally right about insisting we never anthropomorphize computers or analogize what they can do. To do so does actually constrain our imagination about them with practical results. I will strive to try and see this more radical, more novel, more scary universe that Dijkstra points to.
Profile Image for Agastya.
40 reviews1 follower
March 9, 2022
I came back to this book/article/talk after solving a question on Leetcode. The first time was back during college days.

My friend had sent me that question on March 3, and said how it could be solved using dynamic programming (DP). And I felt there is a neat mathematical equation which can solve this, and can be done much easily. An overwhelming majority of the solutions were using DP, and in frustration, I remarked, how Edsger W. Dijkstra would be so disappointed to see this.

I think it is *really* important for any computer science teacher to read this book, and help revitalise the dying art of programming things the right way, and more importantly, programming *only* when it is needed. In my second year in bachelor's, my teacher had paraphrased Dijkstra saying one should control the urge and temptation to code things out and first think about the problem. We had a nice chat about it, but back then, I could not appreciate the beauty of these ideas as much as I do now!

No amount of paraphrasing would do justice to this; however, anyone, who is connected to computer science, or even teaching, should take time to read this, and incorporate it.

It is such a shame this literature was not discussed ever again during college. Please for the love of Turing, read it!

And yes, Dijkstra is so darned quotable! And yes, call it errors, not bugs!
Profile Image for Seth.
170 reviews19 followers
June 19, 2021
Oh, the irony. Dijkstra wanted us to ban anthropomorphizing terminology like 'expect' in reference to software, and a handful of other terms including 'software engineering', because they prevent efficient thought about the radical novelty and complexity of computer systems. And what have we done in the decades since? Made computers and software even more novel and complex, and developed novel tools for coping with the complexity - object-oriented languages, multithreading, managed code, etc. - that have made programming much easier at the expense of run-time efficiency, in part by adapting the complexity to our way of thinking so we don't have to do so much adapting in the other direction, and the language Dijkstra was so vehement about banning now makes perfect sense in that context.

Still, he does retain somewhat of a point, if you soften the argument considerably.
97 reviews9 followers
January 27, 2020
նշուում ա որպէս «համակարգչային գիտութիւնների մասին», բայց առհասարակ, շատ լաւ տեքստ ա նորարարութիւնների, մարդկանց/համալսարանների վերաբերմունքի եւ մօտեցման մասին։
Profile Image for Miki.
3 reviews
June 6, 2013
Very precise and well written. With the truth of a few of the challenges encountered when teaching a "new" science.
Displaying 1 - 7 of 7 reviews

Can't find what you're looking for?

Get help and learn more about the design.