Discrete mathematics and functional programming / (Record no. 15871)

MARC details
000 -LEADER
fixed length control field 06309nam a2200229Ia 4500
003 - CONTROL NUMBER IDENTIFIER
control field NULRC
005 - DATE AND TIME OF LATEST TRANSACTION
control field 20250520102817.0
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION
fixed length control field 250520s9999 xx 000 0 und d
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
International Standard Book Number 9781590282601
040 ## - CATALOGING SOURCE
Transcribing agency NULRC
050 ## - LIBRARY OF CONGRESS CALL NUMBER
Classification number QA 76.9.M35 .V36 2013
100 ## - MAIN ENTRY--PERSONAL NAME
Personal name VanDrunen, Thomas
Relator term author
245 #0 - TITLE STATEMENT
Title Discrete mathematics and functional programming /
Statement of responsibility, etc. Thomas VanDrunen.
260 ## - PUBLICATION, DISTRIBUTION, ETC.
Place of publication, distribution, etc. Sherwood, Oregon :
Name of publisher, distributor, etc. Franklin, Beedle & Associates Inc.,
Date of publication, distribution, etc. c2013
300 ## - PHYSICAL DESCRIPTION
Extent xvii, 670 pages :
Other physical details illustrations ;
Dimensions 23 cm.
365 ## - TRADE PRICE
Price amount USD19.33
504 ## - BIBLIOGRAPHY, ETC. NOTE
Bibliography, etc. note Includes bibliographical references (pages 661-663) and index.
505 ## - FORMATTED CONTENTS NOTE
Formatted contents note Chapter 1 Foundations 1.1 Your mathematical biography 1.2 Reasoning about items collectively 1.3 Set notation 1.4 Set operations 1.5 Verifying facts about sets 1.6 Values, expressions, and types in ML 1.7 Characters and strings 1.8 Cardinality, disjointness, and partitions 1.9 Cartesian products 1.10 Making your own types 1.11 Making your own operations 1.12 Recursive functions 1.13 Statements and exceptions 1.14 Extended example: A cumulative song 1.15 Special topic: Comparison with object-oriented programming Chapter 2 List 2.1 Lists 2.2 Functions on lists 2.3 Datatypes that use lists 2.4 Powersets 2.5 Case expressions and option types 2.6 Extended example: A language processor 2.7 Special topic: Lists vs. tuples vs. arrays Chapter 3 Proposition 3.1 Forms 3.2 Symbols 3.3 Boolean values 3.4 Logical equivalence 3.5 Conditional propositions 3.6 Conditionals and natural language 3.7 Conditional expressions 3.8 Arguments 3.9 Using argument forms for deduction 3.10 Predicates 3.11 Quantification 3.12 Multiple quantifi cation 3.13 Quantifi cation and algorithms 3.14 Quantifi cation and arguments 3.15 Extended example: Verifying arguments automatically 3.16 Special topic: Quantifi cation and natural language Chapter 4 Proof 4.1 General outline 4.2 Subset proofs 4.3 Set equality 4.4 Set emptiness 4.5 Conditional proofs 4.6 Integers 4.7 Biconditionals 4.8 Warnings 4.9 Case study: Powersets 4.10 From theorems to algorithms 4.11 Extended example: Solving games 4.12 Special topic: Russell's paradox Chapter 5 Relation 5.1 Defi nition 5.2 Representation 5.3 Image, inverse, and composition 5.4 Properties of relations 5.5 Equivalence relations 5.6 Computing transitivity 5.7 Transitive closure 5.8 Partial orders 5.9 Comparability and topological sort 5.10 Extended example: Unifi cation and resolution 5.11 Special topic: Representing relations Chapter 6 Self Reference 6.1 Peano numbers 6.2 Trees 6.3 Mutual recursion 6.4 Structural induction 6.5 Mathematical induction 6.6 Mathematical induction on sets 6.7 Program correctness 6.8 Sorting 6.9 Iteration 6.10 Loop invariants 6.11 From theorems to algorithms, revisited 6.12 Extended example: Huff man encoding 6.13 Special topic: Recursion vs. iteration Chapter 7 Function 7.1 Defi nition 7.2 Function equality 7.3 Functions as fi rst-class values 7.4 Images and inverse images 7.5 Map 7.6 Function properties 7.7 Inverse functions 7.8 Function composition 7.9 Cardinality 7.10 Counting 7.11 Permutations and combinations 7.12 Currying 7.13 Fixed-point iteration 7.14 Extended example: Modeling mathematical functions 7.15 Special topic: Countability Chapter 8 Graph 8.1 Defi nition and terms 8.2 Propositions on graphs 8.3 Strolling about a graph 8.4 Isomorphisms 8.5 A garden of graphs 8.6 Representing graphs 8.7 Extended example: Graph algorithms 8.8 Special topic: Graph coloring Chapter 9 Complexity Class 9.1 Recurrence relations 9.2 Complexity of algorithms 9.3 Analyzing sorting algorithms 9.4 Alternative examples of analyzing algorithms 9.5 Big-oh complexity classes 9.6 Big-theta and family 9.7 Properties of complexity classes 9.8 Tables 9.9 Memoization 9.10 Extended example: The Knapsack Problem 9.11 Special topic: P vs NP Chapter 10 Lattice 10.1 Defi nition and terms 10.2 Propositions on lattices 10.3 Isomorphisms 10.4 Modular and distributive lattices 10.5 Implementing lattice operations 10.6 Boolean algebras 10.7 Special topic: Digital logic circuits Chapter 11 Group 11.1 Preliminary terms 11.2 Defi nition 11.3 Isomorphisms 11.4 Subgroups 11.5 A garden of groups 11.6 Extended example: RSA encryption Chapter 12 Automaton 12.1 Alphabets and languages 12.2 Deterministic fi nite automata 12.3 Nondeterminism 12.4 Regular expressions 12.5 Language model equivalence and limitations 12.6 Context-free grammars 12.7 Push-down automata 12.8 The lambda calculus 12.9 Hierarchies of computational models 12.10 Special topic: Computability Appendix A Patterns for proofs
520 ## - SUMMARY, ETC.
Summary, etc. This book provides a distinct way to teach discrete mathematics. Since discrete mathematics is crucial for rigorous study in computer science, many texts include applications of mathematical topics to computer science or have selected topics of particular interest to computer science. This text fully integrates discrete mathematics with programming and other foundational ideas in computer science. In fact, this text serves not only the purpose of teaching discrete math. It is also an introduction to programming, although a non-traditional one. Functional programming is a paradigm in which the primary language construct is the function and function here is essentially the same as what it is in mathematics. In the functional paradigm we conceive the program as a collection of composed functions, as opposed to a sequence of instructions (in the imperative paradigm) or a set of interacting objects (in the object-oriented paradigm). Dominant computer science curricula emphasize object-oriented and imperative programming, but competence in all paradigms is important for serious programmers and functional programming in particular may be appropriate for many casual programmers, too. For our purposes, the concepts underlying functional programming are especially grounded in those of discrete mathematics. Discrete mathematics and functional programming are equal partners in this endeavor, with the programming topics giving concrete applications and illustrations of the mathematical topics, and the mathematics providing the scaolding for explaining the programming concepts. The two work together in mutual illumination.
650 ## - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical term or geographic name entry element COMPUTER SCIENCE -- MATHEMATICS
942 ## - ADDED ENTRY ELEMENTS (KOHA)
Source of classification or shelving scheme Library of Congress Classification
Koha item type Books
Holdings
Withdrawn status Lost status Source of classification or shelving scheme Damaged status Not for loan Collection Home library Current library Shelving location Date acquired Source of acquisition Cost, normal purchase price Total checkouts Full call number Barcode Date last seen Copy number Price effective from Koha item type
    Library of Congress Classification     Electronics and Communications Engineering LRC - Main National University - Manila General Circulation 05/11/2017 Purchased - Amazon 38.67   GC QA 76.9.M35 .V36 2013 NULIB000013630 05/20/2025 c.1 05/20/2025 Books