2nd ed. — Springer, 2020. — 467 p. — (Undergraduate Topics in Computer Science). — ISBN: 9783030342081, 9783030342098, 3030342085.
This illuminating textbook provides a concise review of the core concepts in mathematics essential to computer scientists. Emphasis is placed on the practical computing applications enabled by seemingly abstract mathematical ideas, presented within their historical context. The text spans a broad selection of key topics, ranging from the use of finite field theory to correct code and the role of number theory in cryptography, to the value of graph theory when modelling networks and the importance of formal methods for safety critical systems. This fully updated new edition has been expanded with a more comprehensive treatment of algorithms, logic, automata theory, model checking, software reliability and dependability, algebra, sequences and series, and mathematical induction.
Topics and features: includes numerous pedagogical features, such as chapter-opening key topics, chapter introductions and summaries, review questions, and a glossary; describes the historical contributions of such prominent figures as Leibniz, Babbage, Boole, and von Neumann; introduces the fundamental mathematical concepts of sets, relations and functions, along with the basics of number theory, algebra, algorithms, and matrices; explores arithmetic and geometric sequences and series, mathematical induction and recursion, graph theory, computability and decidability, and automata theory; reviews the core issues of coding theory, language theory, software engineering, and software reliability, as well as formal methods and model checking; covers key topics on logic, from ancient Greek contributions to modern applications in AI, and discusses the nature of mathematical proof and theorem proving; presents a short introduction to probability and statistics, complex numbers and quaternions, and calculus. This engaging and easy-to-understand book will appeal to students of computer science wishing for an overview of the mathematics used in computing, and to mathematicians curious about how their subject is applied in the field of computer science. The book will also capture the interest of the motivated general reader.
True PDFWhat Is a Computer?Analog Computers
Digital Computers
Vacuum Tubes
Transistors
Integrated Circuits
Microprocessors
von Neumann Architecture
Hardware and Software
Review Questions
Foundations of ComputingStep Reckoner Calculating Machine
Binary Numbers
The Difference Engine
The Analytic Engine—Vision of a Computer
Applications of Analytic Engine
Boole’s Symbolic Logic
Switching Circuits and Boolean Algebra
Application of Symbolic Logic to Digital Computing
Review Questions
Overview of Mathematics in ComputingSet Theory
Set-Theoretical Operations
Properties of Set-Theoretical Operations
Russell’s Paradox
Computer Representation of Sets
Relations
Reflexive, Symmetric and Transitive Relations
Composition of Relations
Binary Relations
Applications of Relations to Databases
Functions
Application of Functions to Functional Programming
Miranda
Number Theory
Automata Theory
Graph Theory
Computability and Decidability
Review Questions
Introduction to AlgorithmsEarly Algorithms
Greatest Common Divisors (GCD)
Euclid’s Greatest Common Divisor Algorithm
Sieve of Eratosthenes Algorithm
Early Cipher Algorithms
Sorting Algorithms
Binary Trees and Graph Theory
Modern Cryptographic Algorithms
Computational Complexity
Review Questions
Number TheoryElementary Number Theory
Prime Number Theory
Greatest Common Divisors (GCD)
Least Common Multiple (LCM)
Euclid’s Algorithm
Distribution of Primes
Theory of Congruences
Binary System and Computer Representation of Numbers
Review Questions
Algebra
Simple and Simultaneous Equations
Quadratic Equations
Indices and Logarithms
Horner’s Method for Polynomials
Abstract Algebra
Monoids and Groups
Rings
Fields
Vector Spaces
Review Questions
Sequences, Series and Permutations and CombinationsSequences and Series
Arithmetic and Geometric Sequences
Arithmetic and Geometric Series
Simple and Compound Interest
Time Value of Money and Annuities
Permutations and Combinations
Review Questions
Mathematical Induction and RecursionStrong Induction
Recursion
Structural Induction
Review Questions
Graph TheoryUndirected Graphs
Hamiltonian Paths
Trees
Binary Trees
Graph Algorithms
Graph Colouring and Four-Colour Problem
Review Questions
CryptographyBreaking the Enigma Codes
Cryptographic Systems
Symmetric-Key Systems
Public-Key Systems
RSA Public-Key Cryptosystem
Digital Signatures
Review Questions
Coding TheoryMathematical Foundations
Simple Channel Code
Block Codes
Error Detection and Correction
Linear Block Codes
Parity Check Matrix
Binary Hamming Code
Binary Parity Check Code
Miscellaneous Codes in Use
Review Questions
Language Theory and SemanticsAlphabets and Words
Grammars
Backus–Naur Form
Parse Trees and Derivations
Programming Language Semantics
Axiomatic Semantics
Operational Semantics
Denotational Semantics
Lambda Calculus
Lattices and Order
ially Ordered Sets
Lattices
Complete Partial Orders
Recursion
Review Questions
Computability and DecidabilityLogicism and Formalism
Decidability
Computability
Computational Complexity
Review Questions
Matrix TheoryTwo X Two Matrices
Matrix Operations
Determinants
Eigenvectors and Values
Gaussian Elimination
Review Questions
A Short History of LogicSyllogistic Logic
Paradoxes and Fallacies
Stoic Logic
Boole’s Symbolic Logic
Switching Circuits and Boolean Algebra
Frege
Review Questions
Propositional and Predicate Logic
Propositional Logic
Truth Tables
Properties of Propositional Calculus
Proof in Propositional Calculus
Semantic Tableaux in Propositional Logic
Natural Deduction
Sketch of Formalization of Propositional
CalculusApplications of Propositional Calculus
Limitations of Propositional Calculus
Predicate Calculus
Sketch of Formalization of Predicate Calculus
Interpretation and Valuation Functions
Properties of Predicate Calculus
Applications of Predicate Calculus
Semantic Tableaux in Predicate Calculus
Review Questions
Advanced Topics in LogicFuzzy Logic
Temporal Logic
Intuitionistic Logic
Undefined Values
Logic of Partial Functions
Parnas Logic
Dijkstra and Undefinedness
Logic and AI
Review Questions
The Nature of Theorem ProvingEarly Automation of Proof
Interactive Theorem Provers
A Selection of Theorem Provers
Review Questions
Software Engineering MathematicsWhat Is Software Engineering?
Early Software Engineering Mathematics
Mathematics in Software Engineering
Software Inspections and Testing
Process Maturity Models
Review Questions
Software Reliability and DependabilitySoftware Reliability
Software Reliability and Defects
Cleanroom Methodology
Software Reliability Models
Dependability
Computer Security
System Availability
Safety-Critical Systems
Review Questions
Overview of Formal MethodsWhy Should We Use Formal Methods?
Industrial Applications of Formal Methods
Industrial Tools for Formal Methods
Approaches to Formal Methods
Model-Oriented Approach
Axiomatic Approach
Proof and Formal Methods
Mathematics in Software Engineering
The Vienna Development Method
VDM♣, the Irish School of VDM
The Z Specification Language
The B-Method
Predicate Transformers and Weakest Preconditions
The Process Calculi
Finite-State Machines
The Parnas Way
Model Checking
Usability of Formal Methods
Review Questions
Z Formal Specification LanguageSets
Relations
Functions
Sequences
Bags
Schemas and Schema Composition
Reification and Decomposition
Proof in Z
Industrial Applications of Z
Review Questions
Automata TheoryFinite-State Machines
Pushdown Automata
Turing Machines
Review Questions
Model CheckingModelling Concurrent Systems
Linear Temporal Logic
Computational Tree Logic
Tools for Model Checking
Industrial Applications of Model Checking
Review Questions
Probability and StatisticsProbability Theory
Laws of Probability
Random Variables
Statistics
Abuse of Statistics
Statistical Sampling
Averages in a Sample
Variance and Standard Deviation
Bell-Shaped (Normal) Distribution
Frequency Tables, Histograms and Pie Charts
Hypothesis Testing
Review Questions
Complex Numbers and QuaternionsComplex Numbers
Quaternions
Quaternion Algebra
Quaternions and Rotations
Review Questions
CalculusDifferentiation
Rules of Differentiation
Integration
Definite Integrals
Fundamental Theorems of Integral Calculus
Numerical Analysis
Fourier Series
The Laplace Transform
Differential Equations
Review Questions
Epilogue