Undergraduate computer science students need to learn and use the mathematical method of abstraction, definition, and proof, perhaps even earlier than do mathematics students. They deal constantly with formally defined systems beyond those studied in mathematics courses, and must be able reason about them formally in order to write and understand programs.
A Mathematical Foundation for Computer Science introduces the mathematical method using examples from computer science, often illustrated by Java-like code. It begins with propositional and predicate logic, introduces number theory, and deals thoroughly with mathematical induction as it relates to recursive definition and recursive algorithms. Later chapters cover combinatorics, probability, graphs and searching, finite-state machines, and a brief introduction to formal language theory.
Each chapter is divided into narrative sections, each with Exercises and Problems, and Excursion sections suitable for active learning exercises.
This preliminary edition includes the first four chapters, used as the textbook for the first half of a UMass course, COMPSCI 250.
Author(s): David Barrington
Publisher: Kendall Hunt
Year: 2019
Language: English
Pages: 364
City: Dubuque
Chapter 1: Sets, Propositions, and Predicates
Chapter 2: Quantifiers and Predicate Calculus
Chapter 3: Number Theory
Chapter 4: Recursion and Proof Ьу Induction