A Brief Course in Modern Math for Programmers

$39.95
4 ratings

Programmers with the classical software engineering background need to learn more mathematics these days. The world is changing; we have to change, too. This book is dedicated to covering the issues that until recently were not very popular in software engineering: logic, monoids, algebraic structures, categories, and monads. All these topics are explained in the book, with no assumptions about the reader's educational background, with many examples. Most of the examples and explanations use two popular programming languages, JavaScript and Scala.

The book has no theorems and almost no proofs. The purpose of the book is to expand the reader's imagination and to open the gates to the beautiful world of mathematics—at the same time keeping in mind the practical usability of its ideas and notions in our daily coding practice.

Chapter 1. Functions

  • General Ideas
  • Main Definitions
  • Special Classes of Functions
  • Binary Relations
  • Binary Operations

Chapter 2. Abstractions of Algebra

  • Monoids
  • Semigroups
  • Magmas

Chapter 3. Partial Orders, Graphs, and DAGs

Chapter 4. Boolean Logic

  • The Language of First-Order Logic
  • Valid and Sound Arguments
  • Proofs
  • Normal Forms

Chapter 5. Non-Boolean Logic

  • The Meaning of Non-Booleanness
  • Proof in Intuitionistic Logic

Chapter 6. Quantifiers

  • Universal Quantifier
  • Existential Quantifier
  • Connectives and Quantifiers in Boolean Logic
  • Connectives and Quantifiers in Intuitionistic Logic

Chapter 7. Models and Theories

  • Algebraic and Geometric Theories
  • Models

Chapter 8. Category: Multi-Tiered Monoid

Chapter 9. Working with Categories

  • Arrows in a Category
  • Initial and Terminal Objects

Chapter 10. Manipulating Objects in a Category

  • Product, Sum
  • Equalizer, Coequalizer
  • Pullback, Pushout

Chapter 11. Relations Between Categories

  • Functors
  • Building New Categories
  • Product of Two Categories
  • Sum of Two Categories
  • Contravariant Functor
  • Variance in Programming Languages

Chapter 12. Relations Between Functors

  • Natural Transformations
  • Adjoint Functors
  • Limits

Chapter 13. Cartesian Closed Categories

  • Basic Ideas
  • Examples
  • Definition: Bicartesian Closed Category

Chapter 14. Monads

  • Main Ideas
  • Every Adjunction Gives a Monad

Chapter 15. Monads: Algebras and Kleisli

  • Category of Algebras
  • Free Algebras as Functors
  • Forgetting and Freedom
  • Kleisli Category
This product is not currently for sale.
Size
8.92 MB
Length
158 pages
Copy product URL

Ratings

4.5
(4 ratings)
5 stars
50%
4 stars
50%
3 stars
0%
2 stars
0%
1 star
0%
$39.95

A Brief Course in Modern Math for Programmers

4 ratings