Hacking Discrete Math with Python 3

About The book

This book contains lecture notes for an elementary one semester class in discrete math (DM) for computer science and computer engineering stu- dents. If you’ve come this far, then chances are you’re already familiar with the $300 textbooks that rule the roost (and strain the muscles). I call these the big box books (BBBs). I use these notes to help students navigate a pathway through the BBBs, and then throw in a modicum of Python. In my experience, students relate better to this material when it is presented in the context of programming. Python is used as an exemplar because it is generic, easy to learn, and free (as in both beer and speech). While a small number of mathematical exercises have been included, I have relegated the task of enumerating huge reams of exercises to the BBBs.


List of Symbols
1 Logic and Truth Tables
2 Equivalence
3 Argument and Proof
4 Sets
5 Direct Proof and Number Theory
6 Proof by Cases
7 Disproof by Counterexample
8 Proof by Contraposition
9 Proof by Contradiction
10 Induction
11 Division
12 Functions
13 Sequences, Sums and Products
14 Cardinality
15 Counting
16 Recurrence Relations
17 Recursion
18 Languages and Regular Expressions
19 Graph Theory
20 Decidability and Computability
A A Quick Tour of Python