These learning materials are to supplement the teaching of discrete mathematics at undergrauate level, elucidating the core concepts and applying those concepts to useful settings.
Get an interactive session in MyBinder.org or in Google's Colab with these course materials by clicking on the button below. Select the folder notebooks to access the course material as fully executable Jupyter notebooks. (Note that lauching interactive notebooks may take several minutes.)
Tutorial 1: Jupyter Lab Guide
What is Jupyter?, Cells, Code cells, Display of graphics, Proper formatting of cells, Best practices for code cells, Markdown cells
Tutorial 2: Introduction to 𝐿𝐴𝑇𝐸𝑋 for Jupyter notebook
Basic inline Latex, Displaying equations on separate lines, Fractions, Grouping operators, Matrices and arrays, Using Latex in figures, Useful Latex symbols
Lab 1: Fundamentals of Logic
Lab 2: Algorithm Complexity: Array and Bubble Sort
Bubble Sort, Plotting Algorithmic Time Complexity of a Function using Python
Lab 3: Algorithm Complexity: Sequential and Binary Search
The Sequential Search (or Linear Search), Analysis of Sequential Search, What if the items were ordered in some way?, Binary Search, Analysis of Binary Search