Discrete Math with Functional Programming and Proofs: A Mathematical Intro to Computer Science

COMPSCI 231D

Intro to mathematical computer science. Use the lens of functional programming to learn discrete math and to write mathematical proofs. Topics include: Computation From a Mathematical Viewpoint; Functional Abstraction; Substitution Model; Iteration, Recursion and Induction; Number theory, RSA/Cryptography; Graph Theory; Set theory, Types & Functions; Analysis of Algorithms, Algorithmic Complexity; Lists, Trees, hierarchical data: Mathematical Proofs; Structural Induction; Streams; MapReduce; Computability & the Halting Theorem; Countability, and Equinumerosity; Computational Geometry ; Turing Reductions; Probability; Hidden Markov Models; Lower bounds; Motion Planning for Robotics. Recommended prerequiste: Math 111 or equivalent, Computer Science 101 or equivalent. Cannot take if taken Computer Science 230 or 232.

Prerequisites

Not open to students who have taken CompSci 230 or CompSci 232

Curriculum Codes
  • QC
  • QS
Typically Offered
Fall Only