In my OMSCS Education Technology class, as a capstone project, I created this course leveraging the latest research in the field of Education technology. The idea and project are based on the latest research on how to create a MOOC that engages the user, is easy to use, and provides effective ways to doing hands-on so that the learners retain whatever they have learned.

I have seen this in my experience that learners who are trying to get into digital technology are demotivated by the mathematics that they have to work within the start itself. So this is a project in a direction to minimize that learning curve.

I created this tutorial which learners can easily finish within a couple of hours. The videos are short to the point. Accompanied by real-time hands on code walkthrough on Jupiter notebooks. Learners can play with the codebase discussed in the video in the Jupiter notebook and also do the open exercises that come along with it. These different mechanisms of learning help the learners to quickly grasp the content in much less time than an actual classroom.

The content is all open source and delivered via binder and GitLab you can check other artefacts on the video description.

Following is the brief summary of the Project.

### Repo Link : https://github.com/yogeshmpandey/M4DT

Want to learn the required mathematical background need for learning digital technologies

like ** Machine Learning, Deep Learning, Computer Vision, Data Science and NLP**? ?

This Classroom has everything that you need to get started!

**Author:** Yogesh Pandey (Personal Page)

## Table of Contents

**Classroom Overview****Basic of Python and NumPy**- Video - Python Basics
- Video - Introduction to NumPy and Matplotlib
- Lab - Basic of Python, NumPy and Matplotlib [Python]

**Linear Algebra**- Video - What are Linear Equations?
- Video - What are Functions?
- Video - Introduction to Vectors
- Lab - Understanding Linear Algebra [Python]

**Introduction to Matrices**- Video - Introduction to Matrices
- Video - Solving Linear Equations with Matrices
- Video - What are Eigenvalues and Eigenvectors?
- Lab - Introduction to Matrices [Python]

**Basics of Calculus**- Video - What is the rate of change?
- Video - Introduction to differentiation
- Video - Introduction to Integration
- Lab - Basics of Calculus [Python]

**Statistics and Probability**- Video - Introduction to Statistics
- Video - Visualizing data
- Video - Introduction to Probability Theory
- Lab - Statistics and Probability [Python]

**Implementation examples: Predicting Something**- Video - Making Predictions
- Lab - Predicting Housing Prices[Python]

## Introduction

The goal of this classroom is to provide you with necessary mathematical background knowledge help you start your journey into the world of digital technology.

### Who is this repository for?

The topics and techniques demonstrated in this classroom are primarily oriented towards learners wanting to learn Mathematical concepts used in the field of Computer Science, Artificial Intelligence, Machine Learning, Deep Learning, Computer Vision, Data Science and NLP.

## How to use this repository?

The Classroom is aimed at providing blended and experiential learning and is written to facilitate learning by doing. You will find the notebooks with embedded videos on the sub-topics, hands-on exercises and documentation on the topics all in one place. The videos are time-stamped so you can skip the parts that you are already familiar with.

You can run the classroom content in two ways:

**Option 1:** use Binder

If you want to experiment with the code in a live environment you can also use binder.

Binder allows to create a live environment where you can execute code just as if you were on your computer based on a GitHub repository, it is very awesome!

Click on the button below to launch binder:

**Note: you could use binder to complete the exercises but it will not save!!**

**Option 2:** Set up local Python setup

You can essentially “download” the contents of this repository by cloning the repository or by clicking “Clone or download” button and then “Download ZIP”:

After you download and extract the zip file into a folder you can to set up your local environment and run the jupyter labs locally.

## Questions?

If you have questions or experience problems please use the issues tab of this repository.