YoVDO

Programming Foundations: Discrete Mathematics

Offered By: LinkedIn Learning

Tags

Discrete Mathematics Courses Data Analysis Courses Cryptography Courses Logic Courses Graph Theory Courses Set Theory Courses Probability Courses Functional Programming Courses

Course Description

Overview

Learn how to use discrete mathematics to become a better programmer. Explore the role of math in programming, how to use discrete math to analyze data test logic, and more.

Syllabus

Introduction
  • Welcome
  • What you should know
  • Using the exercise files
1. Discrete Math Uses
  • Basics of discrete mathematics
  • Discrete math for programming
  • Real-world discrete math
  • Abstract discrete math
2. Sets
  • Objects as sets
  • Set notation
  • Set operations
  • Power sets
  • Sequences and sums
  • Recursion
  • Cardinality, disjointness, and partitions
  • Sets from Cartesian products
  • Challenge: Practice with sets
  • Solution: Practice with sets
3. Setting Up SML
  • Functional programming
  • Datatypes
  • Characters and strings
  • Recursive functions
  • Challenge: Learn SML
  • Solution: Create new data types
4. Analyzing Data Sequences
  • Use SML to create lists
  • Perform functions on lists
  • Create datatypes that use lists
  • Challenge: Model a lunch order
  • Solution: Model a lunch order
5. Effective Arguments and Defensible Decisions
  • Valid reasoning and inference
  • Truth tables
  • Identify and evaluate predicates
  • Conditional propositions
  • Valid arguments
  • Rules of inference
  • Prove logical equivalence
  • Challenge: Write truth tables
  • Solution: Write truth tables
6. Proofs Made Easy
  • Write a general outline for a proof
  • Write subset proofs
  • Evaluate conditional proofs
  • Understand biconditional proofs
  • Prove with mathematical induction
  • Challenge: Write a proof
  • Solution: Write a proof
7. Advanced Discrete Math Topics
  • Visualize data with graph theory
  • Network optimization with trees
  • Event probability
  • Cryptography
  • Challenge: Advanced techniques
  • Solution: Advanced techniques
Conclusion
  • Next steps

Taught by

Peggy Fisher

Related Courses

Functional Programming Principles in Scala
École Polytechnique Fédérale de Lausanne via Coursera
Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera
Paradigms of Computer Programming
Université catholique de Louvain via edX
Introduction to Functional Programming
Delft University of Technology via edX
Paradigms of Computer Programming – Fundamentals
Université catholique de Louvain via edX