文件名称:Mathematics in Computing
文件大小:2MB
文件格式:PDF
更新时间:2020-09-30 09:19:03
Springer Mathematics in Computing
Mathematics in Computing An Accessible Guide to Historical,Foundational and Application Contexts Author: Gerard O'Regan Springer, 2013 Contents 1 Mathematics in Civilization 1.1 Introduction 1.2 The Babylonians 1.3 The Egyptians 1.4 The Greeks 1.5 The Romans 1.6 Islamic Influence 1.7 Chinese and Indian Mathematics 1.8 Review Questions 1.9 Summary 2 Sets, Relations and Functions 2.1 Introduction 2.2 Set Theory 2.2.1 Set Theoretical Operations 2.2.2 Properties of Set Theoretical Operations 2.2.3 Russell’s Paradox 2.3 Relations 2.3.1 Reflexive, Symmetric and Transitive Relations 2.3.2 Composition of Relations 2.3.3 Binary Relations 2.4 Functions 2.5 Review Questions 2.6 Summary 3 Logic 3.1 Introduction 3.2 Propositional Logic 3.2.1 Truth Tables 3.2.2 Properties of Propositional Calculus 3.2.3 Proof in Propositional Calculus 3.2.4 Applications of Propositional Calculus 3.2.5 Limitations of Propositional Calculus 3.3 Predicate Calculus 3.3.1 Formalisation of Predicate Calculus 3.3.2 Interpretation and Valuation Functions 3.3.3 Properties of Predicate Calculus 3.3.4 Applications of Predicate Calculus 3.4 Undefined Values 3.4.1 Logic of Partial Functions 3.4.2 Parnas Logic 3.4.3 Dijkstra and Undefinedness 3.5 Other Logics 3.6 Tools for Logic 3.7 Review Questions 3.8 Summary 4 Software Engineering 4.1 Introduction 4.2 What is Software Engineering? 4.3 Early Software Engineering 4.4 Software Engineering Mathematics 4.5 Formal Methods 4.6 Software Inspections and Testing 4.7 Process Maturity Models 4.8 Review Questions 4.9 Summary 5 Formal Methods 5.1 Introduction 5.2 Why ShouldWe Use Formal Methods? 5.3 Applications of Formal Methods 5.4 Tools for Formal Methods 5.5 Approaches to Formal Methods 5.5.1 Model-Oriented Approach 5.5.2 Axiomatic Approach 5.6 Proof and Formal Methods 5.7 The Future of Formal Methods. 5.8 The Vienna Development Method 5.9 VDM?, the Irish School of Vienna Development Method (VDM). 5.10 The Z Specification Language 5.11 The B-Method 5.12 Predicate Transformers andWeakest Pre-Conditions 5.13 The Process Calculi 5.14 Finite State Machines 5.15 The ParnasWay 5.16 Usability of Formal Methods 5.16.1 Why Are Formal Methods Difficult? 5.16.2 Characteristics of a Usable Formal Method 5.17 Review Questions 5.18 Summary 6 Z Formal Specification Language 6.1 Introduction 6.2 Sets 6.3 Relations 6.4 Functions 6.5 Sequences 6.6 Bags 6.7 Schemas and Schema Composition 6.8 Reification and Decomposition 6.9 Proof in Z 6.10 Review Questions 6.11 Summary 7 Number Theory 7.1 Introduction 7.2 Elementary Number Theory 7.3 Prime Number Theory 7.3.1 Greatest Common Divisors (GCD) 7.3.2 Least Common Multiple (LCM) 7.3.3 Euclid’s Algorithm 7.3.4 Distribution of Primes 7.4 Theory of Congruences 7.5 Review Questions 7.6 Summary 8 Cryptography 8.1 Introduction 8.2 Breaking the Enigma Codes 8.3 Cryptographic Systems 8.4 Symmetric Key Systems 8.5 Public Key Systems 8.5.1 RSA Public Key Cryptosystem 8.5.2 Digital Signatures 8.6 Review Questions 8.7 Summary 9 Coding Theory 9.1 Introduction 9.2 Mathematical Foundations 9.2.1 Groups 9.2.2 Rings 9.2.3 Fields 9.2.4 Vector Spaces 9.3 Simple Channel Code 9.4 Block Codes 9.4.1 Error Detection and Correction 9.5 Linear Block Codes 9.5.1 Parity-Check Matrix 9.5.2 Binary Hamming Code 9.5.3 Binary Parity-Check Code 9.6 Miscellaneous Codes in Use 9.7 Review Questions 9.8 Summary 10 Language Theory and Semantics 10.1 Introduction 10.2 Alphabets andWords 10.3 Grammars 10.3.1 Backus Naur Form 10.3.2 Parse Trees and Derivations 10.4 Programming Language Semantics 10.4.1 Axiomatic Semantics 10.4.2 Operational Semantics 10.4.3 Denotational Semantics 10.5 Lambda Calculus 10.6 Lattices and Order 10.6.1 Partially Ordered Sets 10.6.2 Lattices. 10.6.3 Complete Partial Orders 10.6.4 Recursion 10.7 Review Questions 10.8 Summary 11 Computability and Decidability 11.1 Introduction 11.2 Formalism 11.3 Decidability 11.4 Computability 11.5 Computational Complexity 11.6 Review Questions 11.7 Summary 12 Probability, Statistics and Software Reliability 12.1 Introduction 12.2 Probability Theory 12.2.1 Laws of Probability 12.2.2 Random Variables 12.3 Statistics 12.3.1 Abuse of Statistics 12.3.2 Statistical Sampling 12.3.3 Averages in a Sample 12.3.4 Variance and Standard Deviation 12.3.5 Bell-shaped (Normal) Distribution 12.3.6 Frequency Tables, Histograms and Pie Charts 12.3.7 Hypothesis Testing 12.4 Software Reliability 12.4.1 Software Reliability and Defects 12.4.2 Cleanroom Methodology 12.4.3 Software Reliability Models 12.5 Review Questions 12.6 Summary 13 Matrix Theory 13.1 Introduction 13.1.1 2 ×2 Matrices 13.2 Matrix Operations 13.3 Determinants 13.4 Eigenvectors and Eigenvalues 13.5 Gaussian Elimination 13.6 Review Questions 13.7 Summary 14 Complex Numbers and Quaternions 14.1 Introduction 14.2 Complex Numbers 14.3 Quaternions 14.3.1 Quaternion Algebra 14.3.2 Quaternions and Rotations 14.4 Review Questions 14.5 Summary 15 Calculus 15.1 Introduction 15.2 Differentiation 15.2.1 Rules of Differentiation 15.3 Integration 15.3.1 Definite Integrals 15.3.2 Fundamental Theorems of Integral Calculus 15.4 Numerical Analysis 15.5 Fourier Series 15.6 The Laplace Transform 15.7 Differential Equations 15.8 Review Questions 15.9 Summary 16 Graph Theory 16.1 Introduction 16.2 Undirected Graphs 16.2.1 Hamiltonian Paths 16.3 Trees 16.3.1 Binary Trees 16.4 Graph Algorithms 16.5 Review Questions 16.6 Summary References Glossary Index