diff --git a/differential_equation_modeling.ipynb b/differential_equation_modeling.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..34d9a40f4b2cbaf8b0c7605401a0c7026ecdd444
--- /dev/null
+++ b/differential_equation_modeling.ipynb
@@ -0,0 +1,301 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 67,
+   "id": "78f35a81",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt\n",
+    "from scipy import integrate"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 68,
+   "id": "e77d6923",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "a = 0.5\n",
+    "n = 5\n",
+    "N = 50\n",
+    "H = 1\n",
+    "L = 0"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 69,
+   "id": "78a69bde",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def pH(h):\n",
+    "    return (h * H + (n - h) * L) / n - a * H\n",
+    "\n",
+    "\n",
+    "def pL(l):\n",
+    "    return ((n - l) * H + l * L) / n - a * L"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 70,
+   "id": "7b5f6cad",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def p(xI, j):\n",
+    "    # Group info:\n",
+    "    # size n\n",
+    "    # has j I type students\n",
+    "\n",
+    "    c1 = 1\n",
+    "    for jj in range(j):\n",
+    "        c1 = c1 * (xI - jj)\n",
+    "\n",
+    "    c2 = 1\n",
+    "    for jj in range(n - j):\n",
+    "        c2 = c2 * ((N - xI) - jj)\n",
+    "\n",
+    "    c3 = 1\n",
+    "    for jj in range(n):\n",
+    "        c3 = c3 * (N - jj)\n",
+    "\n",
+    "    return c1 * c2 / c3"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 71,
+   "id": "468083de",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def paiH(xH):\n",
+    "    k = min(xH, n)\n",
+    "    res = 0\n",
+    "    k = int(k)\n",
+    "    for i in range(1, k+1):\n",
+    "        res += pH(i) * p(xH, i)\n",
+    "    return res\n",
+    "\n",
+    "\n",
+    "def paiL(xL):\n",
+    "    k = min(xL, n)\n",
+    "    res = 0\n",
+    "    k = int(k)\n",
+    "    for i in range(1, k+1):\n",
+    "        res += pL(i) * p(xL, i)\n",
+    "    return res"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 72,
+   "id": "7f118af2",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def derivative(X, t):\n",
+    "    H, L = X\n",
+    "    dotH = H * (paiH(H * N) - (H * paiH(H * N) + (N - H) * paiL(N - N * H)))\n",
+    "    # do not calculate y, because L = 1 - H, set it is 0\n",
+    "    dotL = 0\n",
+    "    return np.array([dotH, dotL])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 73,
+   "id": "c664c0b2",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "<matplotlib.legend.Legend at 0x7f82c1ec5a00>"
+      ]
+     },
+     "execution_count": 73,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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C6mtraW0tJTLL7+cmpoazjvvPCZMmMD48eN57LHHuuw49srOuYb39SECG8urmDN2UKLLMaZ3en4hfLSpa7d5fDGcs6jdq8XqNnf5cufZ9GvXruXaa68N9Uq4ZMkSfvGLX/D2229z9OjR0IMrmlx33XXMnTuXxx9/nNNPP52rr76a0aNHs2jRIjZv3hx6QygrK4taT11dHV/84hf5xz/+wUknncSll14aWnb33Xfzmc98hsWLF1NZWcm0adM444wzAKe/mPXr15OZmcmYMWO46aabWLRoEb/85S9D+3ziiScYMmQIzz33HOD0X9NVeuUZenaacOJxuWzaVZnoUowxXaC8vJyzzjqL4uJi7r33XrZs2RJatm/fPq688kr++Mc/kp+fzyWXXMKzzz5LQ0MDixcv5pprrjlme6Wlpbz77rvcdtttHDhwgKlTp7Jt27a463n77bcZNWoUo0ePRkS44oorQsteeuklFi1aRGlpKbNnz6auro4PP/wQcDrtys/PJysri3HjxkXtsKu4uJi///3v3H777fzzn/8kPz+/HUeqdb3yDB2gZGg+r27v2LP9jDF06Ey6u8TqNjcQCHDZZZdxxx13MH78eABycnI488wzefrpp/nzn/8c6ks9Um5uLhdddBEXXXQRPp+P5cuX87nPfa5Fm/Buc6Fl17mxuudVVZ544gnGjBnTYv4bb7xBZmZmaDpW17knn3wya9euZfny5XzrW99i7ty53HHHHa0cnfj1yjN0gOKifPYePsqeQ3VtNzbGJLVY3eYuXLgw6iParr/+em6++WamTp1K//79j9nea6+9Furqtr6+nq1btzJixIhjus0dMWIEW7du5ejRo1RVVfHyyy8DTui+99577NixA4A//elPoXXOOussHnjggdDj6NavX9/mz5eenk5DQwPgdOubk5PDFVdcwa233tqii9/O6r1n6EUFgHMd/cxxdpORMb3FkSNHGDt2bOgM+Otf/3qo29yhQ4cyY8YM3nvvPQB+8pOfcMopp1BaWgrA//zP/zBv3jwmT55M3759ufbaa6PuY8eOHXz5y19GVQkGg5x33nl87nOfQ0SYOXMm48eP55xzzuHee+/l85//PCUlJYwePZqJE50+orKysnjooYc477zzGDhwILNmzWLz5s0AfPe73+WWW26hpKQEVWXkyJE8++yzrf7M8+fPp6Sk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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "t = np.arange(0, 20, 1)\n",
+    "X0 = [0.5, 0.5]\n",
+    "res = integrate.odeint(derivative, X0, t, args=())\n",
+    "H, L = res.T\n",
+    "\n",
+    "for i, v in enumerate(H):\n",
+    "    L[i] = 1 - H[i]\n",
+    "\n",
+    "plt.figure()\n",
+    "plt.grid()\n",
+    "plt.plot(t, H, label='Hard Students')\n",
+    "plt.plot(t, L, label='Lazy Students')\n",
+    "plt.title(\"n=5\")\n",
+    "plt.xlabel('Time(Course)')\n",
+    "plt.legend()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 74,
+   "id": "ac83f147",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "<matplotlib.legend.Legend at 0x7f82a81ff7c0>"
+      ]
+     },
+     "execution_count": 74,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# individule coursework\n",
+    "a = 0.5\n",
+    "n = 1\n",
+    "N = 50\n",
+    "H = 1\n",
+    "L = 0\n",
+    "\n",
+    "t = np.arange(0, 20, 1)\n",
+    "X0 = [0.5, 0.5]\n",
+    "res = integrate.odeint(derivative, X0, t, args=())\n",
+    "H, L = res.T\n",
+    "\n",
+    "for i, v in enumerate(H):\n",
+    "    L[i] = 1 - H[i]\n",
+    "\n",
+    "plt.figure()\n",
+    "plt.grid()\n",
+    "plt.plot(t, H, label='Hard Students')\n",
+    "plt.plot(t, L, label='Lazy Students')\n",
+    "plt.title(\"n=1\")\n",
+    "plt.xlabel('Time(Course)')\n",
+    "plt.legend()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "id": "feebf06f",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def runge_kutta(y, x, dx, f):\n",
+    "    k1 = dx * f(y, t)\n",
+    "    k2 = dx * f(y + 0.5 * k1, x + 0.5 * dx)\n",
+    "    k3 = dx * f(y + 0.5 * k2, x + 0.5 * dx)\n",
+    "    k4 = dx * f(y + k3, x + dx)\n",
+    "    return y + (k1 + 2 * k2 + 2 * k3 + k4) / 6."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 55,
+   "id": "a2d58edd",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "def func(y, t):\n",
+    "    return t-9\n",
+    "    \n",
+    "t = 0.5\n",
+    "y = 1.\n",
+    "dt = .1\n",
+    "ys, ts = [], []\n",
+    "while t <= 10:\n",
+    "    y = runge_kutta(y, t, dt, func)\n",
+    "    t += dt\n",
+    "    ys.append(y)\n",
+    "    ts.append(t)\n",
+    "\n",
+    "plt.plot(ts, ys, label='runge_kutta')\n",
+    "plt.legend()\n",
+    "plt.show()\n",
+    "    \n",
+    "    "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d95f71b0",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}