1 Content


1.1 Class infrastructure

Make sure you actually know everything outlined here,
including basic Bash, VMs, Containers, Git, Standard Input/Output (I/O), etc.:
../../ClassGeneral.html

1.2 Schedule and due dates

The schedule and due dates will be updated as we progress through the semester (on Canvas).
Please check back regularly for changes.

1.3 Topic outline

1.3.1 First day

Show Canvas landing page
Show Canvas calendar
Review #class-infrastructure
Show Zulip
Show git-classes with CI/CD results, example:
https://git.mst.edu/make-grade/make-grade-haskell
Show syllabus quiz
Meet your in-class neighbors

1.3.2 Review

As background for discrete math itself,
you should already know recursion and basic functional programming,
along with some understanding of computational complexity.

These links review those ideas in Python:
../ComputationalThinking/Content/AlgorithmsSoftware.html
../ComputationalThinking/Content/Recursion.html
../ComputationalThinking/Content/FunctionalProg.html

This content reviews those ideas in C++:
../DataStructures/Content.html
Sections here on “Mathematical preliminaries and recursion” and “Algorithm analysis”

1.3.3 Discrete mathematics

Content/Inspiration.html
Content/Introduction.html
Content/Haskell.html
Content/MathReview.html
Content/AlgorithmComplexity.html
Content/SequenceRecursion.html
Content/Induction.html
Content/Trees.html
Content/Logic.html
Content/Proofs.html
Content/CircuitDesign.html
Content/SetTheory.html
Content/TypeTheory.html
Content/Relations.html
Content/Functions.html
Content/BalancedTrees.html
Content/Graphs.html
Content/CountingProbability.html
Content/GroupsRingsFields.html
Content/RegExFSA.html