Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Dijkstra thought of computer science as a subdomain of mathematics, and thought that hands-on experimentation with actual computers would mostly lead students astray. A program should all be worked out and proven correct before (optionally) feeding it to a computer, and testing and even more so debugging were abhorrent practices.

BASIC, on the other hand, is more aligned with what Seymour Papert later came to call "Constructionism": the student learns by experimentation.



It is the "correct by construction" approach vs the "construct by correction" approach.


Dijkstra was silly because everybody knows that Computer Science is the parent field of mathematics.

Mathematics is the study of all O(1) algorithms.

Computer Science is all other algorithms!


That's how it was with CS at Purdue when I was there in beginning of the 1990's.

It was Computational Science, not Computer Science, and was in the math department.

We did everything wiht pen and paper until I got into my 300 level classes and we got access to the NeXT cubes and IBM 3090.

I ended up switching to networking and the tech track, but it was definitely different...


Ironically, I grew up with limited access to computers, so I wrote many programs on paper first, including a FORTH implementation in assembly language I wrote over summer break with a typewriter, waiting for school to start again so I could actually test it hands on.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: