Atjaunināt sīkdatņu piekrišanu

Understand Mathematics, Understand Computing: Discrete Mathematics That All Computing Students Should Know 2020 ed. [Hardback]

  • Formāts: Hardback, 550 pages, height x width: 235x155 mm, weight: 1027 g, 2 Illustrations, color; 149 Illustrations, black and white; XXVII, 550 p. 151 illus., 2 illus. in color., 1 Hardback
  • Izdošanas datums: 06-Dec-2020
  • Izdevniecība: Springer Nature Switzerland AG
  • ISBN-10: 3030583759
  • ISBN-13: 9783030583750
Citas grāmatas par šo tēmu:
  • Hardback
  • Cena: 78,14 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Standarta cena: 91,94 €
  • Ietaupiet 15%
  • Grāmatu piegādes laiks ir 3-4 nedēļas, ja grāmata ir uz vietas izdevniecības noliktavā. Ja izdevējam nepieciešams publicēt jaunu tirāžu, grāmatas piegāde var aizkavēties.
  • Daudzums:
  • Ielikt grozā
  • Piegādes laiks - 4-6 nedēļas
  • Pievienot vēlmju sarakstam
  • Formāts: Hardback, 550 pages, height x width: 235x155 mm, weight: 1027 g, 2 Illustrations, color; 149 Illustrations, black and white; XXVII, 550 p. 151 illus., 2 illus. in color., 1 Hardback
  • Izdošanas datums: 06-Dec-2020
  • Izdevniecība: Springer Nature Switzerland AG
  • ISBN-10: 3030583759
  • ISBN-13: 9783030583750
Citas grāmatas par šo tēmu:
In this book the authors aim to endow the reader with an operational, conceptual, and methodological understanding of the discrete mathematics that can be used to study, understand, and perform computing. They want the reader to understand the elements of computing, rather than just know them. The basic topics are presented in a way that encourages readers to develop their personal way of thinking about mathematics. Many topics are developed at several levels, in a single voice, with sample applications from within the world of computing. Extensive historical and cultural asides emphasize the human side of mathematics and mathematicians.

By means of lessons and exercises on “doing” mathematics, the book prepares interested readers to develop new concepts and invent new techniques and technologies that will enhance all aspects of computing. The book will be of value to students, scientists, and engineers engaged in the design and use of computing systems, and to scholars and practitioners beyond these technical fields who want to learn and apply novel computational ideas.

Recenzijas

There are a lot of things I like about this book . The basic concept of the book, the overall structure of the book, and the material presented are all excellent: it deserves a better implementation. (David J. Littleboy, SIGACT News, Vol. 54 (3), 2023)





The text is written in an easy to read format which generously incorporates narratives from the history of mathematics as well as rigorous proofs of the concepts presented. The appendices and references to other texts provide the reader with numerous sources of supplementary information for those wishing to delve into a subject at a deeper level . chapters are organized and clearly labeled to express which sections are appropriate for a beginning learner, an intermediate learner, or the specialist. (Tom French, MAA Reviews, October 3, 2021)





Each chapter comes with several exercises from easy to difficult, the latter with complete solutions in the appendix. To accommodate the book to readers with different backgrounds and goals, the authors provide a guide which gives paths through the book for several courses. The exposition is always clear and motivating, no prerequisites are presumed, all terms and concepts are defined precisely, and there are many look-and-see proofs. (Dieter Riebesehl, zbMATH 1465.68004, 2021)

Manifesto xix
Preface xxi
1 Introduction
1(22)
1.1 Why Is This Book Needed?
1(1)
1.2 Why Is This Book Needed?
2(2)
1.3 The Structure of This Book
4(12)
1.3.1 Our Main Intellectual Targets
4(2)
1.3.2 Allocating Our Targets to
Chapters
6(1)
1.3.2.1
Chapter 2: "Doing" Mathematics
6(1)
1.3.2.2
Chapter 3: Sets and Their Algebras
6(1)
1.3.2.3
Chapters 4, 8, 10: Numbers and Numerals
7(1)
1.3.2.4
Chapters 5 and 6: Arithmetic and Summation
8(2)
1.3.2.5
Chapter 7: The Vertigo of Infinity
10(1)
1.3.2.6
Chapter 9: Recurrences
11(2)
1.3.2.7
Chapter 11: The Art of Counting: Combinatorics, with Applications to Probability and Statistics
13(2)
1.3.2.8
Chapters 12 and 13: Graphs and Related Topics
15(1)
1.4 Using the Text in Courses
16(7)
1.4.1 Resources
16(1)
1.4.1.1 References
16(2)
1.4.1.2 Cultural asides
18(1)
1.4.1.3 Exercises
19(1)
1.4.1.4 Appendices
20(1)
1.4.2 Paths Through the Text for Selected Courses
20(3)
2 "Doing" Mathematics: A Toolkit for Mathematical Reasoning
23(36)
2.1 Rigorous Proofs: Theory vs. Practice
24(13)
2.1.1 Formalistic Proofs and Modern Proofs
26(1)
2.1.1.1 Formalistic proofs, with an illustration
26(4)
2.1.1.2 Modern proofs, with an illustration
30(4)
2.1.1.3 Some elements of rigorous reasoning
34(1)
A Distinguishing name from object
34(1)
B Quantitative reasoning
34(1)
C The elements of empirical reasoning
35(2)
2.2 Overview of Some Major Proof Techniques
37(8)
2.2.1 Proof by (Finite) Induction
37(1)
2.2.1.1 Two more sample proofs by induction
37(2)
2.2.1.2 A false "proof" by induction: The critical base case
39(1)
2.2.1.3 The Method of Undetermined Coefficients
40(2)
2.2.2 Proof by Contradiction
42(1)
2.2.2.1 The proof technique
42(1)
2.2.2.2 Another sample proof: There are infinitely many prime numbers
43(1)
2.2.3 Proofs via the Pigeonhole Principle
44(1)
2.2.3.1 The proof technique
45(1)
2.2.3.2 Sample applications/proofs
45(1)
2.3 Nontraditional Proof Strategies
45(9)
2.3.1 Pictorial Reasoning
45(1)
2.3.1.1 The virtuous side of the method
45(4)
2.3.1.2 Handle pictorial arguments with care
49(2)
2.3.2 Combinatorial Intuition and Argumentation
51(1)
2.3.2.1 Summation as a selection problem
51(1)
2.3.2.2 Summation as a rearrangement problem
52(1)
2.3.3 The Computer as Mathematician's Assistant
53(1)
2.4 Exercises:
Chapter 2
54(5)
3 Sets and Their Algebras: The Stem Cells of Mathematics
59(40)
3.1 Introduction
59(3)
3.2 Sets
62(5)
3.2.1 Fundamental Set-Related Concepts
62(2)
3.2.2 Operations on Sets
64(3)
3.3 Structured Sets
67(13)
3.3.1 Binary Relations: Sets of Ordered Pairs
68(2)
3.3.2 Order Relations
70(1)
3.3.3 Equivalence Relations
70(2)
3.3.4 Functions
72(1)
3.3.4.1 The basics: definitions and generic properties
72(4)
3.3.4.2 The Schroder-Bernstein Theorem
76(2)
3.3.5 Sets, Strings, Functions: Important Connections
78(2)
3.4 Boolean Algebras
80(14)
3.4.1 The Algebra of Propositional Logic
81(1)
3.4.1.1 Logic as an algebra
81(1)
A Propositions: the objects of the algebra
81(1)
B Logical connectives: the algebra's operations
82(2)
C The goal of the game: Theorems
84(1)
3.4.1.2 Semantic completeness: Logic via Truth Tables
84(1)
A Truth, theoremhood, and completeness
84(1)
B The completeness of Propositional Logic
85(2)
C The laws of Propositional Logic as theorems
87(2)
3.4.2 A Purely Algebraic Setting for Completeness
89(1)
3.4.3 Satisfiability Problems and NP-Completeness
90(4)
3.5 Exercises:
Chapter 3
94(5)
4 Numbers I: The Basics of Our Number System
99(28)
4.1 Introducing the Three
Chapters on Numbers
99(1)
4.2 A Brief Biography of Our Number System
100(5)
4.3 Integers: The "Whole" Numbers
105(8)
4.3.1 The Basics of the Integers: The Number Line
106(1)
4.3.1.1 Natural orderings of the integers
106(1)
4.3.1.2 The order-related laws of the integers
107(1)
4.3.2 Divisibility: Quotients, Remainders, Divisors
108(2)
4.3.2.1 Euclidean division
110(1)
4.3.2.2 Divisibility, divisors, GCDs
111(2)
4.4 The Rational Numbers
113(5)
4.4.1 The Rationals: Special Ordered Pairs of Integers
115(1)
4.4.2 Comparing the Rational and Integer Number Lines
115(1)
4.4.2.1 Comparing Z and Q via their number-line laws
116(1)
4.4.2.2 Comparing Z and Q via their cardinalities
117(1)
4.5 The Real Numbers
118(6)
4.5.1 Inventing the Real Numbers
118(1)
4.5.2 Defining the Real Numbers via Their Representations
119(1)
4.5.3 Not All Real Numbers Are Rational
120(1)
4.5.3.1 A number-based proof that √2 is not rational: √ ε Q
121(1)
4.5.3.2 A geometric proof that √2 is not rational: √2 ε Q
122(2)
4.6 The Basics of the Complex Numbers
124(1)
4.7 Exercises:
Chapter 4
125(2)
5 Arithmetic: Putting Numbers to Work
127(40)
5.1 The Basic Arithmetic Operations
127(12)
5.1.1 Unary (Single-Argument) Operations
128(1)
5.1.1.1 Negating and reciprocating numbers
128(1)
5.1.1.2 Floors, ceilings, magnitudes
128(1)
5.1.1.3 Factorials (of a nonnegative integer)
129(1)
5.1.2 Binary (Two-Argument) Operations
130(1)
5.1.2.1 Addition and subtraction
130(1)
5.1.2.2 Multiplication and division
131(2)
5.1.2.3 Exponentiation and taking logarithms
133(2)
5.1.2.4 Binomial coefficients and Pascal's triangle
135(3)
5.1.3 Rational Arithmetic: A Computational Exercise
138(1)
5.2 The Laws of Arithmetic, with Applications
139(1)
5.2.1 The Commutative, Associative, and Distributive Laws
139(1)
5.3 Polynomials and Their Roots
140(15)
5.3.1 Univariate Polynomials and Their Roots
142(1)
5.3.1.1 The d roots of a degree-k polynomial
143(2)
5.3.1.2 Solving polynomials by radicals
145(1)
A Solving quadratic polynomials by radicals
146(2)
B Solving cubic polynomials by radicals
148(3)
5.3.2 Bivariate Polynomials: The Binomial Theorem
151(2)
5.3.3 Integer Roots of Polynomials: Hilbert's Tenth Problem
153(2)
5.4 Exponential and Logarithmic Functions
155(4)
5.4.1 Basic Definitions
155(1)
5.4.2 Learning from Logarithms (and Exponentials)
156(3)
5.5 Pointers to Specialized Topics
159(4)
5.5.1 Norms and Metrics for Tuple-Spaces
159(2)
5.5.2 Edit-Distance: Measuring Closeness in String Spaces
161(2)
5.6 Exercises:
Chapter 5
163(4)
6 Summation: A Complex Whole from Simple Parts
167(48)
6.1 The Many Facets of Summation
167(4)
6.2 Summing Structured Series
171(19)
6.2.1 Arithmetic Summations and Series
171(1)
6.2.1.1 General development
171(1)
6.2.1.2 Example #1: Summing the first in integers
171(4)
6.2.1.3 Example #2: Squares as sums of odd integers
175(4)
6.2.2 Geometric Sums and Series
179(1)
6.2.2.1 Overview and main results
179(1)
6.2.2.2 Techniques for summing geometric series
180(5)
6.2.2.3 Extended geometric series and their sums
185(1)
A The summation Sb(1)(n) = Σni=1 ibi
186(2)
B The summations Sb(c)(n) = Σni=1 icbi
188(2)
6.3 On Summing "Smooth" Series
190(20)
6.3.1 Approximate Sums via Integration
190(3)
6.3.2 Sums of Fixed Powers of Consecutive Integers: ΣIc
193(1)
6.3.2.1 Sc(n) for general nonnegative real cth powers
193(2)
6.3.2.2 Nonnegative integer cth powers
195(1)
A A better bound via the Binomial Theorem
195(2)
B Using undetermined coefficients to refine sums
197(2)
C A pictorial solution for c = 2
199(2)
D Semi-pictorial solutions for c = 3
201(6)
6.3.2.3 Sc(n) for general negative cth powers
207(1)
A Negative powers -1 < c = 0
207(1)
B Negative powers c = 1
208(1)
C Negative powers c < c = 1: the harmonic series
208(2)
6.4 Exercises:
Chapter 6
210(5)
7 The Vertigo of Infinity: Handling the Very Large and the Infinite
215(18)
7.1 Asymptotics
215(6)
7.1.1 The Language of Asymptotics
216(2)
7.1.2 The "Uncertainties" in Asymptotic Relationships
218(2)
7.1.3 Inescapable Complications
220(1)
7.2 Reasoning About Infinity
221(9)
7.2.1 Coping with infinity
221(1)
7.2.2 The "Point at Infinity"
222(1)
7.2.2.1 Underspecified problems
223(1)
A Summing ambiguous infinite summations
223(2)
B The Ross-Littlewood paradox
225(1)
C Zeno's paradox: Achilles and the tortoise
226(1)
D Hilbert's hotel paradox
227(1)
7.2.2.2 Foundational paradoxes
228(1)
A Godel's paradox: Self-reference in language
228(1)
B Russell's paradox: The "anti-universal" set
229(1)
7.3 Exercises:
Chapter 7
230(3)
8 Numbers II: Building the Integers and Building with the Integers
233(34)
8.1 Prime Numbers: Building Blocks of the Integers
233(16)
8.1.1 The Fundamental Theorem of Arithmetic
234(1)
8.1.1.1 Statement and proof
234(3)
8.1.1.2 A "prime" corollary: There are infinitely many primes
237(3)
8.1.1.3 Number sieves: Eratosthenes and Euler
240(1)
8.1.1.4 Applying the Fundamental Theorem in encryption
241(1)
8.1.1.5 The "density" of the prime numbers
242(1)
8.1.2 Fermat's Little Theorem: aP = a mod p
243(1)
8.1.2.1 A proof that uses "necklaces"
243(2)
8.1.2.2 A proof that uses the Binomial Theorem
245(1)
8.1.3 Perfect Numbers and Mersenne Primes
246(1)
8.1.3.1 Definitions
247(1)
8.1.3.2 Using Mersenne primes to generate perfect numbers
248(1)
8.2 Pairing Functions: Bringing Linear Order to Tuple Spaces
249(8)
8.2.1 Encoding Complex Structures via Ordered Pairs
250(1)
8.2.2 The Diagonal Pairing Function: Encoding N × N+as N+
251(3)
8.2.3 N × N Is Not "Larger Than" N
254(1)
8.2.3.1 Comparing infinite sets via cardinalities
254(2)
8.2.3.2 Comparing N and N × N via cardinalities
256(1)
8.3 Finite Number Systems
257(5)
8.3.1 Congruences on Nonnegative Integers
258(1)
8.3.2 Finite Number Systems via Modular Arithmetic
259(1)
8.3.2.1 Sums, differences, and products exist within Nq
259(1)
8.3.2.2 Quotients exist within Np for every prime p
260(2)
8.4 Exercises:
Chapter 8
262(5)
9 Recurrences: Rendering Complex Structure Manageable
267(34)
9.1 Linear Recurrences
268(5)
9.1.1 The Master Theorem for Simple Linear Recurrences
268(1)
9.1.2 The Master Theorem for General Linear Recurrences
269(1)
9.1.3 An Application: The Elements of Information Theory
270(3)
9.2 Bilinear Recurrences
273(13)
9.2.1 Binomial Coefficients and Pascal's Triangle
273(1)
9.2.1.1 The formation rule for Pascal's Triangle
273(1)
9.2.1.2 Summing complete rows of Pascal's Triangle
274(2)
9.2.2 The Fibonacci Number Sequence
276(1)
9.2.2.1 The story of the Fibonacci numbers
277(2)
9.2.2.2 Fibonacci numbers and binomial coefficients
279(1)
9.2.2.3 Alternative origins for the Fibonacci sequence
280(1)
A Two multilinear generating recurrences
281(1)
B A family of binary generating recurrences
282(2)
C A combinatorial setting for the sequence
284(1)
9.2.2.4 A closed form for the nth Fibonacci number
285(1)
9.3 Recurrences "in Action": The Token Game
286(10)
9.3.1 Rules of the Game
286(1)
9.3.2 An Optimal Strategy for Playing the Game
287(3)
9.3.3 Analyzing the Recursive Strategy
290(6)
9.4 Exercises:
Chapter 9
296(5)
10 Numbers III: Operational Representations and Their Consequences
301(30)
10.1 Historical and Conceptual Introduction
301(3)
10.2 Positional Number Systems
304(5)
10.2.1 B-dsy Number Systems
305(2)
10.2.2 A Bijective Number System
307(2)
10.3 Recognizing Integers and Rationals from Their Numerals
309(7)
10.3.1 Positional Numerals for Integers
310(1)
10.3.1.1 Horner's Rule and fast numeral evaluation
310(2)
10.3.1.2 Horner's Rule and fast exponentiation
312(1)
10.3.2 Positional Numerals for Rationals
313(3)
10.4 Sets That Are Uncountable, Hence, "Bigger than" Z and Q
316(7)
10.4.1 The Set of Binary Functions F Is Uncountable
317(1)
10.4.1.1 Plotting a strategy to prove uncountability
317(1)
A Seeking a bijection g: N ↔ F
318(1)
B Every bijection "misses" some function from F
319(1)
10.4.1.2 The denouement: There is no bijection h:N ↔ F
319(1)
10.4.2 R Is Uncountable
319(4)
10.5 Scientific Notation
323(1)
10.6 Exercises:
Chapter 10
324(7)
11 The Art of Counting: Combinatorics, with Applications to Probability and Statistics
331(48)
11.1 The Elements of Combinatorics
333(9)
11.1.1 Counting Binary Strings and Power Sets
334(1)
11.1.2 Counting Based on Set Algebra
335(2)
11.1.3 Counting Based on Set Arrangement and Selection
337(5)
11.2 Introducing Combinatorial Probability via Examples
342(12)
11.2.1 The Game of Poker: Counting joint Events
343(4)
11.2.2 The Monty Hall Puzzle: Conditional Probabilities
347(2)
11.2.3 The Birthday Puzzle: Complementary Counting
349(2)
11.2.4 Sum-of-Spots Dice Games: Counting with Complex Events
351(3)
11.3 Probability Functions: Frequencies and Moments
354(6)
11.3.1 Probability Frequency Functions
354(2)
11.3.2 The (Arithmetic) Mean: Expectations
356(1)
11.3.3 Additional Single-Number "Summarizations"
357(2)
11.3.4 Higher Statistical Moments
359(1)
11.4 The Elements of Empirical/Statistical Reasoning
360(12)
11.4.1 Probability Distributions
362(1)
11.4.1.1 The binomial distribution
362(4)
11.4.1.2 Normal distributions; the Central Limit Theorem
366(2)
11.4.1.3 Exponential distributions
368(1)
11.4.2 A Historically Important Observational Experiment
369(1)
11.4.3 The Law of Large Numbers
370(2)
11.5 Exercises:
Chapter 11
372(7)
12 Graphs I: Representing Relationships Mathematically
379(32)
12.1 Generic Graphs: Directed and Undirected
380(11)
12.1.1 The Basics of the World of Graphs
380(1)
12.1.1.1 Locality-related concepts
381(2)
12.1.1.2 Distance-related concepts
383(2)
12.1.1.3 Connectivity-related concepts
385(1)
12.1.2 Graphs as a Modeling Tool: The 2SAT Problem
386(4)
12.1.3 Matchings in Graphs
390(1)
12.2 Trees and Spanning Trees
391(4)
12.3 Computationally Significant "Named" Graphs
395(14)
12.3.1 The Cycle-graph ln
396(1)
12.3.2 The Complete graph (Clique) Hn
397(2)
12.3.3 Sibling Networks: the Mesh (M m,n); the Torus (M m.n)
399(2)
12.3.4 The (Boolean) Hypercube ln
401(3)
12.3.5 The de Bruijn Network dn
404(5)
12.4 Exercises:
Chapter 12
409(2)
13 Graphs II: Graphs for Computing and Communicating
411(34)
13.1 Graph Coloring and Chromatic Number
411(20)
13.1.1 Graphs with Chromatic Number 2
412(3)
13.1.2 Planar and Outerplanar Graphs
415(1)
13.1.2.1 On 3-coloring outerplanar graphs
416(4)
13.1.2.2 On vertex-coloring planar graphs
420(1)
A On the Four-Color Theorem for planar graphs
421(1)
B The Six-Color Theorem for planar graphs
422(3)
C The Five-Color Theorem for planar graphs
425(3)
13.1.2.3 Two validations of Euler's Formula
428(3)
13.2 Path-and Cycle-Discovery Problems in Graphs
431(12)
13.2.1 Eulerian Cycles and Paths
433(3)
13.2.2 Hamiltonian Paths and Cycles/Tours
436(1)
13.2.2.1 More inclusive notions of Hamiltonicity
436(1)
13.2.2.2 Hamiltonicity in "named" graphs
437(5)
13.2.2.3 Testing general graphs for Hamiltonicity
442(1)
13.3 Exercises:
Chapter 13
443(2)
Appendices: Beyond the Basics
445(81)
A A Cascade of Summations
445(8)
A.1 Revisiting the Triangular Numbers Δ
446(1)
A.2 Tetrahedral Numbers
446(1)
A.2.1 An Algebraic Evaluation of θn
446(1)
A.2.2 A Pictorial Evaluation of θn
447(2)
A.3 Pentahedral Numbers
449(1)
A.3.1 Can We Go Further?
450(3)
B Pairing Functions: Encoding N+ × N+ as N+
453(8)
B.1 A Shell-Based Methodology for Crafting Pairing Functions
454(1)
B.2 The Square-Shell Pairing Function l
455(1)
B.3 The Hyperbolic-Shell Pairing Function H
456(2)
B.4 A Bijective Pairing Using Disjoint Arithmetic Progressions
458(3)
C A Deeper Look at the Fibonacci Numbers
461(12)
C.1 Elementary Computations on Fibonacci Numbers
461(1)
C.1.1 Greatest Common Divisors of Fibonacci Numbers
461(2)
C.1 2 Products of Consecutive Fibonacci Numbers
463(1)
C.1.3 Cassini's Identity
463(1)
C.2 Computing Fibonacci Numbers Fast
464(2)
C.3 A Number System Based on the Fibonacci Sequence
466(1)
C.3.1 The Foundations of the Number System
467(1)
C.3.1.1 Zeckendorf's Theorem
467(1)
C.3.1.2 Proving Zeckendorf's Theorem
467(2)
C.3.2 Using Zeckendorf Numerals as a Number System
469(1)
C.3.2.1 The system's numerals
469(1)
C.3.2.2 Observations about the system's numerals
470(1)
C.3.2.3 On incrementing Fibonacci numerals
471(2)
D Lucas Numbers: Another Recurrence-Defined Family
473(6)
D.1 Definition
473(1)
D.2 Relating the Lucas and Fibonacci Numbers
474(5)
E Signed-Digit Numerals: Carry-Free Addition
479(4)
F The Diverse Delights of de Bruijn Networks
483(8)
F.1 Cycles in de Bruijn Networks
483(2)
F.2 De Bruijn Networks as "Escherian" Trees
485(6)
G Pointers to Applied Studies of Graphs
491(10)
G.1 Graph Decomposition
492(1)
G.2 Graphs Having Evolving Structure
493(2)
G.3 Hypergraphs
495(1)
G.4 Multigraphs and the Chinese Postman Problem
496(5)
H Solution Sketches for Exercises
501(24)
I
525(1)
Lists of Symbols 526(5)
References 531(6)
Index 537
Prof. Arnold Rosenberg is a distinguished university professor emeritus at the University of Massachusetts, Amherst. He also held research positions at Northeastern University and Colorado State University, a professorship at Duke University, and a staff research position at IBM Watson Research Center. He was elected a fellow of the ACM in 1996 for his work on graph-theoretic models of compuation, emphasizing theoretical studies of parallel algorithms and architectures, VLSI design and layout, and data structures. In 1997, he was elected as a fellow of the IEEE for fundamental contributions to theoretical aspects of computer science and engineering. 

Prof. Denis Trystram is a distinguished professor at the Grenoble Institute of Engineering, an honorary member of the Institut Universitaire de France (IUF), and he works at the Laboratoire d'Informatique de Grenoble (LIG) in the team-project DataMove-INRIA. His research interestst include the design and analysis of efficient algorithms for optimizing resource use in parallel and distributed systems, approximation algorithms for scheduling and packing problems, and algorithms for data analytics. Both authors have considerable teaching and practical experience in the application of discrete mathematics approaches to computing tasks.