Slashdot Mirror


Knuth Previews New Math Section For 'The Art of Computer Programming' (stanford.edu)

In 1962, 24-year-old Donald Knuth began writing The Art of Computer Programming -- and 55 years later, he's still working on it. An anonymous reader quotes Knuth's web site at Stanford: Volume 4B will begin with a special section called 'Mathematical Preliminaries Redux', which extends the 'Mathematical Preliminaries' of Section 1.2 in Volume 1 to things that I didn't know about in the 1960s. Most of this new material deals with probabilities and expectations of random events; there's also an introduction to the theory of martingales.

You can have a sneak preview by looking at the current draft of pre-fascicle 5a (52 pages), last updated 18 January 2017. As usual, rewards will be given to whoever is first to find and report errors or to make valuable suggestions. I'm particularly interested in receiving feedback about the exercises (of which there are 125) and their answers (of which there are 125).

Over the years Knuth gave out over $20,000 in rewards, though most people didn't cash his highly-coveted "hexadecimal checks", and in 2008 Knuth switched to honorary "hexadecimal certificates". In 2014 Knuth complained about the "dumbing down" of computer science history, and his standards remain high. In his most-recent update, 79-year-old Knuth reminds readers that "There's stuff in here that isn't in Wikipedia yet!"

4 of 176 comments (clear)

  1. Re:IMHO by woboyle · · Score: 4, Insightful

    You are, IMHO, and idiot. I have been studying Knuth's work for almost 4 decades now, and am still learning from it. In case you are interested (probably not) it is has a chip in it, I wrote the software that built that chip! Building from his work has given me a US Patent on adaptive systems, numerous technical publications, and such. What can you claim?

    --
    Sometimes, real fast is almost as good as real-time.
  2. Your attitude makes me sad. by TiggertheMad · · Score: 4, Insightful

    "There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy. your philosophy"

    Yes, you are correct, you don't need much math for some types of programming. However, it saddens me that you would attack a man for wanting to expand and master the study of computer science. He has literally devoted decades of his life to writing books to help programmers such as yourself get better at their craft. If you don't want to learn more about your trade, that is fine too. But don't get upset if you get passed over for a job in favor of some other guy who cracked open Knuth and worked all the exercises.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
  3. Re:IMHO by thegarbz · · Score: 4, Insightful

    It is not necessary to have a background in mathematics to write software

    No it's not, but it is necessary to have a background in mathematics to write good efficient software. If you're slapping together PHP libraries then that's fantastic, but don't pretend that this same level of knowledge applies to identifying the most efficient sorting algorithm, or figuring out how to software decode a CRC message in the lowest number of CPU cycles.

    If the world was made of people with your views an octo-CPU quad xeon wouldn't be enough to boot up windows in a reasonable time.

  4. The dumbing down is real by gweihir · · Score: 4, Insightful

    For example, even simple things like hash tables and balanced trees are beyond what most current CS graduates can implement or do understand. Forget about things a bit more complicated like a complexity analysis, or a formally specified invariant or pre- and post-conditions. If you do not understand the basics, all higher-order constructs are meaningless because you can only memorize how they behave, but you can never understand it or verify your understanding. And your understanding will at the very least be incomplete and partially wrong.

    CS continues to fail (and in fact it is getting worse) at education engineers. Yet the human race knows that for technology you need engineers as soon as you are customizing things or doing new things. Until and unless this gets finally understood and becomes the norm, software and everything built around it will continue to suck badly.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.