skip to main content
Skip header Section
Mathematical structures for computer science (2nd ed.)January 1987
Publisher:
  • W. H. Freeman & Co.
  • Subs. of Scientific American, Inc. 41 Madison Avenue, 37th Fl. New York, NY
  • United States
ISBN:978-0-7167-1802-4
Published:01 January 1987
Pages:
618
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Decker A and Ventura P (2004). We claim this class for computer science, ACM SIGCSE Bulletin, 36:1, (442-446), Online publication date: 1-Mar-2004.
  2. ACM
    Decker A and Ventura P We claim this class for computer science Proceedings of the 35th SIGCSE technical symposium on Computer science education, (442-446)
  3. ACM
    Kelemen C, Tucker A, Henderson P, Astrachan O and Bruce K Has our curriculum become math-phobic? (an American perspective) Proceedings of the 5th annual SIGCSE/SIGCUE ITiCSEconference on Innovation and technology in computer science education, (132-135)
  4. ACM
    Kelemen C, Tucker A, Henderson P, Astrachan O and Bruce K (2000). Has our curriculum become math-phobic? (an American perspective), ACM SIGCSE Bulletin, 32:3, (132-135), Online publication date: 1-Sep-2000.
  5. ACM
    Cordova J Mathematical proofs as graph search problems in theory courses The proceedings of the thirtieth SIGCSE technical symposium on Computer science education, (110-113)
  6. ACM
    Cordova J (1999). Mathematical proofs as graph search problems in theory courses, ACM SIGCSE Bulletin, 31:1, (110-113), Online publication date: 1-Mar-1999.
  7. ACM
    Fleury A Evaluating discrete mathematics exercises Proceedings of the twenty-fourth SIGCSE technical symposium on Computer science education, (73-77)
  8. ACM
    Fleury A (1993). Evaluating discrete mathematics exercises, ACM SIGCSE Bulletin, 25:1, (73-77), Online publication date: 1-Mar-1993.
  9. ACM
    Henderson P Anatomy of an introductory computer science course Proceedings of the seventeenth SIGCSE technical symposium on Computer science education, (257-264)
  10. ACM
    Henderson P (1986). Anatomy of an introductory computer science course, ACM SIGCSE Bulletin, 18:1, (257-264), Online publication date: 1-Feb-1986.
Contributors
  • University of Hawaii at Hilo

Recommendations

George Y. Cherlin

The first edition of this book, published in 1982, is already in widespread use. Since this revision successfully provides more thorough coverage of the mathematical foundations of computer science, and since it incorporates changes recommended by users, it should certainly be even more popular as a classroom text. In addition, an impressive list of reviewers of this second edition is provided in the book's preface, and their “thoughtful comments” are acknowledged. The book is intended for either a one- or two-semester course with a wide variety of emphases. There are numerous practice problems (with answers) and exercises (with answers to selected ones). The section on answers to practice problems, near the back of the book, has gray sripes at the edges of its pages to make it easy to find. Each section of this book, which is a model of modern, good textbook design, ends with a checklist of the definitions, techniques, and the main ideas just covered. Chapter 1 includes a complete introduction to propositional and first-order predicate logics; it then goes on to proof techniques, induction, and recursion and recurrence relations. The exercises include two demonstrations of the replacement of all the logical connectives by a single connective. A rare error in the book occurs in the use of “or” for “and” in explaining dual in the second sentence of subsection 1.13. Chapter 2 discusses set theory, combinatorics, permutations and combinations, and the binomial theorem. Chapter 3 reviews relations, functions, and matrices. Under “relations,” Example 3.5 states that rho “seems to have no obvious verbal description.” This comment could be omitted or replaced with “here x = 2 and x < y.” Chapter 4 deals with graphs and trees, giving two computer representations of graphs. Algorithms for three problems that deal with paths in a graph and several graph traversals are studied. On p. 173 under “adjacency lists,” it is suggested that in a programming languge that does not support pointers, a multicolumn array that includes a “pseudopointer” can be used. The author states “The disadvantage of this approach is that the maximum amount of storage space that might be needed must be initially set aside for this array; new space cannot be dynamically created as the program executes.” I hope that in future editions APL will be added to the list of ALGOL, BASIC, FORTRAN, Pascal, PL/1, and Prolog. In this case, new space can be dynamically created within broad limits as the program executes. The last sentence of subsection 4.33 on p. 184 is “This terminates the whole loop, and at step 9 the bad news is told that there is no Euler path.” This follows the generally commendable pattern of lively, friendly writing, but in this case the word “bad” might be omitted to allow for the fact that this may be good news. Chapter 5 explores what a mathematical structure is. It considers models and homomorphisms, starting with all Boolean algebras and moving to monoids, isomorphisms, and homomorphisms. Chapter 6 looks at wiring diagrams such as those for electronic circuits in computers and shows their relation to truth functions and expressions of Boolean algebra. It also looks at simplifications of such wiring diagrams. Chapter 7 considers semigroups, monoids, and groups as algebraic structures of increasing complexity and richness and builds further on the ideas from Chapter 5. Chapter 8 introduces coding theory. Chapter 9 covers finite-state machines, their homomorphisms, and their recognition capabilities. Chapter 10 looks at finite-state “hardware” and includes the decomposition theory of machines. Chapter 11 deals with Turing machines, unsolvability results, and a bit of computational complexity. Chapter 12 introduces formal languages and relates finite-state machines and Turing machines to languages.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.