Beware of bugs in the above code; I have only proved it correct, not tried it.
An algorithm must be seen to be believed.
Programming is the art of telling another human being what one wants the computer to do.
Programs are meant to be read by humans and only incidentally for computers to execute.
The process of preparing programs for a digital computer is especially attractive, not only because it can economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music.
Science is knowledge which we understand so well that we can teach it to a computer; and if we don't fully understand something, it is an art to deal with it.
Trees sprout up just about everywhere in computer science...
I can't be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on. It's at that level.