Edit product


A Brief Course in Modern Math for Programmers

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

You've purchased this product

See it in your library

View in Library
Sorry, this item is not available in your location.
Sold out, please go back and pick another option.
This product is not currently for sale.

4 ratings

  • Size8.92 MB
  • Length158 pages


A Brief Course in Modern Math for Programmers

Enter your info to complete your purchase


···· ···· ···· 4242
Test card



Use a different card?


pp paypal

or pay with

We do not keep any of your sensitive credit card information on file with us unless you ask us to after this purchase is complete.

or pay with

You'll be charged US$39.95.

Your purchase was successful!

We charged your card and sent you a receipt


    Gumroad Library

    Download from the App Store or text yourself a link to the app

    Good news! Since you already have a Gumroad account, it's also been added to your library.

    Powered by Gumroad