Skip to main content
Displaying 1 of 1
Mathematics in computing :ban accessible guide to historical, foundational and application contexts
2020
Please select and request a specific volume by clicking one of the icons in the 'Find It' section below.
Find It
Annotations

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 mathematicianscurious about how their subject is applied in the field of computer science. The book will also capture the interest of the motivated general reader.

- (Springer Publishing)

This review of the mathematics uses in computing takes in a host of topics including software engineering and reliability, coding theory, and cryptography, and is an enlightening introductory guide to the calculations which have built our technological world.

- (Springer Publishing)

Author Biography

Dr. Gerard O'Regan is a CMMI software process improvement consultant with research interests including software quality and software process improvement, mathematical approaches to software quality, and the history of computing. He is the author of such Springer titles as World of Computing: A Primer Companion for the Digital Age, Concise Guide to Formal Methods, Concise Guide to Software Engineering, Guide to Discrete Mathematics, and Introduction to the History of Computing.

- (Springer Publishing)

Flap Cover Text

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.

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.

- (Springer Publishing)

Large Cover Image
Table of Contents

1 What Is a Computer?
1(12)
1.1 Introduction
1(1)
1.2 Analog Computers
2(2)
1.3 Digital Computers
4(4)
1.3.1 Vacuum Tubes
4(1)
1.3.2 Transistors
5(1)
1.3.3 Integrated Circuits
5(2)
1.3.4 Microprocessors
7(1)
1.4 Von Neumann Architecture
8(1)
1.5 Hardware and Software
9(1)
1.6 Review Questions
10(1)
1.7 Summary
10(1)
References
11(2)
2 Foundations of Computing
13(18)
2.1 Introduction
13(1)
2.2 Step Reckoner Calculating Machine
14(1)
2.3 Binary Numbers
15(2)
2.4 The Difference Engine
17(2)
2.5 The Analytic Engine---Vision of a Computer
19(3)
2.5.1 Applications of Analytic Engine
21(1)
2.6 Boole's Symbolic Logic
22(5)
2.6.1 Switching Circuits and Boolean Algebra
25(2)
2.7 Application of Symbolic Logic to Digital Computing
27(1)
2.8 Review Questions
28(1)
2.9 Summary
28(1)
References
29(2)
3 Overview of Mathematics in Computing
31(30)
3.1 Introduction
31(1)
3.2 Set Theory
32(9)
3.2.1 Set-Theoretical Operations
35(2)
3.2.2 Properties of Set-Theoretical Operations
37(1)
3.2.3 Russell's Paradox
38(2)
3.2.4 Computer Representation of Sets
40(1)
3.3 Relations
41(8)
3.3.1 Reflexive, Symmetric and Transitive Relations
42(2)
3.3.2 Composition of Relations
44(2)
3.3.3 Binary Relations
46(1)
3.3.4 Applications of Relations to Databases
47(2)
3.4 Functions
49(4)
3.5 Application of Functions to Functional Programming
53(3)
3.5.1 Miranda
54(2)
3.6 Number Theory
56(1)
3.7 Automata Theory
57(1)
3.8 Graph Theory
58(1)
3.9 Computability and Decidability
58(1)
3.10 Review Questions
59(1)
3.11 Summary
60(1)
References
60(1)
4 Introduction to Algorithms
61(16)
4.1 Introduction
61(1)
4.2 Early Algorithms
62(6)
4.2.1 Greatest Common Divisors (GCD)
63(1)
4.2.2 Euclid's Greatest Common Divisor Algorithm
63(2)
4.2.3 Sieve of Eratosthenes Algorithm
65(1)
4.2.4 Early Cipher Algorithms
66(2)
4.3 Sorting Algorithms
68(3)
4.4 Binary Trees and Graph Theory
71(1)
4.5 Modem Cryptographic Algorithms
72(1)
4.6 Computational Complexity
73(1)
4.7 Review Questions
74(1)
4.8 Summary
74(1)
References
75(2)
5 Number Theory
77(22)
5.1 Introduction
77(2)
5.2 Elementary Number Theory
79(5)
5.3 Prime Number Theory
84(8)
5.3.1 Greatest Common Divisors (GCD)
86(1)
5.3.2 Least Common Multiple (LCM)
87(1)
5.3.3 Euclid's Algorithm
88(1)
5.3.4 Distribution of Primes
89(3)
5.4 Theory of Congruences
92(3)
5.5 Binary System and Computer Representation of Numbers
95(1)
5.6 Review Questions
96(1)
5.7 Summary
97(1)
References
98(1)
6 Algebra
99(18)
6.1 Introduction
99(1)
6.2 Simple and Simultaneous Equations
100(3)
6.3 Quadratic Equations
103(3)
6.4 Indices and Logarithms
106(1)
6.5 Homer's Method for Polynomials
107(1)
6.6 Abstract Algebra
108(6)
6.6.1 Monoids and Groups
108(2)
6.6.2 Rings
110(1)
6.6.3 Fields
111(1)
6.6.4 Vector Spaces
112(2)
6.7 Review Questions
114(1)
6.8 Summary
114(3)
7 Sequences, Series and Permutations and Combinations
117(14)
7.1 Introduction
117(1)
7.2 Sequences and Series
118(1)
7.3 Arithmetic and Geometric Sequences
119(1)
7.4 Arithmetic and Geometric Series
120(1)
7.5 Simple and Compound Interest
121(2)
7.6 Time Value of Money and Annuities
123(1)
7.7 Permutations and Combinations
124(4)
7.8 Review Questions
128(1)
7.9 Summary
129(2)
8 Mathematical Induction and Recursion
131(10)
8.1 Introduction
131(3)
8.2 Strong Induction
134(2)
8.3 Recursion
136(2)
8.4 Structural Induction
138(1)
8.5 Review Questions
139(1)
8.6 Summary
139(1)
References
140(1)
9 Graph Theory
141(14)
9.1 Introduction
141(2)
9.2 Undirected Graphs
143(5)
9.2.1 Hamiltonian Paths
147(1)
9.3 Trees
148(2)
9.3.1 Binary Trees
149(1)
9.4 Graph Algorithms
150(1)
9.5 Graph Colouring and Four-Colour Problem
150(2)
9.6 Review Questions
152(1)
9.7 Summary
152(1)
References
153(2)
10 Cryptography
155(16)
10.1 Introduction
155(2)
10.2 Breaking the Enigma Codes
157(3)
10.3 Cryptographic Systems
160(1)
10.4 Symmetric-Key Systems
161(5)
10.5 Public-Key Systems
166(3)
10.5.1 RSA Public-Key Cryptosystem
168(1)
10.5.2 Digital Signatures
169(1)
10.6 Review Questions
169(1)
10.7 Summary
170(1)
References
170(1)
11 Coding Theory
171(14)
11.1 Introduction
171(1)
11.2 Mathematical Foundations
172(1)
11.3 Simple Channel Code
173(1)
11.4 Block Codes
174(3)
11.4.1 Error Detection and Correction
176(1)
11.5 Linear Block Codes
177(5)
11.5.1 Parity Check Matrix
180(1)
11.5.2 Binary Hamming Code
180(2)
11.5.3 Binary Parity Check Code
182(1)
11.6 Miscellaneous Codes in Use
182(1)
11.7 Review Questions
182(1)
11.8 Summary
183(1)
References
183(2)
12 Language Theory and Semantics
185(24)
12.1 Introduction
185(1)
12.2 Alphabets and Words
186(1)
12.3 Grammars
187(6)
12.3.1 Backus-Naur Form
190(1)
12.3.2 Parse Trees and Derivations
191(2)
12.4 Programming Language Semantics
193(4)
12.4.1 Axiomatic Semantics
193(2)
12.4.2 Operational Semantics
195(1)
12.4.3 Denotational Semantics
196(1)
12.5 Lambda Calculus
197(2)
12.6 Lattices and Order
199(7)
12.6.1 Partially Ordered Sets
199(2)
12.6.2 Lattices
201(2)
12.6.3 Complete Partial Orders
203(1)
12.6.4 Recursion
204(2)
12.7 Review Questions
206(1)
12.8 Summary
206(1)
References
206(3)
13 Computability and Decidability
209(12)
13.1 Introduction
209(1)
13.2 Logicism and Formalism
210(3)
13.3 Decidability
213(2)
13.4 Computability
215(3)
13.5 Computational Complexity
218(1)
13.6 Review Questions
219(1)
13.7 Summary
219(1)
References
220(1)
14 Matrix Theory
221(14)
14.1 Introduction
221(2)
14.2 Two × Two Matrices
223(2)
14.3 Matrix Operations
225(3)
14.4 Determinants
228(2)
14.5 Eigenvectors and Values
230(1)
14.6 Gaussian Elimination
230(2)
14.7 Review Questions
232(1)
14.8 Summary
232(1)
References
233(2)
15 A Short History of Logic
235(12)
15.1 Introduction
235(1)
15.2 Syllogistic Logic
236(2)
15.3 Paradoxes and Fallacies
238(2)
15.4 Stoic Logic
240(1)
15.5 Boole's Symbolic Logic
241(2)
15.5.1 Switching Circuits and Boolean Algebra
242(1)
15.6 Frege
243(1)
15.7 Review Questions
244(1)
15.8 Summary
245(1)
References
245(2)
16 Prepositional and Predicate Logic
247(28)
16.1 Introduction
247(1)
16.2 Prepositional Logic
248(15)
16.2.1 Truth Tables
250(2)
16.2.2 Properties of Propositional Calculus
252(1)
16.2.3 Proof in Propositional Calculus
253(3)
16.2.4 Semantic Tableaux in Propositional Logic
256(2)
16.2.5 Natural Deduction
258(1)
16.2.6 Sketch of Formalization of Propositional Calculus
259(2)
16.2.7 Applications of Propositional Calculus
261(1)
16.2.8 Limitations of Propositional Calculus
262(1)
16.3 Predicate Calculus
263(8)
16.3.1 Sketch of Formalization of Predicate Calculus
265(2)
16.3.2 Interpretation and Valuation Functions
267(1)
16.3.3 Properties of Predicate Calculus
268(1)
16.3.4 Applications of Predicate Calculus
268(1)
16.3.5 Semantic Tableaux in Predicate Calculus
269(2)
16.4 Review Questions
271(1)
16.5 Summary
272(1)
References
273(2)
17 Advanced Topics in Logic
275(18)
17.1 Introduction
275(1)
17.2 Fuzzy Logic
276(1)
17.3 Temporal Logic
277(2)
17.4 Intuitionistic Logic
279(2)
17.5 Undefined Values
281(5)
17.5.1 Logic of Partial Functions
281(2)
17.5.2 Parnas Logic
283(1)
17.5.3 Dijkstra and Undefinedness
284(2)
17.6 Logic and AI
286(4)
17.7 Review Questions
290(1)
17.8 Summary
290(1)
References
291(2)
18 The Nature of Theorem Proving
293(10)
18.1 Introduction
293(3)
18.2 Early Automation of Proof
296(2)
18.3 Interactive Theorem Provers
298(2)
18.4 A Selection of Theorem Provers
300(1)
18.5 Review Questions
300(1)
18.6 Summary
300(2)
References
302(1)
19 Software Engineering Mathematics
303(16)
19.1 Introduction
303(3)
19.2 What Is Software Engineering?
306(5)
19.3 Early Software Engineering Mathematics
311(3)
19.4 Mathematics in Software Engineering
314(1)
19.5 Software Inspections and Testing
315(1)
19.6 Process Maturity Models
316(1)
19.7 Review Questions
317(1)
19.8 Summary
317(1)
References
318(1)
20 Software Reliability and Dependability
319(14)
20.1 Introduction
319(1)
20.2 Software Reliability
320(7)
20.2.1 Software Reliability and Defects
321(2)
20.2.2 Cleanroom Methodology
323(1)
20.2.3 Software Reliability Models
324(3)
20.3 Dependability
327(2)
20.4 Computer Security
329(1)
20.5 System Availability
330(1)
20.6 Safety-Critical Systems
330(1)
20.7 Review Questions
331(1)
20.8 Summary
331(1)
References
332(1)
21 Overview of Formal Methods
333(22)
21.1 Introduction
333(2)
21.2 Why Should We Use Formal Methods?
335(2)
21.3 Industrial Applications of Formal Methods
337(1)
21.4 Industrial Tools for Formal Methods
338(1)
21.5 Approaches to Formal Methods
339(2)
21.5.1 Model-Oriented Approach
339(2)
21.5.2 Axiomatic Approach
341(1)
21.6 Proof and Formal Methods
341(1)
21.7 Mathematics in Software Engineering
342(1)
21.8 The Vienna Development Method
343(1)
21.9 VDM the Irish School of VDM
344(1)
21.10 The Z Specification Language
345(1)
21.11 The B-Method
346(1)
21.12 Predicate Transformers and Weakest Preconditions
347(1)
21.13 The Process Calculi
348(1)
21.14 Finite-State Machines
349(1)
21.15 The Pamas Way
350(1)
21.16 Model Checking
350(1)
21.17 Usability of Formal Methods
351(1)
21.18 Review Questions
352(1)
21.19 Summary
353(1)
References
354(1)
22 Z Formal Specification Language
355(18)
22.1 Introduction
355(3)
22.2 Sets
358(1)
22.3 Relations
359(2)
22.4 Functions
361(1)
22.5 Sequences
362(1)
22.6 Bags
363(1)
22.7 Schemas and Schema Composition
364(3)
22.8 Reification and Decomposition
367(1)
22.9 Proof in Z
368(1)
22.10 Industrial Applications of Z
369(1)
22.11 Review Questions
370(1)
22.12 Summary
370(1)
References
371(2)
23 Automata Theory
373(10)
23.1 Introduction
373(1)
23.2 Finite-State Machines
374(3)
23.3 Pushdown Automata
377(2)
23.4 Turing Machines
379(2)
23.5 Review Questions
381(1)
23.6 Summary
382(1)
References
382(1)
24 Model Checking
383(10)
24.1 Introduction
383(4)
24.2 Modelling Concurrent Systems
387(1)
24.3 Linear Temporal Logic
388(1)
24.4 Computational Tree Logic
389(1)
24.5 Tools for Model Checking
390(1)
24.6 Industrial Applications of Model Checking
390(1)
24.7 Review Questions
391(1)
24.8 Summary
391(1)
References
392(1)
25 Probability and Statistics
393(18)
25.1 Introduction
393(1)
25.2 Probability Theory
394(6)
25.2.1 Laws of Probability
395(1)
25.2.2 Random Variables
396(4)
25.3 Statistics
400(9)
25.3.1 Abuse of Statistics
400(1)
25.3.2 Statistical Sampling
401(1)
25.3.3 Averages in a Sample
402(1)
25.3.4 Variance and Standard Deviation
403(1)
25.3.5 Bell-Shaped (Normal) Distribution
403(3)
25.3.6 Frequency Tables, Histograms and Pie Charts
406(1)
25.3.7 Hypothesis Testing
407(2)
25.4 Review Questions
409(1)
25.5 Summary
409(1)
References
410(1)
26 Complex Numbers and Quaternions
411(14)
26.1 Introduction
411(1)
26.2 Complex Numbers
412(5)
26.3 Quaternions
417(6)
26.3.1 Quaternion Algebra
418(4)
26.3.2 Quaternions and Rotations
422(1)
26.4 Review Questions
423(1)
26.5 Summary
424(1)
27 Calculus
425(20)
27.1 Introduction
425(4)
27.2 Differentiation
429(3)
27.2.1 Rules of Differentiation
431(1)
27.3 Integration
432(5)
27.3.1 Definite Integrals
434(3)
27.3.2 Fundamental Theorems of Integral Calculus
437(1)
27.4 Numerical Analysis
437(2)
27.5 Fourier Series
439(2)
27.6 The Laplace Transform
441(1)
27.7 Differential Equations
442(1)
27.8 Review Questions
443(1)
27.9 Summary
444(1)
References
444(1)
28 Epilogue
445(4)
Glossary 449(4)
Bibliography 453(2)
Index 455

Librarian's View
Displaying 1 of 1