Concrete Mathematics: A Foundation for Computer Science (2nd Edition)
Book Preface
THIS BOOK IS BASED on a course of the same name that has been taught annually at Stanford University since 1970. About fty students have taken it each yearjuniors and seniors, but mostly graduate studentsand alumni of these classes have begun to spawn similar courses elsewhere. Thus the time seems ripe to present the material to a wider audience (including sophomores). It was a dark and stormy decade when Concrete Mathematics was born. Longheld values were constantly being questioned during those turbulent years; college campuses were hotbeds of controversy. The college curriculum itself was challenged, and mathematics did not escape scrutiny. John Hammersley had just written a thoughtprovoking article \On the enfeeblement of mathematical skills by ‘Modern Mathematics’ and by similar soft intellectual trash in schools and universities” [176]; other worried mathematicians [332] \People do acquire a even asked, \Can mathematics be saved?” One of the present authors had embarked on a series of books called The Art of Computer Programming, and in writing the rst volume he (DEK) had found that there were mathematical tools missing from his repertoire; the mathematics he needed for a thorough, wellgrounded understanding of computer programs was quite dierent from what he’d learned as a mathematics major in college. So he introduced a new course, teaching what he wished somebody had taught him.
The course title \Concrete Mathematics” was originally intended as an antidote to \Abstract Mathematics,” since concrete classical results were rapidly being swept out of the modern mathematical curriculum by a new wave of abstract ideas popularly called the \New Math.” Abstract mathematics is a wonderful subject, and there’s nothing wrong with it: It’s beautiful, general, and useful. But its adherents had become deluded that the rest of mathematics was inferior and no longer worthy of attention. The goal of generalization had become so fashionable that a generation of mathematicians had become unable to relish beauty in the particular, to enjoy the challenge of solving quantitative problems, or to appreciate the value of technique. Abstract mathematics was becoming inbred and losing touch with reality; mathematical education needed a concrete counterweight in order to restore a healthy balance. When DEK taught Concrete Mathematics at Stanford for the rst time, he explained the somewhat strange title by saying that it was his attempt to teach a math course that was hard instead of soft. He announced that, contrary to the expectations of some of his colleagues, he was not going to teach the Theory of Aggregates, nor Stone’s Embedding Theorem, nor even the Stone{Cech compactication. (Several students from the civil engineering \The heart of mathematics department got up and quietly left the room.)
Although Concrete Mathematics began as a reaction against other trends, the main reasons for its existence were positive instead of negative. And as the course continued its popular place in the curriculum, its subject matter \solidied” and proved to be valuable in a variety of new applications. Meanwhile, independent conrmation for the appropriateness of the name came from another direction, when Z. A. Melzak published two volumes entitled \It is downright
The material of concrete mathematics may seem at rst to be a disparate bag of tricks, but practice makes it into a disciplined set of tools. Indeed, the techniques have an underlying unity and a strong appeal for many people. When another one of the authors (RLG) rst taught the course in 1979, the students had such fun that they decided to hold a class reunion a year later. But what exactly is Concrete Mathematics? It is a blend of continuous Concrete Mathematics is a bridge to abstract mathematics. and discrete mathematics. More concretely, it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems.
Once you, the reader, have learned the material in this book, all you will need is a cool head, a large sheet of paper, and fairly decent handwriting in order to evaluate horrendouslooking sums, to solve complex recurrence relations, and to discover subtle patterns in data. You will be so uent in algebraic techniques that you will often nd it easier to obtain exact results than to settle for approximate answers that are valid only in a limiting sense. The major topics treated in this book include sums, recurrences, ele \The advanced mentary number theory, binomial coecients, generating functions, discrete probability, and asymptotic methods. The emphasis is on manipulative technique rather than on existence theorems or combinatorial reasoning; the goal is for each reader to become as familiar with discrete operations (like the greatestinteger function and nite summation) as a student of calculus is familiar with continuous operations (like the absolutevalue function and in nite integration). Notice that this list of topics is quite dierent from what is usually taught nowadays in undergraduate courses entitled \Discrete Mathematics.” Therefore the subject needs a distinctive name, and \Concrete Mathematics” has proved to be as suitable as any other. (We’re not bold enough to try Distinuous Mathematics.)
The original textbook for Stanford’s course on concrete mathematics was the \Mathematical Preliminaries” section in The Art of Computer Programming [207]. But the presentation in those 110 pages is quite terse, so another author (OP) was inspired to draft a lengthy set of supplementary notes. The present book is an outgrowth of those notes; it is an expansion of, and a more leisurely introduction to, the material of Mathematical Preliminaries. Some of the more advanced parts have been omitted; on the other hand, several topics not found there have been included here so that the story will be complete.
Download Ebook  Read Now  File Type  Upload Date 

Download here

Read Now Ads 
December 27, 2018 
Do you like this book? Please share with your friends, let's read it !! :)
How to Read and Open File Type for PC ?