**A Mathematical Foundation for Computer Science, Preliminary Edition by David Mix Barrington**

English | 2019 | ISBN: 1792405648 | 364 Pages | PDF | 223 MB

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.

Resolve the captcha to access the links!