1 Syllabus


1.1 General syllabus

Note: click on the following link, and actually read it; it’s part of the syllabus:
../../ClassGeneral/Syllabus.html

1.2 Course description

This course provides a rigorous treatment of topics from discrete mathematics which are essential to computer science.
Principal topics include:
formal logic (propositional & predicate), set theory, proof techniques, mathematical induction, program correctness,
combinatorics, discrete probability, relations, functions, matrices, and graph theory.

1.2.1 Prerequisite

A grade of “C” or better in:
either Comp Sci 1500 or Comp Sci 1570, and
one of Math 1120, Math 1140, Math 1208, Math 1210, Math 1211, or Math 1214.

1.3 Textbooks

There are several text references for this class.

For discrete math using Haskell:
https://staff.fnwi.uva.nl/d.j.n.vaneijck2/HR/
https://www.dcs.gla.ac.uk/~jtod/discrete-mathematics/

For discrete (no programming):
https://www.cengageasia.com/TitleDetails/isbn/9780357114087

A nice search engine to find textbooks ;)
https://en.wikipedia.org/wiki/Library_Genesis

For extra Haskell reference:
https://www.happylearnhaskelltutorial.com/contents.html
https://learnyouahaskell.github.io/chapters.html

1.4 Which programming language for this class?

We’ll program and prove examples in a language that elegantly mirrors the math itself:
https://www.haskell.org/documentation/