From 626d74cdd48b0ef673f3378dde8b33d5bc49d394 Mon Sep 17 00:00:00 2001
From: Robert Lanzafame <R.C.Lanzafame@tudelft.nl>
Date: Wed, 9 Oct 2024 09:50:23 +0200
Subject: [PATCH] WS 1.6 final?

---
 content/Week_1_6/WS_1_6_solution.ipynb      |  288 +++--
 content/Week_1_6/WS_1_6_student.ipynb       |  391 +++---
 src/teachers/Week_1_6/WS_1_6_solution.html  |  291 +++--
 src/teachers/Week_1_6/WS_1_6_solution.ipynb | 1279 +++++++++++++++++++
 src/teachers/Week_1_6/WS_1_6_student.html   |  403 +++---
 src/teachers/Week_1_6/WS_1_6_student.ipynb  |  397 +++---
 6 files changed, 2096 insertions(+), 953 deletions(-)
 create mode 100644 src/teachers/Week_1_6/WS_1_6_solution.ipynb

diff --git a/content/Week_1_6/WS_1_6_solution.ipynb b/content/Week_1_6/WS_1_6_solution.ipynb
index 19c994e3..bf46f829 100644
--- a/content/Week_1_6/WS_1_6_solution.ipynb
+++ b/content/Week_1_6/WS_1_6_solution.ipynb
@@ -34,14 +34,12 @@
     "\n",
     "This assignment is aimed to develop an understanding of the **Ordinary Differential Equation (ODE)**. There will be two sections about cooling and heating scenerios, corresponding to the first-order and the second-order ODEs. Please go through the text that follows and perform all steps outlined therein.\n",
     "\n",
-    "## Section 1: First-order ODE\n",
-    "### 1.1 Linear ODE\n",
+    "## Part 1: First-order ODE\n",
+    "\n",
     "In the study of heat transfer, **Newton's law of cooling** is a physical law which states that the rate of heat loss of a body is directly proportional to the difference in the temperatures between the body and its environment. It can be expressed in the form of ODE, as below:\n",
     "\n",
     "$$\\frac{dT}{dt}=-k(T - T_s)$$\n",
     "\n",
-    "\n",
-    "\n",
     "where $T$ is the temperature of the object at time $t$, $T_s$ is the temperature of the surrounding and assumed to be constant, and $k$ is the constant that characterizes the ability of the object to exchange the\n",
     "heat energy (unit 1/s), which depends on the specific material properties.\n",
     "\n",
@@ -54,9 +52,9 @@
    "id": "73781a3c",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 1:</b>\n",
+    "<b>Task 1.1:</b>\n",
     " \n",
     "Suppose the considered period of time is long enough (bring it to steady state), what will be the final temperature of the object? \n",
     "    \n",
@@ -71,8 +69,7 @@
    "id": "3081d88d",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p>Your answers for Task 1:\n",
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
     "<p>\n",
     "    \n",
     "20°C \n",
@@ -96,9 +93,9 @@
    "id": "18cbde20",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 2:</b>\n",
+    "<b>Task 1.2:</b>\n",
     "\n",
     "Write the algebraic representation of the ODE using Explicit Euler.\n",
     " \n",
@@ -111,9 +108,9 @@
    "id": "bec070a5",
    "metadata": {},
    "source": [
-    " <div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    " <div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
     "<p>\n",
-    "Answer for Task 2:\n",
+    "Answer for Task 1.2:\n",
     "<p>\n",
     "    \n",
     " $$ T_{i+1} = T_{i}-k(T_{i} - T_s)dt$$\n",
@@ -150,14 +147,16 @@
   },
   {
    "cell_type": "markdown",
-   "id": "579a9440",
+   "id": "fb6eda82",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3:</b>\n",
+    "<b>Task 1.3:</b>\n",
+    "\n",
+    "Compute the temperature evolution in the next 60 seconds.\n",
     "\n",
-    "Compute the temperature evolution in the next 60 seconds. This task is defined in subtasks.\n",
+    "**Please complete the missing parts of the code in each step below, which is divided into 5 substeps (a through e).**\n",
     " \n",
     "</p>\n",
     "</div>"
@@ -168,9 +167,9 @@
    "id": "88b861bc",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.1:</b> \n",
+    "<b>Task 1.3a:</b> \n",
     "\n",
     "The time step of 5 seconds is constant. Discretize the time points, the solution vector $T$ and define the initial condition.\n",
     " \n",
@@ -205,9 +204,9 @@
    "id": "4586d4b6",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.2:</b> \n",
+    "<b>Task 1.3b:</b> \n",
     "\n",
     "Implement your time discretization and find the solution from $t=0$ until $t=60$ sec. \n",
     " \n",
@@ -249,9 +248,9 @@
    "id": "ffb4547f",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.3:</b>\n",
+    "<b>Task 1.3c:</b>\n",
     "\n",
     "Try different time steps to check the stability of the calculation. At which value the solution is stable?\n",
     " \n",
@@ -264,7 +263,7 @@
    "id": "59bcbb0a",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
     "<p>\n",
     "<b>Answer:</b> \n",
     "    \n",
@@ -279,9 +278,9 @@
    "id": "8a907a09",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.4:</b>\n",
+    "<b>Task 1.3d:</b>\n",
     "\n",
     "Obtain the mathematical expression that proves your stability criteria.\n",
     " \n",
@@ -294,7 +293,7 @@
    "id": "eb00c9ab",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
     "<p> Answer\n",
     "<p>\n",
     "    \n",
@@ -335,9 +334,9 @@
    "id": "1ff1e4fe",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.5:</b>\n",
+    "<b>Task 1.3e:</b>\n",
     "\n",
     "Now, discretize the equation using Implicit (Backward) Euler. Can you find a time step that makes the problem unstable?\n",
     " \n",
@@ -382,13 +381,28 @@
     "plt.grid()"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "f534fb27",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Answer:</b> \n",
+    "    \n",
+    "No, you cannot! This method is unconditionally stable. (a good thing to remember for the exam)\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "2109f010",
    "metadata": {},
    "source": [
-    "## Section 2: Second-order ODE\n",
-    "### Background\n",
+    "## Part 2: Second-order ODE\n",
+    "\n",
     "The following 1D equation describes the steady state solution of the temperature along a pin that sticks out of a furnace. The rest of the pin is exposed to the ambient. \n",
     "\n",
     "$$\n",
@@ -415,33 +429,46 @@
   },
   {
    "cell_type": "markdown",
-   "id": "c739aaf1",
+   "id": "c74adcb4",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 5:</b>\n",
+    "<b>Task 2.1:</b>\n",
+    "\n",
+    "This task has three parts: a) discretize the analytic expression into a system of equations using central differences, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.\n",
     "\n",
-    "Below we already provide the code structured that solves the equation with the above Dirichlet conditions and using a central difference approximation of the second derivative. Complete the code to complete the matrix and vectors. **Write in paper (add the image) the matrix A, and the vectors T and b.**\n",
+    "<em>Parts 2.1b and 2.1c do not need to be completed in order; in fact, it may be useful to go back and forth between the two in order to understand the problem.</em> \n",
     "    \n"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "11009615",
+   "id": "0db7afc9",
    "metadata": {},
-   "source": []
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1a:</b>\n",
+    "\n",
+    "Discretize the analytic expression into a system of equations for a grid with 6 points using central differences.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
   },
   {
    "cell_type": "markdown",
-   "id": "4133c6e2",
+   "id": "6ae1eb87",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p> Answer\n",
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p> Answer for 2.1a and 2.1b\n",
     "<p>\n",
-    "    \n",
-    "Add the image.\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_{i-1} - 2T_{i} + T_{i+1}) - \\alpha T_{i} + \\alpha T_s = 0\n",
+    "$$\n",
     "\n",
     "**For $i = 1$:**\n",
     "The finite difference approximation for the first internal node is:\n",
@@ -483,7 +510,34 @@
     "(T_3 - (2 + \\alpha \\Delta x^2) T_4 ) = -\\alpha Ts \\Delta x^2 -T_5 \n",
     "$$\n",
     "\n",
-    "We can now move the equations in the Ax=y form:\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "df2341fc",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1b:</b>\n",
+    "\n",
+    "Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c8616d1c",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "\n",
+    "The discretized equations are presented in Ax=y form:\n",
     "\n",
     "$$\n",
     "\\begin{bmatrix}\n",
@@ -512,6 +566,27 @@
     "</div>"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "0c12775e",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1c:</b>\n",
+    "\n",
+    "Implement the discretized system of equations in a code cell.\n",
+    "\n",
+    "<em>We have already done this for you! Your task is to read the cell and make sure you understand how the matrices are implemented. Reading the code should help you formulate the matrices in Task 2.1b.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "11009615",
+   "metadata": {},
+   "source": []
+  },
   {
    "cell_type": "code",
    "execution_count": 4,
@@ -587,9 +662,9 @@
    "source": [
     "\n",
     "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 6:</b>\n",
+    "<b>Task 2.2:</b>\n",
     "\n",
     "Copy the code above below and modify it to replace the Dirichlet condition at the right BC for a Neumann condition such that there $\\frac{dT}{dx}=0$. Approximate the Neuman boundary $\\frac{dT}{dx}=0$ by using the Backward difference for first order differential equation of first order accuracy. \n",
     "\n",
@@ -730,18 +805,30 @@
   },
   {
    "cell_type": "markdown",
-   "id": "0b47e9c2",
+   "id": "ac255017",
    "metadata": {},
    "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.3:</b>\n",
     "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "Just as we did in Task 2.1, this task has three parts: a) discretize the analytic expression into a system of equations using <b>forward differences</b>, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.\n",
+    "</div>    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "104690ed",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 7:</b>\n",
+    "<b>Task 2.3a:</b>\n",
     "\n",
-    "Now, instead of using the central difference for approximating the second derivative. Use the forward difference to replace the second derivative (first order accurate). **Write the algebraic representation of the differential equation below.**\n",
+    "Discretize the analytic expression into a system of equations for a grid with 6 points using <b>forward differences</b>.\n",
     "\n",
-    "</p>\n",
-    "</div>"
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
    ]
   },
   {
@@ -749,8 +836,7 @@
    "id": "74174f3a",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p> Answer\n",
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
     "<p>\n",
     "Forward difference for second order differential equation:\n",
     "\n",
@@ -767,7 +853,7 @@
     "\n",
     "\n",
     "$$\n",
-    "-2T_1 +T_2 = -(1+alpha)T_0 - \\alpha T_s \\Delta x^2\n",
+    "-2T_1 +T_2 = -(1+\\alpha)T_0 - \\alpha T_s \\Delta x^2\n",
     "$$\n",
     "\n",
     "**For $i = 1$:**\n",
@@ -817,18 +903,17 @@
   },
   {
    "cell_type": "markdown",
-   "id": "a4e0342e",
+   "id": "7b12c86e",
    "metadata": {},
    "source": [
-    "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 8:</b>\n",
+    "<b>Task 2.3b:</b>\n",
     "\n",
-    "Now, write the resulting matrix A, the vector T and the vector b.\n",
-    "    \n",
-    "</p>\n",
-    "</div>"
+    "Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
    ]
   },
   {
@@ -862,41 +947,17 @@
   },
   {
    "cell_type": "markdown",
-   "id": "b9ca660d",
-   "metadata": {},
-   "source": []
-  },
-  {
-   "cell_type": "markdown",
-   "id": "8cb492f8",
-   "metadata": {},
-   "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p> Answer\n",
-    "<p>\n",
-    "    \n",
-    "Add the image.\n",
-    "\n",
-    "</p>\n",
-    "</div>"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "0640b43e",
+   "id": "1b304504",
    "metadata": {},
    "source": [
-    "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 9:</b>\n",
+    "<b>Task 2.3c:</b>\n",
     "\n",
-    "Copy the code of task 5 below, modify it accordingly to your new discretization (using FD for the second derivative in space). Keep Dirichlet conditions. \n",
+    "Implement the discretized system of equations in a code cell.\n",
     "\n",
-    "How different are the values of the temperature with respect to task 5? Which solution is expected to be more accurate?\n",
-    "\n",
-    "</p>\n",
-    "</div>"
+    "<b>This time we did not do it for you!</b> Copy the code from Task 2.1c and revise it to solve the system of equations using <b>Forward Differences</b>. Keep the Dirichlet conditions.\n",
+    "    \n"
    ]
   },
   {
@@ -989,12 +1050,12 @@
   },
   {
    "cell_type": "markdown",
-   "id": "64d693df",
+   "id": "18d60370",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 9:</b>\n",
+    "<b>Task 2.4:</b>\n",
     "\n",
     "How much finer does your grid has to be in the forward difference implementation to get a similar value at x = 0.02 as in the central difference implementation? Vary your dx.\n",
     "\n",
@@ -1005,22 +1066,28 @@
   },
   {
    "cell_type": "markdown",
-   "id": "e771703c",
+   "id": "7ef65db5",
    "metadata": {},
    "source": [
-    "you can test this above make the temperature the same at x=0.02 "
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "    \n",
+    "You can test this above make the temperature the same at x=0.02\n",
+    "\n",
+    "</p>\n",
+    "</div>"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "031dca37",
+   "id": "b78e8e16",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Bonus note:</b> \n",
+    "<b>Bonus Task</b> \n",
     "    \n",
-    "The matrix inversion using numpy is one way to solve the system, another is the gauss_jordan written below and another one is the sparse matrix based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change dx to 0.0002 of the code in task 5 and run it. Now, you should have a matrix A with a high resolution that solves the second degree ODE. Test the time each method takes.\n",
+    "The matrix inversion using numpy is one way to solve the system, another is the <code>gauss_jordan</code> method, written below, and another one is the sparse matrix-based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change <code>dx</code> to 0.0002 of the original code that solves the second degree ODE and test the time it takes by each method.\n",
     "    \n",
     "</p>\n",
     "</div>"
@@ -1081,9 +1148,9 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "The time used by direct matrix inversion solution is  2.522e-03 sec\n",
-      "The time used by Gauss-jordan solution is  2.020e-01 sec\n",
-      "The time used by the sparse matrix solver is  3.001e-03 sec\n"
+      "The time used by direct matrix inversion solution is  1.399e-03 sec\n",
+      "The time used by Gauss-jordan solution is  1.411e-01 sec\n",
+      "The time used by the sparse matrix solver is  1.286e-03 sec\n"
      ]
     }
    ],
@@ -1119,6 +1186,21 @@
     "assert np.allclose(np.dot(A, u2), b), \"Oops! The calculation is wrong..\""
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "5d5b9189",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p> Answer\n",
+    "<p>\n",
+    "    \n",
+    "The sparse matrix is fastest, but we see that the Numpy implementation is also very fast! problem still small; Gauss-Jordan slow because...???\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "2921b3f2",
diff --git a/content/Week_1_6/WS_1_6_student.ipynb b/content/Week_1_6/WS_1_6_student.ipynb
index 05577a25..6feca725 100644
--- a/content/Week_1_6/WS_1_6_student.ipynb
+++ b/content/Week_1_6/WS_1_6_student.ipynb
@@ -34,14 +34,12 @@
     "\n",
     "This assignment is aimed to develop an understanding of the **Ordinary Differential Equation (ODE)**. There will be two sections about cooling and heating scenerios, corresponding to the first-order and the second-order ODEs. Please go through the text that follows and perform all steps outlined therein.\n",
     "\n",
-    "## Section 1: First-order ODE\n",
-    "### 1.1 Linear ODE\n",
+    "## Part 1: First-order ODE\n",
+    "\n",
     "In the study of heat transfer, **Newton's law of cooling** is a physical law which states that the rate of heat loss of a body is directly proportional to the difference in the temperatures between the body and its environment. It can be expressed in the form of ODE, as below:\n",
     "\n",
     "$$\\frac{dT}{dt}=-k(T - T_s)$$\n",
     "\n",
-    "\n",
-    "\n",
     "where $T$ is the temperature of the object at time $t$, $T_s$ is the temperature of the surrounding and assumed to be constant, and $k$ is the constant that characterizes the ability of the object to exchange the\n",
     "heat energy (unit 1/s), which depends on the specific material properties.\n",
     "\n",
@@ -54,9 +52,9 @@
    "id": "73781a3c",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 1:</b>\n",
+    "<b>Task 1.1:</b>\n",
     " \n",
     "Suppose the considered period of time is long enough (bring it to steady state), what will be the final temperature of the object? \n",
     "    \n",
@@ -85,9 +83,9 @@
    "id": "18cbde20",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 2:</b>\n",
+    "<b>Task 1.2:</b>\n",
     "\n",
     "Write the algebraic representation of the ODE using Explicit Euler.\n",
     " \n",
@@ -106,32 +104,26 @@
    "id": "579a9440",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3:</b>\n",
+    "<b>Task 1.3:</b>\n",
     "\n",
     "Compute the temperature evolution in the next 60 seconds.\n",
     "\n",
-    "**Please complete the missing parts of the code in each step below**\n",
+    "**Please complete the missing parts of the code in each step below, which is divided into 5 substeps (a through e).**\n",
     " \n",
     "</p>\n",
     "</div>"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "id": "ec6e3109",
-   "metadata": {},
-   "source": []
-  },
   {
    "cell_type": "markdown",
    "id": "88b861bc",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.1:</b> \n",
+    "<b>Task 1.3a:</b> \n",
     "\n",
     "The time step of 5 seconds is constant. Discretize the time points, the solution vector $T$ and define the initial condition.\n",
     " \n",
@@ -166,9 +158,9 @@
    "id": "4586d4b6",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.2:</b> \n",
+    "<b>Task 1.3b:</b> \n",
     "\n",
     "Implement your time discretization and find the solution from $t=0$ until $t=60$ sec. \n",
     " \n",
@@ -178,23 +170,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": null,
    "id": "0bf8247e",
    "metadata": {
     "scrolled": false
    },
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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gAEAQFQjzAAAgKhGmOkCh8Oh+fPny+FwWF1KxKNX5tEr8+iVefTKPHplXqT0qtsvAAYAAN0bIzMAACCqEWYAAEBUI8wAAICoRpgBAABRjTBziX79618rOztbCQkJGjlypN555x2rS7Lcxo0bNXnyZGVmZspms+mVV15ps98wDBUWFiozM1OJiYkaP368du/ebU2xFlu8eLFGjRqllJQUZWRk6I477tDevXvbHEO/Wi1fvlzDhw/3P5QrLy9Pb775pn8/ferc4sWLZbPZVFBQ4N9Gv84qLCyUzWZr8+Vyufz76VVbhw8f1owZM9S7d285nU5de+212rZtm3+/lf0izFyCNWvWqKCgQPPmzdOOHTv01a9+VbfffrsOHjxodWmWqq+v1zXXXKNly5Z1uP+pp57S008/rWXLlmnLli1yuVzKz8/3vz+rJykpKdGcOXO0adMmFRcXq6mpSRMmTFB9fb3/GPrVql+/fnryySe1detWbd26VTfffLOmTJni/48kferYli1b9Oyzz2r48OFtttOvtq6++mpVVlb6v8rKyvz76NVZx48f1w033CC73a4333xTe/bs0c9+9jNddtll/mMs7ZeBgF1//fXG/fff32bblVdeafzkJz+xqKLII8l4+eWX/d+3tLQYLpfLePLJJ/3bTp8+baSlpRm/+c1vLKgwslRXVxuSjJKSEsMw6NfFXH755cbvfvc7+tSJuro6Y9CgQUZxcbExbtw448EHHzQMg9+r882fP9+45pprOtxHr9qaO3euceONN3a63+p+MTIToMbGRm3btk0TJkxos33ChAl6//33Laoq8lVUVKiqqqpN3xwOh8aNG0ffJNXU1EiSevXqJYl+daa5uVmrV69WfX298vLy6FMn5syZo69//eu69dZb22ynX+2Vl5crMzNT2dnZuvPOO/Xpp59Kolfne+2115Sbm6u///u/V0ZGhq677jqtWLHCv9/qfhFmAnTkyBE1Nzerb9++bbb37dtXVVVVFlUV+Xy9oW/tGYahhx56SDfeeKNycnIk0a/zlZWVKTk5WQ6HQ/fff79efvllDR06lD51YPXq1dq+fbsWL17cbh/9amv06NF64YUXtH79eq1YsUJVVVUaO3asjh49Sq/O8+mnn2r58uUaNGiQ1q9fr/vvv18/+tGP9MILL0iy/ner2781O1RsNlub7w3DaLcN7dG39h544AF9+OGHevfdd9vto1+thgwZop07d+rEiRN66aWXNHPmTJWUlPj306dWhw4d0oMPPqiioiIlJCR0ehz9anX77bf7/3nYsGHKy8vTgAEDtHLlSo0ZM0YSvfJpaWlRbm6uFi1aJEm67rrrtHv3bi1fvlzf+c53/MdZ1S9GZgKUnp6u2NjYdkmzurq6XSLFWb47BOhbWz/84Q/12muv6e2331a/fv382+lXW/Hx8Ro4cKByc3O1ePFiXXPNNVq6dCl9Os+2bdtUXV2tkSNHKi4uTnFxcSopKdEvfvELxcXF+XtCvzqWlJSkYcOGqby8nN+t87jdbg0dOrTNtquuusp/44vV/SLMBCg+Pl4jR45UcXFxm+3FxcUaO3asRVVFvuzsbLlcrjZ9a2xsVElJSY/sm2EYeuCBB7R27Vq99dZbys7ObrOffl2YYRjyeDz06Ty33HKLysrKtHPnTv9Xbm6u7r77bu3cuVNXXHEF/boAj8ejjz76SG63m9+t89xwww3tHh/xySefqH///pIi4L9ZIV9i3A2tXr3asNvtxnPPPWfs2bPHKCgoMJKSkoz9+/dbXZql6urqjB07dhg7duwwJBlPP/20sWPHDuPAgQOGYRjGk08+aaSlpRlr1641ysrKjLvuustwu91GbW2txZWH3+zZs420tDRjw4YNRmVlpf+roaHBfwz9avXoo48aGzduNCoqKowPP/zQeOyxx4yYmBijqKjIMAz6dDHn3s1kGPTrXD/+8Y+NDRs2GJ9++qmxadMm4xvf+IaRkpLi/285vTpr8+bNRlxcnLFw4UKjvLzc+MMf/mA4nU7jxRdf9B9jZb8IM5foV7/6ldG/f38jPj7eGDFihP+W2p7s7bffNiS1+5o5c6ZhGK237s2fP99wuVyGw+EwbrrpJqOsrMzaoi3SUZ8kGc8//7z/GPrV6t577/X/u9anTx/jlltu8QcZw6BPF3N+mKFfZ33729823G63YbfbjczMTGPq1KnG7t27/fvpVVuvv/66kZOTYzgcDuPKK680nn322Tb7reyXzTAMI/TjPwAAAKHBmhkAABDVCDMAACCqEWYAAEBUI8wAAICoRpgBAABRjTADAACiGmEGAABENcIMAACIaoQZABFp7969crlcqqurC/lnVVdXq0+fPjp8+HDIPwtA8BFmAITN+PHjVVBQYOrYefPmac6cOUpJSQltUZIyMjJ0zz33aP78+SH/LADBR5gBEHH+9re/6bXXXtN3v/vdsH3md7/7Xf3hD3/Q8ePHw/aZAIKDMAMgLGbNmqWSkhItXbpUNptNNptN+/fv7/DY//7v/9Y111yjfv36+bcdOHBAkydP1uWXX66kpCRdffXVeuONN/z79+zZo0mTJik5OVl9+/bVPffcoyNHjvj3t7S0aMmSJRo4cKAcDoe+/OUva+HChf79w4YNk8vl0ssvvxz8Hx5ASBFmAITF0qVLlZeXp+9973uqrKxUZWWlsrKyOjx248aNys3NbbNtzpw58ng82rhxo8rKyrRkyRIlJydLkiorKzVu3Dhde+212rp1q9atW6fPP/9c//AP/+A//9FHH9WSJUv0+OOPa8+ePVq1apX69u3b5jOuv/56vfPOO0H+yQGEWpzVBQDoGdLS0hQfHy+n0ymXy3XBY/fv36+RI0e22Xbw4EFNmzZNw4YNkyRdccUV/n3Lly/XiBEjtGjRIv+23//+98rKytInn3wit9utpUuXatmyZZo5c6YkacCAAbrxxhvbfMaXvvQl7dixo0s/J4DwI8wAiDinTp1SQkJCm20/+tGPNHv2bBUVFenWW2/VtGnTNHz4cEnStm3b9Pbbb/tHas61b98+nThxQh6PR7fccssFPzcxMVENDQ3B+0EAhAXTTAAiTnp6eruFuP/0T/+kTz/9VPfcc4/KysqUm5urX/7yl5Ja18NMnjxZO3fubPNVXl6um266SYmJiaY+99ixY+rTp0/Qfx4AoUWYARA28fHxam5uvuhx1113nfbs2dNue1ZWlu6//36tXbtWP/7xj7VixQpJ0ogRI7R792595Stf0cCBA9t8JSUladCgQUpMTNT//u//XvBzd+3apeuuu+7SfjgAliHMAAibr3zlK/rggw+0f/9+HTlyRC0tLR0ed9ttt6m0tLRN8CkoKND69etVUVGh7du366233tJVV10lqXVx8LFjx3TXXXdp8+bN+vTTT1VUVKR7771Xzc3NSkhI0Ny5c/XII4/ohRde0L59+7Rp0yY999xz/us3NDRo27ZtmjBhQmibACDoCDMAwubhhx9WbGyshg4dqj59+ujgwYMdHjdp0iTZ7Xb9z//8j39bc3Oz5syZo6uuukoTJ07UkCFD9Otf/1qSlJmZqffee0/Nzc267bbblJOTowcffFBpaWmKiWn9z9zjjz+uH//4x/q3f/s3XXXVVfr2t7+t6upq//VfffVVffnLX9ZXv/rVEHYAQCjYDMMwrC4CAM7361//Wq+++qrWr18fls+7/vrrVVBQoOnTp4fl8wAED3czAYhI3//+93X8+HHV1dWF/JUG1dXV+ta3vqW77rorpJ8DIDQYmQEAAFGNNTMAACCqEWYAAEBUI8wAAICoRpgBAABRjTADAACiGmEGAABENcIMAACIaoQZAAAQ1QgzAAAgqv1/WVzAkre4uhcAAAAASUVORK5CYII=",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "for i in range(n-1):\n",
     "    T[i+1] = YOUR_CODE_HERE\n",
@@ -210,9 +191,9 @@
    "id": "ffb4547f",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.3:</b>\n",
+    "<b>Task 1.3c:</b>\n",
     "\n",
     "Try different time steps to check the stability of the calculation. At which value the solution is stable?\n",
     " \n",
@@ -231,9 +212,9 @@
    "id": "8a907a09",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.4:</b>\n",
+    "<b>Task 1.3d:</b>\n",
     "\n",
     "Obtain the mathematical expression that proves your stability criteria.\n",
     " \n",
@@ -252,9 +233,9 @@
    "id": "1ff1e4fe",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.5:</b>\n",
+    "<b>Task 1.3e:</b>\n",
     "\n",
     "Now, discretize the equation using Implicit (Backward) Euler. Can you find a time step that makes the problem unstable?\n",
     " \n",
@@ -264,21 +245,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": null,
    "id": "18c73272",
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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a9cuTZ48WVFRUUpKStI999yj8vJy936Xy6WXXnpJGRkZstvtuvrqqzV37lz3/sGDBys5OVnvv/++9795AD5FmAHQIRYuXKisrCz95Cc/UUlJiUpKSpSWltbmsWvWrFFmZmaLbTNnzpTD4dCaNWtUWFiol156SVFRUZKkkpISjR8/Xtdff722bt2qFStW6OjRo/rHf/xH99c/88wzeumll/Tcc89p165dWrp0qZKSklp8xsiRI7V27Vovf+cAfC3E6gIAdA2xsbEKDQ1VRESEkpOTL3rsgQMHNHz48BbbDh06pDvuuEODBw+WJPXu3du9b/Hixbrhhhs0b94897Y333xTaWlp2rNnj1JSUrRw4UItWrRI9957rySpT58+ys7ObvEZV111lbZv335F3yeAjkeYAeB3Tp8+rbCwsBbbHn30UT344INatWqVbrnlFt1xxx0aMmSIJKmgoECffPKJ+0zNufbt26cTJ07I4XDo5ptvvujnhoeHq7a21nvfCIAOwWUmAH4nPj6+1UTcf/7nf9b+/ft1zz33qLCwUJmZmfqv//ovSU3zYaZMmaIdO3a0eBUVFenGG29UeHi4R597/PhxJSQkeP37AeBbhBkAHSY0NFSNjY2XPG7YsGHatWtXq+1paWl64IEHtHz5cj3xxBN6/fXXJUk33HCDdu7cqWuuuUYZGRktXpGRkerbt6/Cw8P197///aKf+8UXX2jYsGGX980BsAxhBkCHueaaa7R582YdOHBA5eXlcrlcbR536623auPGjS2Cz6xZs7Ry5UoVFxdr27Zt+vjjj3XddddJapocfPz4cd1555369NNPtX//fq1atUr33XefGhsbFRYWpqefflpPPfWU3n77be3bt0+bNm3SG2+84R6/trZWBQUFmjhxom+bAMDrCDMAOsyTTz6p4OBgDRgwQAkJCTp06FCbx02ePFk2m01/+9vf3NsaGxs1c+ZMXXfddZo0aZL69++v3/zmN5Kk1NRUrV+/Xo2Njbr11ls1aNAgPfbYY4qNjVVQUNOvueeee05PPPGE/u3f/k3XXXedfvCDH6isrMw9/p///GddffXVGjdunA87AMAXDNM0TauLAIDz/eY3v9Gf//xnrVy5skM+b+TIkZo1a5amT5/eIZ8HwHtYzQTAL/30pz9VZWWlampqfP5Ig7KyMn3ve9/TnXfe6dPPAeAbnJkBAAABjTkzAAAgoBFmAABAQCPMAACAgEaYAQAAAY0wAwAAAhphBgAABDTCDAAACGiEGQAAENAIMwAAIKD9f5vnHFMSgRK4AAAAAElFTkSuQmCC",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "dt = YOUR_CODE_HERE                          \n",
     "t_end = 60  \n",
@@ -304,8 +274,8 @@
    "id": "2109f010",
    "metadata": {},
    "source": [
-    "## Section 2: Second-order ODE\n",
-    "### Background\n",
+    "## Part 2: Second-order ODE\n",
+    "\n",
     "The following 1D equation describes the steady state solution of the temperature along a pin that sticks out of a furnace. The rest of the pin is exposed to the ambient. \n",
     "\n",
     "$$\n",
@@ -332,63 +302,94 @@
   },
   {
    "cell_type": "markdown",
-   "id": "c739aaf1",
+   "id": "babd0424",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 5:</b>\n",
+    "<b>Task 2.1:</b>\n",
     "\n",
-    "Below we provide the code already implemented of the equation with the above Dirichlet conditions and using a central difference approximation of the second derivative. **Write in paper (add the image) the matrix A, and the vectors T and b.**\n",
+    "This task has three parts: a) discretize the analytic expression into a system of equations using central differences, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.\n",
+    "\n",
+    "<em>Parts 2.1b and 2.1c do not need to be completed in order; in fact, it may be useful to go back and forth between the two in order to understand the problem.</em> \n",
     "    \n"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "4133c6e2",
+   "id": "1f70b8e9",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p> Answer\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "    \n",
-    "Add the image.\n",
+    "<b>Task 2.1a:</b>\n",
     "\n",
-    "</p>\n",
-    "</div>"
+    "Discretize the analytic expression into a system of equations for a grid with 6 points using central differences.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "81a5f165",
+   "metadata": {},
+   "source": [
+    "_Your answer here._"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c513ff65",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1b:</b>\n",
+    "\n",
+    "Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "cb9ff085",
+   "metadata": {},
+   "source": [
+    "_Your answer here._"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fae61d18",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1c:</b>\n",
+    "\n",
+    "Implement the discretized system of equations in a code cell.\n",
+    "\n",
+    "<em>We have already done this for you! Your task is to read the cell and make sure you understand how the matrices are implemented. Reading the code should help you formulate the matrices in Task 2.1b.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "89fd190c",
+   "metadata": {},
+   "source": [
+    "_Add your image here._"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": null,
    "id": "53fb4f99",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "(4, 4)\n"
-     ]
-    },
-    {
-     "data": {
-      "image/png": "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OL/OnTtj0qRJ+PLLL9GwYUO8++67yMnJKbd+t+vb//u//8OgQYNw//33o0uXLti0aROSkpKwffv26nV4TROS3NxcASC5ubmWLoWI6K4VFBTIsWPHpKCg4K7nda24RMrKykREpKysTK4Vl9z1PG9lxIgRguuHB5kMoaGhIiKyfv16adu2rbi6uopOp5N27drJ9u3bjY9PTU2VZs2aiVarFcMmbunSpaLX641tZsyYIc2bNy+33IceeshkXHR0tIwfP954/5133hE/Pz9xdHSU2NhYWb58uQCQ7OxsY5vnn39ePDw8BIDMmDFDRESKiork1VdflZCQELG3txdfX18ZMGCAHD582Pi4JUuWSGBgoDg6Okrfvn1l7ty5JjXfbPHixRIZGSk6nU5cXV2lS5cucuDAAeP0s2fPSr9+/USn04mLi4s8+uijkpWVVWkfFBUVyejRo8Xd3V28vb0lMTFRHnroIRkxYkS1+lZE5P3335d77rlH7O3tpXHjxrJ8+XKT6QBk/fr1JuP0er0sXbq0wnW91eu5qttv5a8F/63l5eVBr9cjNzfXbAcrExHVlmvXruH06dNo0KABHBwcLF0O0V251eu5qttvqzgbi4iIiMhcGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiFSK55+QGtTE65hhh4hIZQxXp7161TI/1klUkwyv45uvulwdVvNDoEREVDNsbW1Rr149428NOTk5VfozAUTWSkRw9epVnD9/HvXq1burCwUz7BARqZDhl6nN+eOKRLWhXr16t/0V+9th2CEiUiFFUeDn5wdvb+87/kFHIkuzt7evkZ9+YtghIlIxW1tbi/5OIJE14AHKREREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkahYNO4mJiWjdujVcXFzg7e2N/v3748SJEyZtRATx8fHw9/eHo6MjOnXqhKNHj5q0KSwsxLhx4+Dp6QmdTod+/fohIyOjNleFiIiIrJRFw05KSgri4uKwd+9ebNu2DSUlJejevTvy8/ONbebMmYN33nkHCxYsQFpaGnx9fdGtWzdcvnzZ2GbChAlYv349Vq1ahd27d+PKlSvo06cPSktLLbFaREREZEUUERFLF2Fw4cIFeHt7IyUlBQ8++CBEBP7+/pgwYQKmTZsG4PpeHB8fH8yePRvPPfcccnNz4eXlhRUrVmDw4MEAgHPnziEoKAjJycmIjY297XLz8vKg1+uRm5sLV1dXs64jERER1Yyqbr+t6pid3NxcAIC7uzsA4PTp08jKykL37t2NbbRaLaKjo7Fnzx4AwP79+1FcXGzSxt/fH+Hh4cY2NyssLEReXp7JQEREROpkNWFHRDBp0iR06NAB4eHhAICsrCwAgI+Pj0lbHx8f47SsrCxoNBq4ublV2uZmiYmJ0Ov1xiEoKKimV4eIiIishNWEnbFjx+Lw4cNYuXJluWmKopjcF5Fy4252qzYvvvgicnNzjUN6evqdF05ERERWzSrCzrhx47Bx40bs3LkTgYGBxvG+vr4AUG4Pzfnz5417e3x9fVFUVITs7OxK29xMq9XC1dXVZCAiIiJ1smjYERGMHTsWSUlJ2LFjBxo0aGAyvUGDBvD19cW2bduM44qKipCSkoL27dsDAFq2bAl7e3uTNpmZmThy5IixDREREf192Vly4XFxcfj888/x73//Gy4uLsY9OHq9Ho6OjlAUBRMmTEBCQgIaNWqERo0aISEhAU5OThg2bJix7ahRozB58mR4eHjA3d0dU6ZMQUREBLp27WrJ1SMiIiIrYNGws2jRIgBAp06dTMYvXboUI0eOBABMnToVBQUFGDNmDLKzs9G2bVts3boVLi4uxvbvvvsu7OzsMGjQIBQUFKBLly5YtmwZbG1ta2tViIiIyEpZ1XV2LIXX2SEiIqp76uR1doiIiIhqGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOqcLhjBwMXbwXhzNyLF0KERFZGYYdUoWkA78j9dRFJB343dKlEBGRlbGzdAFEdyoj+yqy84uhKMCmQ+cAXL8d2DIQIoCbzh6Bbk4WrpKIiCyNYYfqrA6zdxr/Vv66vZRfhD7zdxvHn3mzdy1XRURE1oZfY1GdNW9wJOxsrscc+Wuc4dbORsG8wZGWKIuIiKwM9+xQndW/RQDu9XY22ZNjsCEuCuEBegtURURE1oZ7dkgVFMX0loiIyIB7dqhO83DWwMtZC796DhjcOgir09KRmXMNHs4aS5dGRERWQhERuX0zdcvLy4Ner0dubi5cXV0tXQ5VU2FJKTS2NlAUBSKCotIyaO1sLV0WERGZWVW339yzQ3XejcFGURQGHSIiMsFjdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUsGnb+85//oG/fvvD394eiKNiwYYPJ9JEjR0JRFJOhXbt2Jm0KCwsxbtw4eHp6QqfToV+/fsjIyKjFtSAiIiJrZtGwk5+fj+bNm2PBggWVtunRowcyMzONQ3Jyssn0CRMmYP369Vi1ahV2796NK1euoE+fPigtLTV3+URERFQH2Fly4T179kTPnj1v2Uar1cLX17fCabm5uViyZAlWrFiBrl27AgA+/fRTBAUFYfv27YiNja3xmomIiKhusfpjdnbt2gVvb280btwYzzzzDM6fP2+ctn//fhQXF6N79+7Gcf7+/ggPD8eePXssUS4RERFZGYvu2bmdnj174tFHH0VwcDBOnz6NV155BZ07d8b+/fuh1WqRlZUFjUYDNzc3k8f5+PggKyur0vkWFhaisLDQeD8vL89s60BERESWZdVhZ/Dgwca/w8PD0apVKwQHB+PLL7/Eww8/XOnjRASKolQ6PTExETNnzqzRWomIiMg6Wf3XWDfy8/NDcHAwTp48CQDw9fVFUVERsrOzTdqdP38ePj4+lc7nxRdfRG5urnFIT083a91ERERkOXUq7Fy8eBHp6enw8/MDALRs2RL29vbYtm2bsU1mZiaOHDmC9u3bVzofrVYLV1dXk4GIiIjUyaJfY125cgW//PKL8f7p06dx8OBBuLu7w93dHfHx8XjkkUfg5+eHM2fO4KWXXoKnpycGDBgAANDr9Rg1ahQmT54MDw8PuLu7Y8qUKYiIiDCenUVERER/bxYNO/v27UNMTIzx/qRJkwAAI0aMwKJFi/DTTz9h+fLlyMnJgZ+fH2JiYrB69Wq4uLgYH/Puu+/Czs4OgwYNQkFBAbp06YJly5bB1ta21teHiIiIrI8iImLpIiwtLy8Per0eubm5/EqLiIiojqjq9rtOHbNDREREVF0MO0RERKRqDDtERESkagw7REREpGoMO0RERKRqVQ47Tz31FC5fvmzOWoiIiIhqXJXDzieffIKCggJz1kJERERU46ocdng5HiIiIqqLqnXMzq1+SZyIiIjIGlXr5yIaN25828Bz6dKluyqIiIiIqCZVK+zMnDkTer3eXLUQERER1bhqhZ0hQ4bA29vbXLUQERER1bgqH7PD43WIiIioLuLZWERERKRqVf4aq6yszJx1EBEREZkFfy6CiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iq7HBGDoYu3ovDGTmWLoWIqMoYdoioypIO/I7UUxeRdOB3S5dCRFRldpYugIisW0b2VWTnF0NRgE2HzgG4fjuwZSBEADedPQLdnCxcJRFR5Rh2iOiWOszeafxb+ev2Un4R+szfbRx/5s3etVwVEVHV8WssIrqleYMjYWdzPebIX+MMt3Y2CuYNjrREWUREVcY9O0R0S/1bBOBeb2eTPTkGG+KiEB6gt0BVRERVxz07RFRlimJ6S0RUF3DPDhHdloezBl7OWvjVc8Dg1kFYnZaOzJxr8HDWWLo0IqLbUkREbt9M3fLy8qDX65GbmwtXV1dLl0NklQpLSqGxtYGiKBARFJWWQWtna+myiOhvrKrbb+7ZIaIquTHYKIrCoENEdQaP2SEiIiJVY9ghIiIiVWPYISIiIlVj2CEiIiJVY9ghIiIiVWPYISIiIlVj2CEiIiJVY9ghIiIiVWPYISIiIlVj2CEiIiJVY9ghIiIiVWPYISIiIlVj2CEiIiJVs2jY+c9//oO+ffvC398fiqJgw4YNJtNFBPHx8fD394ejoyM6deqEo0ePmrQpLCzEuHHj4OnpCZ1Oh379+iEjI6MW14KIiIismUXDTn5+Ppo3b44FCxZUOH3OnDl45513sGDBAqSlpcHX1xfdunXD5cuXjW0mTJiA9evXY9WqVdi9ezeuXLmCPn36oLS0tLZWg4iIiKyYIiJi6SIAQFEUrF+/Hv379wdwfa+Ov78/JkyYgGnTpgG4vhfHx8cHs2fPxnPPPYfc3Fx4eXlhxYoVGDx4MADg3LlzCAoKQnJyMmJjY6u07Ly8POj1euTm5sLV1dUs60dEREQ1q6rbb6s9Zuf06dPIyspC9+7djeO0Wi2io6OxZ88eAMD+/ftRXFxs0sbf3x/h4eHGNhUpLCxEXl6eyUBERETqZLVhJysrCwDg4+NjMt7Hx8c4LSsrCxqNBm5ubpW2qUhiYiL0er1xCAoKquHqiYiIyFpYbdgxUBTF5L6IlBt3s9u1efHFF5Gbm2sc0tPTa6RWIiIisj5WG3Z8fX0BoNwemvPnzxv39vj6+qKoqAjZ2dmVtqmIVquFq6uryUBERETqZLVhp0GDBvD19cW2bduM44qKipCSkoL27dsDAFq2bAl7e3uTNpmZmThy5IixDREREf292Vly4VeuXMEvv/xivH/69GkcPHgQ7u7uqF+/PiZMmICEhAQ0atQIjRo1QkJCApycnDBs2DAAgF6vx6hRozB58mR4eHjA3d0dU6ZMQUREBLp27Wqp1SIiIiIrYtGws2/fPsTExBjvT5o0CQAwYsQILFu2DFOnTkVBQQHGjBmD7OxstG3bFlu3boWLi4vxMe+++y7s7OwwaNAgFBQUoEuXLli2bBlsbW1rfX2IiIjI+ljNdXYsidfZISIiqnvq/HV2iIiIiGoCww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhGRlTmckYOhi/ficEaOpUshUgWGHSIiK5N04HeknrqIpAO/W7oUIlWws3QBREQEZGRfRXZ+MRQF2HToHIDrtwNbBkIEcNPZI9DNycJVEtVNDDtERFagw+ydxr+Vv24v5Rehz/zdxvFn3uxdy1URqQO/xiIisgLzBkfCzuZ6zJG/xhlu7WwUzBscaYmyiFSBe3aIiKxA/xYBuNfb2WRPjsGGuCiEB+gtUBWROnDPDhGRlVEU01siujvcs0NEZCU8nDXwctbCr54DBrcOwuq0dGTmXIOHs8bSpRHVaYqIyO2bqVteXh70ej1yc3Ph6upq6XKI6G+ssKQUGlsbKIoCEUFRaRm0draWLovIKlV1+809O0REVuTGYKMoCoMOUQ3gMTtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7RET0t3Q4IwdDF+/F4YwcS5dCZsawQ0REf0tJB35H6qmLSDrwu6VLITOzs3QBREREtSUj+yqy84uhKMCmQ+cAXL8d2DIQIoCbzh6Bbk4WrpJqmlXv2YmPj4eiKCaDr6+vcbqIID4+Hv7+/nB0dESnTp1w9OhRC1ZMRETWrMPsnei7YDf6zN+NS/lFAIBL+UXoM383+i7YjQ6zd1q4QjIHqw47AHDfffchMzPTOPz000/GaXPmzME777yDBQsWIC0tDb6+vujWrRsuX75swYqJiMhazRscCTsbBQAgf40z3NrZKJg3ONISZZGZWX3YsbOzg6+vr3Hw8vICcH2vzrx58/CPf/wDDz/8MMLDw/HJJ5/g6tWr+Pzzzy1cNRERWaP+LQKwIS6qwmkb4qLQv0VALVdEtcHqw87Jkyfh7++PBg0aYMiQITh16hQA4PTp08jKykL37t2NbbVaLaKjo7Fnz55bzrOwsBB5eXkmAxER/b0oiuktqZdVh522bdti+fLl+Prrr/Hhhx8iKysL7du3x8WLF5GVlQUA8PHxMXmMj4+PcVplEhMTodfrjUNQUJDZ1oGIiKyLh7MGXs5aRATo8caAcEQE6OHlrIWHs8bSpZGZKCIit29mHfLz89GwYUNMnToV7dq1Q1RUFM6dOwc/Pz9jm2eeeQbp6enYsmVLpfMpLCxEYWGh8X5eXh6CgoKQm5sLV1dXs64DERFZXmFJKTS2NlAUBSKCotIyaO1sLV0WVVNeXh70ev1tt99WvWfnZjqdDhERETh58qTxrKyb9+KcP3++3N6em2m1Wri6upoMRET096G1s4Xy1/dXiqIw6KhcnQo7hYWFOH78OPz8/NCgQQP4+vpi27ZtxulFRUVISUlB+/btLVglERERWROrvqjglClT0LdvX9SvXx/nz5/H66+/jry8PIwYMQKKomDChAlISEhAo0aN0KhRIyQkJMDJyQnDhg2zdOlERERkJaw67GRkZGDo0KH4888/4eXlhXbt2mHv3r0IDg4GAEydOhUFBQUYM2YMsrOz0bZtW2zduhUuLi4WrpyIiIisRZ06QNlcqnqAExEREVkPVR6gTERERFRdDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREZDaHM3IwdPFeHM7IsVgNDDtERERkNkkHfkfqqYtIOvC7xWqws9iSiYiISJUysq8iO78YigJsOnQOwPXbgS0DIQK46ewR6OZUa/Uw7BAREVGN6jB7p/Fv5a/bS/lF6DN/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",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The estimated temperature at the nodes are: ['250.00', '168.77', '115.29', '78.86', '52.21', '30.00'] [C]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "import numpy as np \n",
     "import matplotlib.pyplot as plt\n",
@@ -439,9 +440,9 @@
    "source": [
     "\n",
     "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 6:</b>\n",
+    "<b>Task 2.2:</b>\n",
     "\n",
     "The code below is the same as above, modify it to replace the Dirichlet condition at the right BC for a Neumann condition such that there $\\frac{dT}{dx}=0$. How does the temperature profile changes?    \n",
     "\n",
@@ -461,35 +462,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": null,
    "id": "cfcd00f9",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "(4, 4)\n"
-     ]
-    },
-    {
-     "data": {
-      "image/png": "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jsjISGi1Wjz99NP48MMP8euvv97S/AMGDDB7fH19qampAK6+xq81ZMgQODjU7WmGV65cwVdffYXBgwfD2dnZ7PXXp08fXLlyBfv27bul+mtjwIAB1Z4z9Nlnn6FLly5wcXGBg4MDNBoNVqxYUav30V8hInW6vJMnT+Knn37CY489BgBV+jM7OxsnTpwwm+dvf/ub2eNt27ahrKwMo0aNMpvf0dER0dHRVa5MVRSlyvu/devWZs/Hl19+CUdHRzz55JM11r5582YoioLHH3/cbL1+fn5o06ZNra+I7devn9njli1bQlEU9O7d2zTOwcEBd999t1mNmzdvRnh4OCIjI83WHxsbe8tX5N7sNbpr1y4AVT/nOnTogJYtW5o+5/bu3YsrV66Yns9KnTt3RuPGjWtdjy1g2LExLVu2RLt27cyGqKgo0/QHHngAycnJpg+DoKAghIeHY926dbe1Xg8PD7PHWq32huOvXLliGjdixAgsXboUTz31FLZt24bvv/8e+/fvh7e3N4qKim667t9//x3A1Z2ZRqMxGxYsWAARwYULF5CXl4eKigr4+flVWUZ1465nMBiQmpqKyMhIvPjii7jnnnsQEBCA2bNno7S0FADw559/wsHBAd7e3mbzKooCPz8//PnnnzddT137888/4e/vX2V8QECAafq1PD09zR5Xnvham+eiNpo2bYodO3bAx8cHcXFxaNq0KZo2bYq33nqrVvPfrL7K7fH19TVr5+DgUGXe6oSEhAAAMjIybtr2zz//RFlZGZYsWVLltdenTx8AwB9//HFL9ddGdc9nYmIihg4disDAQKxZswZ79+7F/v378eSTT5q93+pS5c6v8rV0uyrfy1OnTq3Sn+PHjwdQtT+v74vKZbRv377KMj755JMq8zs7O5v95we4+pxc22fnz59HQEAA7Oxq3uX9/vvvEBH4+vpWWe++ffuqrLcm1X1mVlejVqs1q/H333/HkSNHqqzb1dUVIlLr9QO1f4/V9LlSOb3y71/9zLUlvBqrARo4cCAGDhyI4uJi7Nu3DwkJCRgxYgRCQ0Nx33331WstRqMRmzdvxuzZszFjxgzT+OLiYly4cKFWy/Dy8gIALFmypMYreHx9fVFaWgpFUZCTk1NlenXjqhMREYH169dDRHDkyBGsWrUKL7/8MpycnDBjxgx4enqirKwM58+fNws8IoKc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ERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREamaVcNOQkIC2rdvD1dXV/j4+GDQoEE4ceKEWRsRwZw5cxAQEAAnJyd069YNP/74o1mb4uJiTJw4EV5eXtDr9RgwYACysrLqc1OIiIjIRlk17KSmpiIuLg779u1DSkoKysrK0LNnTxQWFpravPbaa3jzzTexdOlS7N+/H35+fnjooYdw6dIlU5v4+HgkJSVh/fr12LNnDwoKCtCvXz+Ul5dbY7OIiIjIhigiItYuotL58+fh4+OD1NRUPPDAAxARBAQEID4+HtOnTwdw9SiOr68vFixYgGeeeQZGoxHe3t5YvXo1hg0bBgA4d+4cgoODsWXLFsTGxt50vfn5+TAYDDAajXBzc7PoNhIREVHdqO3+26bO2TEajQAADw8PAEBGRgZycnLQs2dPUxudTofo6GikpaUBAA4ePIjS0lKzNgEBAQgPDze1uV5xcTHy8/PNBiIiIlInmwk7IoLJkyeja9euCA8PBwDk5OQAAHx9fc3a+vr6mqbl5ORAq9XC3d29xjbXS0hIgMFgMA3BwcF1vTlERERkI2wm7EyYMAFHjhzBunXrqkxTFMXssYhUGXe9G7WZOXMmjEajacjMzPzrhRMREZFNs4mwM3HiRGzcuBG7du1CUFCQabyfnx8AVDlCk5ubazra4+fnh5KSEuTl5dXY5no6nQ5ubm5mAxEREamTVcOOiGDChAlITEzEzp070aRJE7PpTZo0gZ+fH1JSUkzjSkpKkJqais6dOwMAoqKioNFozNpkZ2fj6NGjpjZERER053Kw5srj4uKwdu1afPHFF3B1dTUdwTEYDHBycoKiKIiPj8f8+fPRrFkzNGvWDPPnz4ezszNGjBhhajt27FhMmTIFnp6e8PDwwNSpUxEREYEePXpYc/OIiIjIBlg17CxfvhwA0K1bN7PxK1euxJgxYwAAL7zwAoqKijB+/Hjk5eWhY8eO2L59O1xdXU3tFy1aBAcHBwwdOhRFRUXo3r07Vq1aBXt7+/raFCIiIrJRNnWfHWvhfXaIiIgangZ5nx0iIiKiusawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqmbVsPP111+jf//+CAgIgKIoSE5ONpteUFCACRMmICgoCE5OTmjZsiWWL19u1qa4uBgTJ06El5cX9Ho9BgwYgKysrHrcCiIiIrJlVg07hYWFaNOmDZYuXVrt9EmTJmHr1q1Ys2YNjh8/jkmTJmHixIn44osvTG3i4+ORlJSE9evXY8+ePSgoKEC/fv1QXl5eX5tBRERENkwREbF2EQCgKAqSkpIwaNAg07jw8HAMGzYMs2bNMo2LiopCnz59MG/ePBiNRnh7e2P16tUYNmwYAODcuXMIDg7Gli1bEBsbW6t15+fnw2AwwGg0ws3NrU63i4iIiCyjtvtvmz5np2vXrti4cSPOnj0LEcGuXbvw888/m0LMwYMHUVpaip49e5rmCQgIQHh4ONLS0mpcbnFxMfLz880GIiIiUiebDjv/+te/0KpVKwQFBUGr1aJXr15YtmwZunbtCgDIycmBVquFu7u72Xy+vr7IycmpcbkJCQkwGAymITg42KLbQURERNZj82Fn37592LhxIw4ePIg33ngD48ePx44dO244n4hAUZQap8+cORNGo9E0ZGZm1nXpREREZCMcrF1ATYqKivDiiy8iKSkJffv2BQC0bt0a6enpWLhwIXr06AE/Pz+UlJQgLy/P7OhObm4uOnfuXOOydToddDqdxbeBiIiIrM9mj+yUlpaitLQUdnbmJdrb26OiogLA1ZOVNRoNUlJSTNOzs7Nx9OjRG4YdIiIiunNY9chOQUEBTp48aXqckZGB9PR0eHh4ICQkBNHR0Zg2bRqcnJzQuHFjpKam4qOPPsKbb74JADAYDBg7diymTJkCT09PeHh4YOrUqYiIiECPHj2stVlERERkQ6x66fnu3bsRExNTZfzo0aOxatUq5OTkYObMmdi+fTsuXLiAxo0b4+mnn8akSZNM5+RcuXIF06ZNw9q1a1FUVITu3btj2bJlt3TSMS89JyIianhqu/+2mfvsWBPDDhERUcOjivvsENXWkayLePTdfTiSddHapRARkY1h2CFVSDx0Fnt//ROJh85auxQiIrIxNnvpOdHNZOVdRl5hKRQF2HT4HICrf4dEBUEEcNdrEOTubOUqiYjI2hh2qMHqumCX6d+Vt5C8UFiCfkv2mMaffrVvPVdFRES2hl9jUYO1eFgkHOyuxpzKs+wr/zrYKVg8LNIaZRERkY3hkR1qsAa1DcTdPi5mR3IqJcd1QXigwQpVERGRreGRHVKFyp9Cu8FPohER0R2KR3aoQfN00cLbRQf/Ro4Y1j4Yn+zPRPbFK/B00Vq7NCIishG8qSB4U8GGrrisHFp7OyiKAhFBSXkFdA721i6LiIgsrLb7bx7ZoQbv2mCjKAqDDhERman1OTtPPvkkLl26ZMlaiIiIiOpcrcPOhx9+iKKiIkvWQkRERFTnah12eGoPERERNUS3dOm5wut6iYiIqIG5pROUmzdvftPAc+HChdsqiIiIiKgu3VLYmTt3LgwG3pWWiIiIGo5bCjvDhw+Hj4+PpWohIiIiqnO1PmeH5+sQERFRQ8SrsYiIiEjVav01VkVFhSXrICIiIrII/uo5ERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREamaVcPO119/jf79+yMgIACKoiA5OblKm+PHj2PAgAEwGAxwdXVFp06d8Ntvv5mmFxcXY+LEifDy8oJer8eAAQOQlZVVj1tBREREtsyqYaewsBBt2rTB0qVLq51+6tQpdO3aFS1atMDu3btx+PBhzJo1C46OjqY28fHxSEpKwvr167Fnzx4UFBSgX79+KC8vr6/NICIiIhumiIhYuwgAUBQFSUlJGDRokGnc8OHDodFosHr16mrnMRqN8Pb2xurVqzFs2DAAwLlz5xAcHIwtW7YgNja2VuvOz8+HwWCA0WiEm5vbbW8LERERWV5t9982e85ORUUF/v3vf6N58+aIjY2Fj48POnbsaPZV18GDB1FaWoqePXuaxgUEBCA8PBxpaWk1Lru4uBj5+flmAxEREamTzYad3NxcFBQU4NVXX0WvXr2wfft2DB48GA8//DBSU1MBADk5OdBqtXB3dzeb19fXFzk5OTUuOyEhAQaDwTQEBwdbdFuIiIjIemw27FRUVAAABg4ciEmTJiEyMhIzZsxAv3798M4779xwXhGBoig1Tp85cyaMRqNpyMzMrNPaiYiIyHbYbNjx8vKCg4MDWrVqZTa+ZcuWpqux/Pz8UFJSgry8PLM2ubm58PX1rXHZOp0Obm5uZgMRERGpk82GHa1Wi/bt2+PEiRNm43/++Wc0btwYABAVFQWNRoOUlBTT9OzsbBw9ehSdO3eu13qJiIjINjlYc+UFBQU4efKk6XFGRgbS09Ph4eGBkJAQTJs2DcOGDcMDDzyAmJgYbN26FZs2bcLu3bsBAAaDAWPHjsWUKVPg6ekJDw8PTJ06FREREejRo4eVtoqIiIhsiVUvPd+9ezdiYmKqjB89ejRWrVoFAPjggw+QkJCArKwshIWFYe7cuRg4cKCp7ZUrVzBt2jSsXbsWRUVF6N69O5YtW3ZLJx3z0nMiIqKGp7b7b5u5z441MewQERE1PA3+PjtEREREdYFhh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVI1hh4iIiFSNYYeIiIhUjWGHiIiIVM2qYefrr79G//79ERAQAEVRkJycXGPbZ555BoqiYPHixWbji4uLMXHiRHh5eUGv12PAgAHIysqybOFERETUYFg17BQWFqJNmzZYunTpDdslJyfju+++Q0BAQJVp8fHxSEpKwvr167Fnzx4UFBSgX79+KC8vt1TZRERE1IA4WHPlvXv3Ru/evW/Y5uzZs5gwYQK2bduGvn37mk0zGo1YsWIFVq9ejR49egAA1qxZg+DgYOzYsQOxsbEWq52IiIgaBps+Z6eiogIjR47EtGnTcM8991SZfvDgQZSWlqJnz56mcQEBAQgPD0daWlqNyy0uLkZ+fr7ZQEREROpk02FnwYIFcHBwwHPPPVft9JycHGi1Wri7u5uN9/X1RU5OTo3LTUhIgMFgMA3BwcF1WjcRERHZDpsNOwcPHsRbb72FVatWQVGUW5pXRG44z8yZM2E0Gk1DZmbm7ZZLRERENspmw84333yD3NxchISEwMHBAQ4ODjhz5gymTJmC0NBQAICfnx9KSkqQl5dnNm9ubi58fX1rXLZOp4Obm5vZQEREROpks2Fn5MiROHLkCNLT001DQEAApk2bhm3btgEAoqKioNFokJKSYpovOzsbR48eRefOna1VOhEREdkQq16NVVBQgJMnT5oeZ2RkID09HR4eHggJCYGnp6dZe41GAz8/P4SFhQEADAYDxo4diylTpsDT0xMeHh6YOnUqIiIiTFdnERER0Z3NqmHnwIEDiImJMT2ePHkyAGD06NFYtWpVrZaxaNEiODg4YOjQoSgqKkL37t2xatUq2NvbW6JkIiIiamAUERFrF2Ft+fn5MBgMMBqNPH+HiIiogajt/ttmz9khIiIiqgsMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RUa0eyLuLRd/fhSNZFa5dCRFRrDDtEVGuJh85i769/IvHQWWuXQkRUaw7WLoCIbFtW3mXkFZZCUYBNh88BuPp3SFQQRAB3vQZB7s5WrpKIqGYMO0R0Q10X7DL9W/n/vxcKS9BvyR7T+NOv9q3nqoiIao9fYxHRDS0eFgkHu6sxR/5/XOVfBzsFi4dFWqMsIqJa45EdIrqhQW0DcbePi9mRnErJcV0QHmiwQlVERLXHIztEVGuKYv6XiKgh4JEdIropTxctvF108G/kiGHtg/HJ/kxkX7wCTxettUsjIropRUTk5s3ULT8/HwaDAUajEW5ubtYuh8gmFZeVQ2tvB0VRICIoKa+AzsHe2mUR0R2stvtvHtkholq5NtgoisKgQ0QNBs/ZISIiIlVj2CEiIiJVY9ghIiIiVWPYISIiIlVj2CEiIiJVY9ghIiIiVWPYISIiIlVj2CEiIiJVs2rY+frrr9G/f38EBARAURQkJyebppWWlmL69OmIiIiAXq9HQEAARo0ahXPnzpkto7i4GBMnToSXlxf0ej0GDBiArKyset4SIiIislVWDTuFhYVo06YNli5dWmXa5cuXcejQIcyaNQuHDh1CYmIifv75ZwwYMMCsXXx8PJKSkrB+/Xrs2bMHBQUF6NevH8rLy+trM4iIiMiG2cxvYymKgqSkJAwaNKjGNvv370eHDh1w5swZhISEwGg0wtvbG6tXr8awYcMAAOfOnUNwcDC2bNmC2NjYWq2bv41FRETU8NR2/92gztkxGo1QFAWNGjUCABw8eBClpaXo2bOnqU1AQADCw8ORlpZW43KKi4uRn59vNhAREZE6NZiwc+XKFcyYMQMjRowwpbecnBxotVq4u7ubtfX19UVOTk6Ny0pISIDBYDANwcHBFq2diIiIrKdBhJ3S0lIMHz4cFRUVWLZs2U3biwgURalx+syZM2E0Gk1DZmZmXZZLRERENsTmw05paSmGDh2KjIwMpKSkmH0n5+fnh5KSEuTl5ZnNk5ubC19f3xqXqdPp4ObmZjYQERGROtl02KkMOr/88gt27NgBT09Ps+lRUVHQaDRISUkxjcvOzsbRo0fRuXPn+i6XiIiIbJCDNVdeUFCAkydPmh5nZGQgPT0dHh4eCAgIwJAhQ3Do0CFs3rwZ5eXlpvNwPDw8oNVqYTAYMHbsWEyZMgWenp7w8PDA1KlTERERgR49elhrs4iIiMiGWPXS8927dyMmJqbK+NGjR2POnDlo0qRJtfPt2rUL3bp1A3D1xOVp06Zh7dq1KCoqQvfu3bFs2bJbOumYl54TERE1PLXdf9vMfXasiWGHiIio4VHlfXaIiIiIbhXDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOEZGNOZJ1EY++uw9Hsi5auxQiVWDYISKyMYmHzmLvr38i8dBZa5dCpAoO1i6AiIiArLzLyCsshaIAmw6fA3D175CoIIgA7noNgtydrVwlUcPEsENEZAO6Lthl+rfy/38vFJag35I9pvGnX+1bz1URqYNVv8b6+uuv0b9/fwQEBEBRFCQnJ5tNFxHMmTMHAQEBcHJyQrdu3fDjjz+atSkuLsbE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vP7665g3bx62bt2Kdu3a1X3xDYgl+rlFixb4z3/+g/T0dNMwYMAAxMTEID09HcHBwRbbHltlqddzly5dcPLkSVOYBICff/4Z/v7+d2TQASzX15cvX64SaOzt7SFXL/Cpwy1oGP5KP9eGxfeFdXKa8x2i8nK7FStWyLFjxyQ+Pl70er2cPn1aRERmzJghI0eONLWvvKxx0qRJcuzYMVmxYkWVyxq//fZbsbe3l1dffVWOHz8ur776Ki89t0A/L1iwQLRarWzYsEGys7NNw6VLl+p9+2yFJfr5erwayzL9/Ntvv4mLi4tMmDBBTpw4IZs3bxYfHx/55z//We/bZ0ss0dezZ88WV1dXWbdunfz666+yfft2adq0qQwdOrTet89W3Go/i4j88MMP8sMPP0hUVJSMGDFCfvjhB/nxxx9N0y29L2TYuUVvv/22NG7cWLRardx7772SmppqmjZ69GiJjo42a797925p27ataLVaCQ0NleXLl1dZ5meffSZhYWGi0WikRYsW8vnnn1t6M2xeXfdz48aNBUCVYfbs2fWwNbbLEq/nazHsXGWJfk5LS5OOHTuKTqeTu+66S1555RUpKyuz9KbYvLru69LSUpkzZ440bdpUHB0dJTg4WMaPHy95eXn1sDW261b7ubrP38aNG5u1seS+UPn/IoiIiIhUiefsEBERkaox7BAREZGqMewQERGRqjHsEBERkaox7BAREZGqMewQERGRqjHsEBERkaox7BAREZGqMewQERGRqjHsEBERkaox7BCR6pw/fx5+fn6YP3++adx3330HrVaL7du3W7EyIrIG/jYWEanSli1bMGjQIKSlpaFFixZo27Yt+vbti8WLF1u7NCKqZww7RKRacXFx2LFjB9q3b4/Dhw9j//79cHR0tHZZRFTPGHaISLWKiooQHh6OzMxMHDhwAK1bt7Z2SURkBTxnh4hU69dff8W5c+dQUVGBM2fOWLscIrISHtkhIlUqKSlBhw4dEBkZiRYtWuDNN9/Ef/7zH/j6+lq7NCKqZww7RKRK06ZNw4YNG3D48GG4uLggJiYGrq6u2Lx5s7VLI6J6xq+xiEh1du/ejcWLF2P16tVwc3ODnZ0dVq9ejT179mD58uXWLo+I6hmP7BAREZGq8cgOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGp2v8BZ4UCmG4iWt8AAAAASUVORK5CYII=",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The estimated temperature at the nodes are: ['250.00', '174.84', '128.64', '102.18', '90.15', '90.15'] [C]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "Ts = 30\n",
     "alpha = 500\n",
@@ -536,155 +512,86 @@
   },
   {
    "cell_type": "markdown",
-   "id": "0b47e9c2",
+   "id": "57632792",
    "metadata": {},
    "source": [
-    "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 7:</b>\n",
-    "\n",
-    "Now, instead of using the central difference for approximating the second derivative. Use the forward difference to replace the second derivative (first order accurate). Write the algebraic representation of the differential equation below.\n",
+    "<b>Task 2.3:</b>\n",
     "\n",
-    "</p>\n",
-    "</div>"
+    "Just as we did in Task 2.1, this task has three parts: a) discretize the analytic expression into a system of equations using <b>forward differences</b>, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.\n",
+    "</div>    \n"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "74174f3a",
+   "id": "2d4b9fb9",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p> Answer\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "    \n",
-    "Add the image.\n",
+    "<b>Task 2.3a:</b>\n",
     "\n",
-    "</p>\n",
-    "</div>"
+    "Discretize the analytic expression into a system of equations for a grid with 6 points using <b>forward differences</b>.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "a4e0342e",
+   "id": "1c5ec2f2",
    "metadata": {},
    "source": [
-    "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
-    "<p>\n",
-    "<b>Task 8:</b>\n",
-    "\n",
-    "Now, write the resulting matrix A, the vector T and the vector b.\n",
-    "    \n",
-    "</p>\n",
-    "</div>"
+    "_Your answer here._"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "b9ca660d",
+   "id": "361f1638",
    "metadata": {},
-   "source": []
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.3b:</b>\n",
+    "\n",
+    "Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
   },
   {
    "cell_type": "markdown",
-   "id": "8cb492f8",
+   "id": "047a38d3",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p> Answer\n",
-    "<p>\n",
-    "    \n",
-    "Add the image.\n",
-    "\n",
-    "</p>\n",
-    "</div>"
+    "_Your answer here._"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "0640b43e",
+   "id": "3996b611",
    "metadata": {},
    "source": [
-    "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 9:</b>\n",
+    "<b>Task 2.3c:</b>\n",
     "\n",
-    "The original code is copied below, modify it accordingly to your new discretization. Keep Dirichlet conditions. \n",
+    "Implement the discretized system of equations in a code cell.\n",
     "\n",
-    "</p>\n",
-    "</div>"
+    "<b>This time we did not do it for you!</b> Copy the code from Task 2.1c and revise it to solve the system of equations using <b>Forward Differences</b>. Keep the Dirichlet conditions.\n",
+    "    \n"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": null,
    "id": "1e783d3e",
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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jz76yDz++ONm/vz5ZvXq1WbOnDmmXbt2Jioqyhw8eNAYY8yBAwfMxIkTjSTzyiuvOOs6cOCAMcaYWbNmGcuyTJ8+fcy8efPMJ598Ynr27Gm8vb3N8uXLnctavny58fb2Nm3btjXz5s0zH330kbnqqqtMzZo1i63X2Y4fP24iIyNNixYtzIcffmhWr15tPvjgA/O3v/3NbNu2zRhjTGFhoenSpYvx8fExjz32mFm6dKl57rnnTHBwsGnWrJk5efKkc37t2rUz7dq1cz5euXKlkWRWrlzpstxdu3YZSWb69OnGGGN+/vln07dvXyPJOQ7r1q1zzjspKckMHjzY+fwDBw6YhIQEExUVZV5//XWzZMkSc9999xlJZujQocWWk5ycbLp27WoWLFhgFixYYBo3bmzCw8PN0aNHzzk+JW0bxvz/bXPXrl3O5QQEBJjrr7/eLFiwwKxatcq8//775vbbbzdHjhxxPk+SGTduXLH51K5d29x///3m888/N2+99ZYJDw83qampLsscOHCg8fLyMmPHjjVLly4106ZNM4mJicbhcLiMTWkkmWHDhhV7LRUWFl7UmCYkJJjU1FQzd+5cs3TpUrNr1y4zYMAAU69ePWff9evXG0kmMDDQvP/++872bt26mauvvtr5uCyvlzPHKyEhwdx7773ms88+M3PnzjX5+fnOv9Xdd99tPvvsM/PGG2+YhIQEExsb67JNliYpKcn06NGj1Oljx441ksyXX37pMqZFf8+9e/eaefPmGUnm/vvvN+vWrTPffvut+fnnn80rr7xiJJmJEyeadevWmR9//NEYY8yKFSuMn5+fufbaa80HH3xglixZYoYMGeLy2jjfej/99NPGsixz1113mUWLFpl58+aZa665xgQHBzuXY4wxgwcPNn5+fqZhw4bmueeeM8uXLzePP/64sSzLTJgwwdnv1KlTJjU11fj4+JhRo0aZxYsXm4ULF5pHHnnEzJ4929nvnnvuMb6+vmbkyJFmyZIl5p///Kdp0KCBiYmJMRkZGecc66K/Vf369c2TTz5pli1bZkaPHm0kmfvuu880aNDA/OMf/zDLli0zd955p5FkPv74Y+fzs7OzTdOmTU316tXN1KlTzfLly82LL75oHA6H6dChg3ObXrdunQkMDDTdu3d3vqcUjcmFvPbuvfdeZ21Lliwxr7/+uomKijKJiYku2+elboOeRNjxoKKNsaSbt7e3s99zzz1nJJ3zg2vDhg3F3kCKlBZ2AgMDTXp6urNt8+bNRpKJi4sz2dnZzvYFCxYYSWbhwoWlLj8/P98cP37cBAcHmxdffNHZ/tFHH5UYBrKzs01ERITp1auXS3tBQYG54oorXD4oWrZsaeLj401OTo6zLSsry0RERJw37GzcuNFIMgsWLCi1z5IlS4wkM2XKFJf2Dz74wEgyb7zxhrPtYsOOMcakpaWVWu/ZYafog+frr7926Td06FBjWZbZsWOHy3IaN27sEpC/+eYbI8nlzbskZQ07c+fONZLM5s2bzzm/0sLOsGHDXPpNmTLFSDL79+83xhjz448/GklmzJgxLv1mz55tJJU57JR0e/PNN40xFz6mderUMXl5eS5933rrLSPJ7NmzxxhjzFNPPWUaNGhgevfube68805jjDF5eXkmODjYPPLII6XWWtrrpWi87rjjDpf+R44cMQEBAebGG290af/qq6+MpHIJO6+99pqRZD744ANn29l/z6KxefbZZ12eW/Q6+Oijj1zaGzRoYJo1a2ZOnTrl0t6zZ08TFxdnCgoKzrnee/bsMT4+Pub+++93aT927JiJjY01/fr1c7YNHjzYSDIffvihS9/u3bub+vXrOx/PnDnTZbsoybp164wk8/zzz7u079271wQGBprRo0eX+lxj/v/r6uznN23a1Egy8+bNc7adOnXKREVFmZtuusnZNmnSJOPl5WU2bNjg8vyi1+HixYudbcHBwSW+Psr62tu+fXuJ/b7++msjybkdl8c26EkcxqoEZs6cqQ0bNrjcvv76a+f0okNU/fr104cffqjffvutXJbbtGlTJSQkOB83bNhQ0ukz64OCgoq1n7nL/fjx4xozZowuu+wy+fj4yMfHRyEhIcrOztb27dvPu+y1a9fq8OHDGjx4sPLz8523wsJCde3aVRs2bFB2drays7O1YcMG3XTTTQoICHA+PzQ0VL169Trvci677DKFh4drzJgxev3117Vt27ZifVasWCFJxQ6V3HLLLQoODi7xsJq7rVixQo0aNdLVV1/t0j5kyBAZY5w1F+nRo4e8vb2dj5s0aSJJxQ6TXKymTZvKz89P9957r959990y7co/U+/evV0en13f6tWrJZ3exs/Ut29f+fiU/dTCfv36FXstFZ24eaFj2rt372InN3fq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df/996t69eoKDg5W7969lZ6eXpGrAgAAKimPhp3Vq1crLS1N69ev17Jly5Sfn6/OnTsrOzvb2WfKlCmaOnWqXn75ZW3YsEGxsbG6/vrrdezYMWef4cOHa/78+ZozZ47WrFmj48ePq2fPniooKPDEagEAgErEMsYYTxdR5ODBg4qOjtbq1at13XXXyRij+Ph4DR8+XGPGjJF0ei9OTEyMJk+erL/+9a/KzMxUVFSUZs2apf79+0uS9u3bp8TERC1evFhdunQ573KzsrLkcDiUmZmpsLAwt64jAAAoH2X9/K5U5+xkZmZKkiIiIiRJu3btUkZGhjp37uzs4+/vr3bt2mnt2rWSpE2bNunUqVMufeLj45WSkuLsc7bc3FxlZWW53AAAgD1VmrBjjNGIESPUtm1bpaSkSJIyMjIkSTExMS59Y2JinNMyMjLk5+en8PDwUvucbdKkSXI4HM5bYmJiea8OAACoJCpN2Lnvvvu0ZcsWzZ49u9g0y7JcHhtjirWd7Vx9Hn74YWVmZjpve/fuvfjCAQBApVYpws7999+vhQsXauXKlapRo4azPTY2VpKK7aE5cOCAc29PbGys8vLydOTIkVL7nM3f319hYWEuNwAAYE8eDTvGGN13332aN2+eVqxYoVq1arlMr1WrlmJjY7Vs2TJnW15enlavXq3WrVtLkpo3by5fX1+XPvv379fWrVudfQAAwJ+XjycXnpaWpn/+85/617/+pdDQUOceHIfDocDAQFmWpeHDh2vixImqW7eu6tatq4kTJyooKEiDBg1y9r377rs1cuRIRUZGKiIiQqNGjVLjxo3VqVMnT64eAACoBDwadl577TVJUvv27V3ap0+friFDhkiSRo8erZycHA0bNkxHjhxRy5YttXTpUoWGhjr7v/DCC/Lx8VG/fv2Uk5Ojjh07asaMGfL29q6oVQEAAJVUpfqeHU/he3YAAKh6quT37AAAAJQ3wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg5sYUv6UQ18Y722pB/1dCkAgEqGsANbmPftb1q385Dmffubp0sBAFQyPp4uALhY6UdO6Ej2KVmW9Mn3+ySdvu/bvIaMkcKDfVUjPMjDVQIAPI2wgyqr7eSVzn9b/70/nJ2nni+tcbbvfqZHBVcFAKhsOIyFKmta/6by8Todc8x/24rufbwsTevf1BNlAQAqGfbsoMrq0yxBl0WHuOzJKbIgrY1SEhweqAoAUNmwZwe2YFmu9wAAFGHPDqq0yBA/RYX4K65agPpflagPNuzV/qMnFRni5+nSAACVhGWMMefvZm9ZWVlyOBzKzMxUWFiYp8vBBcrNL5Cft5csy5IxRnkFhfL38fZ0WQAANyvr5zd7dlDlnRlsLMsi6AAAXHDODgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDWPhp1///vf6tWrl+Lj42VZlhYsWOAyfciQIbIsy+XWqlUrlz65ubm6//77Vb16dQUHB6t3795KT0+vwLUAAACVmUfDTnZ2tq644gq9/PLLpfbp2rWr9u/f77wtXrzYZfrw4cM1f/58zZkzR2vWrNHx48fVs2dPFRQUuLt8AABQBfh4cuHdunVTt27dztnH399fsbGxJU7LzMzU22+/rVmzZqlTp06SpPfee0+JiYlavny5unTpUu41AwCAqqXSn7OzatUqRUdHq169errnnnt04MAB57RNmzbp1KlT6ty5s7MtPj5eKSkpWrt2rSfKBQAAlYxH9+ycT7du3XTLLbcoKSlJu3bt0mOPPaYOHTpo06ZN8vf3V0ZGhvz8/BQeHu7yvJiYGGVkZJQ639zcXOXm5jofZ2VluW0dAACAZ1XqsNO/f3/nv1NSUtSiRQslJSXp008/1U033VTq84wxsiyr1OmTJk3ShAkTyrVWAABQOVX6w1hniouLU1JSkn766SdJUmxsrPLy8nTkyBGXfgcOHFBMTEyp83n44YeVmZnpvO3du9etdQMAAM+pUmHn0KFD2rt3r+Li4iRJzZs3l6+vr5YtW+bss3//fm3dulWtW7cudT7+/v4KCwtzuQEAAHvy6GGs48eP6+eff3Y+3rVrlzZv3qyIiAhFRERo/PjxuvnmmxUXF6fdu3frkUceUfXq1XXjjTdKkhwOh+6++26NHDlSkZGRioiI0KhRo9S4cWPn1VkAAODPzaNhZ+PGjUpNTXU+HjFihCRp8ODBeu211/TDDz9o5syZOnr0qOLi4pSamqoPPvhAoaGhzue88MIL8vHxUb9+/ZSTk6OOHTtqxowZ8vb2rvD1AQAAlY9ljDGeLsLTsrKy5HA4lJmZySEtAACqiLJ+flepc3YAAAAuFGEHAADYGmEHAADYGmEHAADYGmEHAADYWpnDzl133aVjx465sxYAAIByV+aw8+677yonJ8edtQAAAJS7Mocdvo4HAABURRd0zs65fkkcAACgMrqgn4uoV6/eeQPP4cOHL6kgAACA8nRBYWfChAlyOBzuqgUAAKDcXVDYGTBggKKjo91VCwAAQLkr8zk7nK8DAACqIq7GAgAAtlbmw1iFhYXurAMAAMAt+LkIAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAGW2Jf2oBr6xXlvSj3q6FAAoM8IOgDKb9+1vWrfzkOZ9+5unSwGAMvPxdAEAKrf0Iyd0JPuULEv65Pt9kk7f921eQ8ZI4cG+qhEe5OEqAaB0hB0A59R28krnv63/3h/OzlPPl9Y423c/06OCqwKAsuMwFoBzmta/qXy8Tscc89+2onsfL0vT+jf1RFkAUGbs2QFwTn2aJeiy6BCXPTlFFqS1UUqCwwNVAUDZsWcHQJlZlus9AFQF7NkBcF6RIX6KCvFXXLUA9b8qUR9s2Kv9R08qMsTP06UBwHlZxhhz/m72lpWVJYfDoczMTIWFhXm6HKBSys0vkJ+3lyzLkjFGeQWF8vfx9nRZAP7Eyvr5zZ4dAGVyZrCxLIugA6DK4JwdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABgax4NO//+97/Vq1cvxcfHy7IsLViwwGW6MUbjx49XfHy8AgMD1b59e/34448ufXJzc3X//ferevXqCg4OVu/evZWenl6BawEAACozj4ad7OxsXXHFFXr55ZdLnD5lyhRNnTpVL7/8sjZs2KDY2Fhdf/31OnbsmLPP8OHDNX/+fM2ZM0dr1qzR8ePH1bNnTxUUFFTUagAAgErMMsYYTxchSZZlaf78+erTp4+k03t14uPjNXz4cI0ZM0bS6b04MTExmjx5sv76178qMzNTUVFRmjVrlvr37y9J2rdvnxITE7V48WJ16dKlTMvOysqSw+FQZmamwsLC3LJ+AACgfJX187vSnrOza9cuZWRkqHPnzs42f39/tWvXTmvXrpUkbdq0SadOnXLpEx8fr5SUFGefkuTm5iorK8vlBgAA7KnShp2MjAxJUkxMjEt7TEyMc1pGRob8/PwUHh5eap+STJo0SQ6Hw3lLTEws5+oBAEBlUWnDThHLslweG2OKtZ3tfH0efvhhZWZmOm979+4tl1oBAEDlU2nDTmxsrCQV20Nz4MAB596e2NhY5eXl6ciRI6X2KYm/v7/CwsJcbgAAwJ4qbdipVauWYmNjtWzZMmdbXl6eVq9erdatW0uSmjdvLl9fX5c++/fv19atW519AADAn5uPJxd+/Phx/fzzz87Hu3bt0ubNmxUREaGaNWtq+PDhmjhxourWrau6detq4sSJCgoK0qBBgyRJDodDd999t0aOHKnIyEhFRERo1KhRaty4sTp16uSp1QIAAJWIR8POxo0blZqa6nw8YsQISdLgwYM1Y8YMjR49Wjk5ORo2bJiOHDmili1baunSpQoNDXU+54UXXpCPj4/69eunnJwcdezYUTNmzJC3t3eFrw8AAKh8Ks337HgS37MDAEDVU+W/ZwcAAKA8EHYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAoJLZkn5UA99Yry3pRz1dCmALhB0AqGTmffub1u08pHnf/ubpUgBb8PF0AQAAKf3ICR3J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",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The estimated temperature at the nodes are: ['250.00', '168.77', '115.29', '78.86', '52.21', '30.00'] [C]\n",
-      "The temperature at x=0.02 is: 168.77 [C]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
-    "Ts = 30\n",
-    "alpha = 500\n",
-    "dx=0.02\n",
-    "\n",
-    "# grid creation\n",
-    "x = np.arange(0,0.1+dx,dx)\n",
-    "T = np.zeros(x.shape)\n",
-    "n=len(x)\n",
-    "\n",
-    "# boundary conditions\n",
-    "T[0] = 250\n",
-    "T[-1] = Ts\n",
-    "\n",
-    "# Building matrix A\n",
-    "matrix_element = -(2+dx**2*alpha)\n",
-    "A = np.zeros((len(x)-2,len(x)-2))\n",
-    "np.fill_diagonal(A, matrix_element)\n",
-    "A[np.arange(n-3), np.arange(1, n-2)] = 1  # Upper diagonal\n",
-    "A[np.arange(1, n-2), np.arange(n-3)] = 1  # Lower diagonal\n",
-    "\n",
-    "# Building vector b\n",
-    "b_element = -dx**2*alpha*Ts\n",
-    "b = np.zeros(len(x)-2) + b_element\n",
-    "b[0] = b[0] - T[0]\n",
-    "b[-1] = b[-1] - T[-1]\n",
-    "\n",
-    "# Solving the system\n",
-    "T[1:-1] = np.linalg.solve(A,b)\n",
-    "\n",
-    "plt.plot(x,T,'*',label='Estimated solution')\n",
-    "plt.xlabel('x')\n",
-    "plt.ylabel('T')\n",
-    "plt.title('Estimated solution using Forward Difference method')\n",
-    "plt.legend()\n",
-    "plt.show()\n",
-    "\n",
-    "print(f'The estimated temperature at the nodes are: {[f\"{temp:.2f}\" for temp in T]} [C]')\n",
-    "\n",
-    "#to test your temperature at x=0.02 for task 9\n",
-    "ind = np.argmin(abs(x-0.02))\n",
-    "print(f'The temperature at x=0.02 is: {T[ind]:.2f} [C]')"
+    "YOUR_CODE_HERE"
    ]
   },
   {
@@ -692,9 +599,9 @@
    "id": "bac6bb0f",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 9:</b>\n",
+    "<b>Task 2.4:</b>\n",
     "\n",
     "How much finer does your grid has to be in the forward difference implementation to get a similar value at x = 0.02 as in the central difference implementation? Vary your dx.\n",
     "\n",
@@ -705,20 +612,22 @@
   },
   {
    "cell_type": "markdown",
-   "id": "db91d68b",
+   "id": "dd2ead47",
    "metadata": {},
-   "source": []
+   "source": [
+    "_Your answer here._"
+   ]
   },
   {
    "cell_type": "markdown",
    "id": "031dca37",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Bonus note:</b> \n",
+    "<b>Bonus Task</b> \n",
     "    \n",
-    "The matrix inversion using numpy is one way to solve the system, another is the gauss_jordan written below and another one is the sparse matrix based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change dx to 0.0002 of the original code that solves the second degree ODE and test the time it takes by each method.\n",
+    "The matrix inversion using numpy is one way to solve the system, another is the <code>gauss_jordan</code> method, written below, and another one is the sparse matrix-based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change <code>dx</code> to 0.0002 of the original code that solves the second degree ODE and test the time it takes by each method.\n",
     "    \n",
     "</p>\n",
     "</div>"
@@ -771,20 +680,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 106,
+   "execution_count": null,
    "id": "fbd32c69",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The time used by direct matrix inversion solution is  2.037e-02 sec\n",
-      "The time used by Gauss-jordan solution is  2.169e+00 sec\n",
-      "The time used by the sparse matrix solver is  7.204e-03 sec\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "import time\n",
     "from scipy.sparse import csc_matrix\n",
diff --git a/src/teachers/Week_1_6/WS_1_6_solution.html b/src/teachers/Week_1_6/WS_1_6_solution.html
index 9cb23b25..b468d24f 100644
--- a/src/teachers/Week_1_6/WS_1_6_solution.html
+++ b/src/teachers/Week_1_6/WS_1_6_solution.html
@@ -7531,7 +7531,7 @@ a.anchor-link {
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
 <h2 id="Overview">Overview<a class="anchor-link" href="#Overview">¶</a></h2><p>This assignment is aimed to develop an understanding of the <strong>Ordinary Differential Equation (ODE)</strong>. There will be two sections about cooling and heating scenerios, corresponding to the first-order and the second-order ODEs. Please go through the text that follows and perform all steps outlined therein.</p>
-<h2 id="Section-1:-First-order-ODE">Section 1: First-order ODE<a class="anchor-link" href="#Section-1:-First-order-ODE">¶</a></h2><h3 id="1.1-Linear-ODE">1.1 Linear ODE<a class="anchor-link" href="#1.1-Linear-ODE">¶</a></h3><p>In the study of heat transfer, <strong>Newton's law of cooling</strong> is a physical law which states that the rate of heat loss of a body is directly proportional to the difference in the temperatures between the body and its environment. It can be expressed in the form of ODE, as below:</p>
+<h2 id="Part-1:-First-order-ODE">Part 1: First-order ODE<a class="anchor-link" href="#Part-1:-First-order-ODE">¶</a></h2><p>In the study of heat transfer, <strong>Newton's law of cooling</strong> is a physical law which states that the rate of heat loss of a body is directly proportional to the difference in the temperatures between the body and its environment. It can be expressed in the form of ODE, as below:</p>
 $$\frac{dT}{dt}=-k(T - T_s)$$<p>where $T$ is the temperature of the object at time $t$, $T_s$ is the temperature of the surrounding and assumed to be constant, and $k$ is the constant that characterizes the ability of the object to exchange the
 heat energy (unit 1/s), which depends on the specific material properties.</p>
 <p>Now, Let's consider an object with the initial temperature of  50°C in a surrounding environment with constant temperature at 20°C. The constant of heat exchange between the object and the environment is 0.5 $sec^-1$.</p>
@@ -7545,9 +7545,9 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 1:</b>
+<b>Task 1.1:</b>
 <p>Suppose the considered period of time is long enough (bring it to steady state), what will be the final temperature of the object?</p>
 <p><strong>Write your answer in the following markdown cell.</strong></p>
 </p>
@@ -7562,13 +7562,12 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
-<p>Your answers for Task 1:
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
 <p>
 <p>20°C</p>
 <p><em>This is because the body's temperature, $T$, will tend to the ambience temperature in the long term. The decrease will be abrupt at the beginning and will slow down as time passes $T(t=large) = T_s = 20°C$.</em></p>
 </p>
-</p></div>
+</div>
 </div>
 </div>
 </div>
@@ -7590,9 +7589,9 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 2:</b>
+<b>Task 1.2:</b>
 <p>Write the algebraic representation of the ODE using Explicit Euler.</p>
 </p>
 </div>
@@ -7606,9 +7605,9 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
 <p>
-Answer for Task 2:
+Answer for Task 1.2:
 <p>
 <p>$$ T_{i+1} = T_{i}-k(T_{i} - T_s)dt$$</p>
 <p>How to get there:</p>
@@ -7630,16 +7629,17 @@ $$<p>or from forward finite difference</p>
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=579a9440">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=fb6eda82">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3:</b>
-<p>Compute the temperature evolution in the next 60 seconds. This task is defined in subtasks.</p>
+<b>Task 1.3:</b>
+<p>Compute the temperature evolution in the next 60 seconds.</p>
+<p><strong>Please complete the missing parts of the code in each step below, which is divided into 5 substeps (a through e).</strong></p>
 </p>
 </div>
 </div>
@@ -7652,9 +7652,10 @@ $$<p>or from forward finite difference</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.1:</b> The time step of 5 seconds is constant. Discretize the time points, the solution vector $T$ and define the initial condition.
+<b>Task 1.3a:</b>
+<p>The time step of 5 seconds is constant. Discretize the time points, the solution vector $T$ and define the initial condition.</p>
 </p>
 </div>
 </div>
@@ -7692,9 +7693,10 @@ $$<p>or from forward finite difference</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.2:</b> Implement your time discretization and find the solution from $t=0$ until $t=60$ sec.
+<b>Task 1.3b:</b>
+<p>Implement your time discretization and find the solution from $t=0$ until $t=60$ sec.</p>
 </p>
 </div>
 </div>
@@ -7739,9 +7741,9 @@ $$<p>or from forward finite difference</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.3:</b>
+<b>Task 1.3c:</b>
 <p>Try different time steps to check the stability of the calculation. At which value the solution is stable?</p>
 </p>
 </div>
@@ -7755,7 +7757,7 @@ $$<p>or from forward finite difference</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
 <p>
 <b>Answer:</b>
 <p>4 seconds is the limit between an unstable and a stable solution.</p>
@@ -7771,9 +7773,9 @@ $$<p>or from forward finite difference</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.4:</b>
+<b>Task 1.3d:</b>
 <p>Obtain the mathematical expression that proves your stability criteria.</p>
 </p>
 </div>
@@ -7787,7 +7789,7 @@ $$<p>or from forward finite difference</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
 <p> Answer
 <p>
 $$
@@ -7816,9 +7818,9 @@ Then $|k*dt| &lt; 2$, thus $dt &lt; 4$.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.5:</b>
+<b>Task 1.3e:</b>
 <p>Now, discretize the equation using Implicit (Backward) Euler. Can you find a time step that makes the problem unstable?</p>
 </p>
 </div>
@@ -7868,16 +7870,32 @@ Then $|k*dt| &lt; 2$, thus $dt &lt; 4$.</p>
 </div>
 </div>
 </div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=f534fb27">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<p>
+<b>Answer:</b>
+<p>No, you cannot! This method is unconditionally stable. (a good thing to remember for the exam)</p>
+</p>
+</div>
+</div>
+</div>
+</div>
+</div>
 <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=2109f010">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<h2 id="Section-2:-Second-order-ODE">Section 2: Second-order ODE<a class="anchor-link" href="#Section-2:-Second-order-ODE">¶</a></h2><h3 id="Background">Background<a class="anchor-link" href="#Background">¶</a></h3><p>The following 1D equation describes the steady state solution of the temperature along a pin that sticks out of a furnace. The rest of the pin is exposed to the ambient.</p>
+<h2 id="Part-2:-Second-order-ODE">Part 2: Second-order ODE<a class="anchor-link" href="#Part-2:-Second-order-ODE">¶</a></h2><p>The following 1D equation describes the steady state solution of the temperature along a pin that sticks out of a furnace. The rest of the pin is exposed to the ambient.</p>
 $$
 \frac{d^2T}{dx^2} -\alpha(T-T_s)=0
-$$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is $250^o$ C. The length of the pint is 0.1m. Your grid should have a spatial step of 0.02 m. Finally, $\alpha=500$.</p>
+$$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is $250^o$ C. The length of the pin is 0.1m. Your grid should have a spatial step of 0.02 m. Finally, $\alpha=500$.</p>
 </div>
 </div>
 </div>
@@ -7901,41 +7919,48 @@ $$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=c739aaf1">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=c74adcb4">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 5:</b>
-<p>Below we already provide the code structured that solves the equation with the above Dirichlet conditions and using a central difference approximation of the second derivative. Complete the code to complete the matrix and vectors. <strong>Write in paper (add the image) the matrix A, and the vectors T and b.</strong></p>
+<b>Task 2.1:</b>
+<p>This task has three parts: a) discretize the analytic expression into a system of equations using central differences, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.</p>
+<p><em>Parts 2.1b and 2.1c do not need to be completed in order; in fact, it may be useful to go back and forth between the two in order to understand the problem.</em></p>
 </p></div>
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=11009615">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=0db7afc9">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<p>
+<b>Task 2.1a:</b>
+<p>Discretize the analytic expression into a system of equations for a grid with 6 points using central differences.</p>
+<p><em>Write your answer by hand using paper/tablet and include the image below.</em></p>
+</p></div>
 </div>
 </div>
 </div>
-</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=4133c6e2">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=6ae1eb87">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
-<p> Answer
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<p> Answer for 2.1a and 2.1b
 <p>
-<p>Add the image.</p>
-<p><strong>For $i = 1$:</strong>
+$$
+\frac{1}{\Delta x^2}(T_{i-1} - 2T_{i} + T_{i+1}) - \alpha T_{i} + \alpha T_s = 0
+$$<p><strong>For $i = 1$:</strong>
 The finite difference approximation for the first internal node is:</p>
 $$
 \frac{1}{\Delta x^2}(T_0 - 2T_1 + T_2) - \alpha T_1 + \alpha T_s = 0
@@ -7957,7 +7982,36 @@ $$
 $$<p>Notice that now we can plug in our other bc $T_5$ and rearrange the terms:</p>
 $$
 (T_3 - (2 + \alpha \Delta x^2) T_4 ) = -\alpha Ts \Delta x^2 -T_5 
-$$<p>We can now move the equations in the Ax=y form:</p>
+$$</p>
+</p></div>
+</div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=df2341fc">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<p>
+<b>Task 2.1b:</b>
+<p>Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.</p>
+<p><em>Write your answer by hand using paper/tablet and include the image below.</em></p>
+</p></div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=c8616d1c">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<p>
+<p>The discretized equations are presented in Ax=y form:</p>
 $$
 \begin{bmatrix}
  -(2 + \alpha \Delta x^2) &amp; 1 &amp; 0 &amp; 0 \\
@@ -7978,10 +8032,35 @@ T_4
 -\alpha Ts \Delta x^2 -T_5
 \end{bmatrix}
 $$</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=0c12775e">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<p>
+<b>Task 2.1c:</b>
+<p>Implement the discretized system of equations in a code cell.</p>
+<p><em>We have already done this for you! Your task is to read the cell and make sure you understand how the matrices are implemented. Reading the code should help you formulate the matrices in Task 2.1b.</em></p>
 </p></div>
 </div>
 </div>
 </div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=11009615">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+</div>
+</div>
+</div>
 </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=53fb4f99">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
@@ -8062,9 +8141,9 @@ $$</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 6:</b>
+<b>Task 2.2:</b>
 <p>Copy the code above below and modify it to replace the Dirichlet condition at the right BC for a Neumann condition such that there $\frac{dT}{dx}=0$. Approximate the Neuman boundary $\frac{dT}{dx}=0$ by using the Backward difference for first order differential equation of first order accuracy.</p>
 <p>How does the temperature profile changes?</p>
 <p><strong>Remember to change the title of the plot to indicate that now the BC is of the Neumann type</strong></p>
@@ -8195,19 +8274,33 @@ $$
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=0b47e9c2">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=ac255017">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 7:</b>
-<p>Now, instead of using the central difference for approximating the second derivative. Use the forward difference to replace the second derivative (first order accurate). <strong>Write the algebraic representation of the differential equation below.</strong></p>
-</p>
+<b>Task 2.3:</b>
+<p>Just as we did in Task 2.1, this task has three parts: a) discretize the analytic expression into a system of equations using <b>forward differences</b>, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.</p>
+</p></div>
+</div>
+</div>
+</div>
 </div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=104690ed">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<p>
+<b>Task 2.3a:</b>
+<p>Discretize the analytic expression into a system of equations for a grid with 6 points using <b>forward differences</b>.</p>
+<p><em>Write your answer by hand using paper/tablet and include the image below.</em></p>
+</p></div>
 </div>
 </div>
 </div>
@@ -8217,8 +8310,7 @@ $$
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
-<p> Answer
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
 <p>
 Forward difference for second order differential equation:
 $$
@@ -8228,7 +8320,7 @@ The finite difference approximation for the first internal node is:</p>
 $$
 \frac{1}{\Delta x^2}(T_0 - 2T_1 + T_2) - \alpha T_0 + \alpha T_s = 0
 $$$$
--2T_1 +T_2 = -(1+alpha)T_0 - \alpha T_s \Delta x^2
+-2T_1 +T_2 = -(1+\alpha)T_0 - \alpha T_s \Delta x^2
 $$<p><strong>For $i = 1$:</strong>
 The finite difference approximation for the second internal node is:</p>
 $$
@@ -8251,24 +8343,23 @@ $$<p>Rearranging the terms:</p>
 $$
 (1 - \alpha \Delta x^2)T_3 - 2T_4 = -\alpha T_s \Delta x^2 -T_5
 $$</p>
-</p></div>
 </div>
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=a4e0342e">
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=7b12c86e">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 8:</b>
-<p>Now, write the resulting matrix A, the vector T and the vector b.</p>
-</p>
-</div>
-</div>
+<b>Task 2.3b:</b>
+<p>Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.</p>
+<p><em>Write your answer by hand using paper/tablet and include the image below.</em></p>
+</p></div>
 </div>
 </div>
 </div>
@@ -8303,48 +8394,20 @@ $$
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=b9ca660d">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=1b304504">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-</div>
-</div>
-</div>
-</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=8cb492f8">
-<div class="jp-Cell-inputWrapper" tabindex="0">
-<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
-</div>
-<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
-</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
-<p> Answer
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<p>Add the image.</p>
-</p>
+<b>Task 2.3c:</b>
+<p>Implement the discretized system of equations in a code cell.</p>
+<p><b>This time we did not do it for you!</b> Copy the code from Task 2.1c and revise it to solve the system of equations using <b>Forward Differences</b>. Keep the Dirichlet conditions.</p>
 </p></div>
 </div>
 </div>
-</div>
-</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=0640b43e">
-<div class="jp-Cell-inputWrapper" tabindex="0">
-<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
-</div>
-<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
-</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
-<p>
-<b>Task 9:</b>
-<p>Copy the code of task 5 below, modify it accordingly to your new discretization (using FD for the second derivative in space). Keep Dirichlet conditions.</p>
-<p>How different are the values of the temperature with respect to task 5? Which solution is expected to be more accurate?</p>
-</p>
-</div>
-</div>
-</div>
-</div>
 </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=1e783d3e">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
@@ -8439,15 +8502,15 @@ The temperature at x=0.02 is: 168.04 [C]
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=64d693df">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=18d60370">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 9:</b>
+<b>Task 2.4:</b>
 <p>How much finer does your grid has to be in the forward difference implementation to get a similar value at x = 0.02 as in the central difference implementation? Vary your dx.</p>
 </p>
 </div>
@@ -8455,27 +8518,31 @@ The temperature at x=0.02 is: 168.04 [C]
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=e771703c">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=7ef65db5">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<p>you can test this above make the temperature the same at x=0.02</p>
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<p>
+<p>You can test this above make the temperature the same at x=0.02</p>
+</p>
+</div>
 </div>
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=031dca37">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=b78e8e16">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
 <p>
-<b>Bonus note:</b>
-<p>The matrix inversion using numpy is one way to solve the system, another is the gauss_jordan written below and another one is the sparse matrix based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change dx to 0.0002 of the code in task 5 and run it. Now, you should have a matrix A with a high resolution that solves the second degree ODE. Test the time each method takes.</p>
+<b>Bonus Task</b>
+<p>The matrix inversion using numpy is one way to solve the system, another is the <code>gauss_jordan</code> method, written below, and another one is the sparse matrix-based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change <code>dx</code> to 0.0002 of the original code that solves the second degree ODE and test the time it takes by each method.</p>
 </p>
 </div>
 </div>
@@ -8579,15 +8646,31 @@ The temperature at x=0.02 is: 168.04 [C]
 <div class="jp-OutputArea-child">
 <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
 <div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
-<pre>The time used by direct matrix inversion solution is  2.522e-03 sec
-The time used by Gauss-jordan solution is  2.020e-01 sec
-The time used by the sparse matrix solver is  3.001e-03 sec
+<pre>The time used by direct matrix inversion solution is  1.399e-03 sec
+The time used by Gauss-jordan solution is  1.411e-01 sec
+The time used by the sparse matrix solver is  1.286e-03 sec
 </pre>
 </div>
 </div>
 </div>
 </div>
 </div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=5d5b9189">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<p> Answer
+<p>
+<p>The sparse matrix is fastest, but we see that the Numpy implementation is also very fast! problem still small; Gauss-Jordan slow because...???</p>
+</p>
+</p></div>
+</div>
+</div>
+</div>
+</div>
 <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=2921b3f2">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
@@ -8619,7 +8702,7 @@ The time used by the sparse matrix solver is  3.001e-03 sec
 </div>
 </div>
 </div>
-</div></main>
+</div></div></div></div></div></div></div></main>
 </body>
 <script type="application/vnd.jupyter.widget-state+json">
 {"state": {}, "version_major": 2, "version_minor": 0}
diff --git a/src/teachers/Week_1_6/WS_1_6_solution.ipynb b/src/teachers/Week_1_6/WS_1_6_solution.ipynb
new file mode 100644
index 00000000..bf46f829
--- /dev/null
+++ b/src/teachers/Week_1_6/WS_1_6_solution.ipynb
@@ -0,0 +1,1279 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "1d48ad6c",
+   "metadata": {
+    "id": "9adbf457-797f-45b7-8f8b-0e46e0e2f5ff"
+   },
+   "source": [
+    "# WS 1.6: Understanding Ordinary Differential Equation\n",
+    "\n",
+    "<h1 style=\"position: absolute; display: flex; flex-grow: 0; flex-shrink: 0; flex-direction: row-reverse; top: 60px;right: 30px; margin: 0; border: 0\">\n",
+    "    <style>\n",
+    "        .markdown {width:100%; position: relative}\n",
+    "        article { position: relative }\n",
+    "    </style>\n",
+    "    <img src=\"https://gitlab.tudelft.nl/mude/public/-/raw/main/tu-logo/TU_P1_full-color.png\" style=\"width:100px\" />\n",
+    "    <img src=\"https://gitlab.tudelft.nl/mude/public/-/raw/main/mude-logo/MUDE_Logo-small.png\" style=\"width:100px\" />\n",
+    "\n",
+    "</h1>\n",
+    "<h2 style=\"height: 10px\">\n",
+    "</h2>\n",
+    "\n",
+    "*[CEGM1000 MUDE](http://mude.citg.tudelft.nl/): Week 1.6. For: 9th October, 2024.*"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "366ef404",
+   "metadata": {},
+   "source": [
+    "## Overview\n",
+    "\n",
+    "\n",
+    "This assignment is aimed to develop an understanding of the **Ordinary Differential Equation (ODE)**. There will be two sections about cooling and heating scenerios, corresponding to the first-order and the second-order ODEs. Please go through the text that follows and perform all steps outlined therein.\n",
+    "\n",
+    "## Part 1: First-order ODE\n",
+    "\n",
+    "In the study of heat transfer, **Newton's law of cooling** is a physical law which states that the rate of heat loss of a body is directly proportional to the difference in the temperatures between the body and its environment. It can be expressed in the form of ODE, as below:\n",
+    "\n",
+    "$$\\frac{dT}{dt}=-k(T - T_s)$$\n",
+    "\n",
+    "where $T$ is the temperature of the object at time $t$, $T_s$ is the temperature of the surrounding and assumed to be constant, and $k$ is the constant that characterizes the ability of the object to exchange the\n",
+    "heat energy (unit 1/s), which depends on the specific material properties.\n",
+    "\n",
+    "\n",
+    "Now, Let's consider an object with the initial temperature of  50°C in a surrounding environment with constant temperature at 20°C. The constant of heat exchange between the object and the environment is 0.5 $sec^-1$.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "73781a3c",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 1.1:</b>\n",
+    " \n",
+    "Suppose the considered period of time is long enough (bring it to steady state), what will be the final temperature of the object? \n",
+    "    \n",
+    "**Write your answer in the following markdown cell.**\n",
+    " \n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "3081d88d",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "    \n",
+    "20°C \n",
+    "    \n",
+    "*This is because the body's temperature, $T$, will tend to the ambience temperature in the long term. The decrease will be abrupt at the beginning and will slow down as time passes $T(t=large) = T_s = 20°C$.*\n",
+    "\n",
+    "</p>\n",
+    "</div>\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "06320ed9",
+   "metadata": {},
+   "source": [
+    "Next, let's evaluate the temperature of the object by checking it at a series of time points."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "18cbde20",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 1.2:</b>\n",
+    "\n",
+    "Write the algebraic representation of the ODE using Explicit Euler.\n",
+    " \n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "bec070a5",
+   "metadata": {},
+   "source": [
+    " <div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "Answer for Task 1.2:\n",
+    "<p>\n",
+    "    \n",
+    " $$ T_{i+1} = T_{i}-k(T_{i} - T_s)dt$$\n",
+    "\n",
+    "\n",
+    "\n",
+    "How to get there:\n",
+    "\n",
+    "$$\n",
+    "\\int_{t}^{t+1} \\frac{dT}{dt} dt=\\int_{t}^{t+1}-k(T - T_s)dt\n",
+    "$$\n",
+    "$$\n",
+    "\\int_{t}^{t+1} T' dt=\\int_{t}^{t+1}f(t)dt\n",
+    "$$\n",
+    "\n",
+    "FTC (fundamental theorem of calculus) for left side and using left rieman to approximate right term\n",
+    "\n",
+    "$$\n",
+    "T_{t+1} - T_t =  \\Delta t f(t_i)\n",
+    "$$\n",
+    "\n",
+    "$$\n",
+    "T_{t+1}= T_t + \\Delta t f(t_i)\n",
+    "$$\n",
+    "\n",
+    "$$\n",
+    "T_{t+1}= T_t - k(T_t - T_s)\n",
+    "$$\n",
+    "\n",
+    "or from forward finite difference\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fb6eda82",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 1.3:</b>\n",
+    "\n",
+    "Compute the temperature evolution in the next 60 seconds.\n",
+    "\n",
+    "**Please complete the missing parts of the code in each step below, which is divided into 5 substeps (a through e).**\n",
+    " \n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "88b861bc",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 1.3a:</b> \n",
+    "\n",
+    "The time step of 5 seconds is constant. Discretize the time points, the solution vector $T$ and define the initial condition.\n",
+    " \n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "b44aa057",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "dt =5                          \n",
+    "t_end = 60  \n",
+    "Ts =  20       # [C] \n",
+    "k = 0.5        # [sec^-1]\n",
+    "\n",
+    "t = np.arange(0,t_end+dt,dt)\n",
+    "n = len(t)\n",
+    "T = np.empty(n)\n",
+    "T[0] = 50\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4586d4b6",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 1.3b:</b> \n",
+    "\n",
+    "Implement your time discretization and find the solution from $t=0$ until $t=60$ sec. \n",
+    " \n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "0bf8247e",
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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25ueGof194+Cws8ydFGrlHYpYWArj17CIyIiop5jemoc+kUW4mRpLSbHm/Dg9DHIGBDj1JknEWegiIiIyGOIVchHR5swNjHCJcETwACKiIiIPER9UzN0DeYDf8P8XdsXBlBERETkEcRimkEKXwS4OAmJARQRERF5BE2VOYCKC3VevadrYQBFREREHqFE1wDAvPPO1RhAERERkUfQtizhxTGAIiIiIrKOpmUGikt4RERERFYqacmBUqsULu4JAygiIiLyEOISHnOgiIiIiKwkJZFzCY+IiIioa7X6ZtQ0NgNgEjkRERGRVbQts08hSj8EK1x/lC8DKCIiInJ7YgK5O8w+AQygiIiIyAO01oAKcHFPzBhAERERkdsTE8jjwzgDRURERGQV8Rw8dShnoIiIiIisoqluWcLjDBQRERGRdTRVLce4MImciIiIyDpMIiciIiKyQU2jATV69ymiCTCAIiIiIjenaZl9ClX6IcgNimgCDKCIiIjIzYkBVHyYeyzfAQygiIiIyM25WwI5wACKiIiI3FxJywyU2k0SyAEGUEREROTmxIOE4zkDRURERGQdMQcqjjlQRERERNYpYQ4UERERkfUEQWidgWIARURERNS16sZm1DcZAbhPFXKAARQRERG5MfEIl7BAOQL8fV3cm1YMoIiIiMhtlejE/Cf3mX0CGEARERGRG9NUuV/+E8AAioiIiNyYVud+O/AABlBERETkxkrc8Bw8gAEUERERuTFNywyUOpQzUERERERWaa1CzgCKiIiIqEuCILRJIucSHhEREVGXqhua0WAQi2hyBqpb1q9fj+HDhyM0NBShoaHIyMjAF198IT0uCAJWrFiB+Ph4BAQEYNKkSTh+/LjFPfR6PZ544glERUUhKCgIc+bMwcWLFy3aVFZWYt68eVCpVFCpVJg3bx6qqqqc8RaJiIioDbEGVESQP5Ry9ymiCXhQANW7d288//zzOHjwIA4ePIhbb70Vt99+uxQkvfjii1izZg3WrVuHAwcOQK1WY+rUqaipqZHusXjxYmzbtg1bt27F999/j9raWsyaNQtGo1FqM3fuXOTn5yMrKwtZWVnIz8/HvHnznP5+iYiIejp3TSAHAD9Xd8Bas2fPtvj4ueeew/r167F3716kpKTg1VdfxbPPPos777wTALB582bExsbiww8/xMKFC6HT6bBx40a8//77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",
+      "text/plain": [
+       "<Figure size 640x480 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "for i in range(n-1):\n",
+    "    T[i+1] = T[i]-k*(T[i]-Ts)*dt \n",
+    "    \n",
+    "plt.plot(t, T, 'o-')\n",
+    "plt.xlabel('t (sec)')\n",
+    "plt.ylabel('T (deg)')\n",
+    "plt.grid()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ffb4547f",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 1.3c:</b>\n",
+    "\n",
+    "Try different time steps to check the stability of the calculation. At which value the solution is stable?\n",
+    " \n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "59bcbb0a",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Answer:</b> \n",
+    "    \n",
+    "4 seconds is the limit between an unstable and a stable solution.\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8a907a09",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 1.3d:</b>\n",
+    "\n",
+    "Obtain the mathematical expression that proves your stability criteria.\n",
+    " \n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "eb00c9ab",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p> Answer\n",
+    "<p>\n",
+    "    \n",
+    "$$\n",
+    "\\frac{dT}{dt}= -k(T-Ts)\n",
+    "$$\n",
+    "\n",
+    "$$\n",
+    "\\int \\frac{1}{(T-Ts)}dT=\\int -k dt\n",
+    "$$\n",
+    "\n",
+    "$$\n",
+    "ln|T-Ts| = -kt +C\n",
+    "$$\n",
+    "\n",
+    "$$\n",
+    "T-Ts = Ce^{-kt}\n",
+    "$$\n",
+    "\n",
+    "$$\n",
+    "T= Ts +Ce^{-kt}\n",
+    "$$\n",
+    "\n",
+    "\n",
+    "This is an Explicit Euler scheme, thus is conditionally stable, with the criterion: $ |1-k*dt|<1$. \n",
+    "\n",
+    "Solving for n time steps, the solution can be generalized as $T_n=T_0(1-k\\Delta t)^n + k \\Delta t T_s \\left[ (1-k \\Delta t)^{n-1} + (1-k \\Delta t)^{n-2} + ... + (1-k \\Delta t)^{0} \\right]$   \n",
+    "\n",
+    "The criterion of stability is $ |1-k*dt|<1$. Otherwise, the solution would tend to grow instead of decaying. \n",
+    "Then $|k*dt| < 2$, thus $dt < 4$. \n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1ff1e4fe",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 1.3e:</b>\n",
+    "\n",
+    "Now, discretize the equation using Implicit (Backward) Euler. Can you find a time step that makes the problem unstable?\n",
+    " \n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "18c73272",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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a9cuTZ48WVFRUUpKStI999yj8vJy936Xy6WXXnpJGRkZstvtuvrqqzV37lz3/sGDBys5OVnvv/++9795AD5FmAHQIRYuXKisrCz95Cc/UUlJiUpKSpSWltbmsWvWrFFmZmaLbTNnzpTD4dCaNWtUWFiol156SVFRUZKkkpISjR8/Xtdff722bt2qFStW6OjRo/rHf/xH99c/88wzeumll/Tcc89p165dWrp0qZKSklp8xsiRI7V27Vovf+cAfC3E6gIAdA2xsbEKDQ1VRESEkpOTL3rsgQMHNHz48BbbDh06pDvuuEODBw+WJPXu3du9b/Hixbrhhhs0b94897Y333xTaWlp2rNnj1JSUrRw4UItWrRI9957rySpT58+ys7ObvEZV111lbZv335F3yeAjkeYAeB3Tp8+rbCwsBbbHn30UT344INatWqVbrnlFt1xxx0aMmSIJKmgoECffPKJ+0zNufbt26cTJ07I4XDo5ptvvujnhoeHq7a21nvfCIAOwWUmAH4nPj6+1UTcf/7nf9b+/ft1zz33qLCwUJmZmfqv//ovSU3zYaZMmaIdO3a0eBUVFenGG29UeHi4R597/PhxJSQkeP37AeBbhBkAHSY0NFSNjY2XPG7YsGHatWtXq+1paWl64IEHtHz5cj3xxBN6/fXXJUk33HCDdu7cqWuuuUYZGRktXpGRkerbt6/Cw8P197///aKf+8UXX2jYsGGX980BsAxhBkCHueaaa7R582YdOHBA5eXlcrlcbR536623auPGjS2Cz6xZs7Ry5UoVFxdr27Zt+vjjj3XddddJapocfPz4cd1555369NNPtX//fq1atUr33XefGhsbFRYWpqefflpPPfWU3n77be3bt0+bNm3SG2+84R6/trZWBQUFmjhxom+bAMDrCDMAOsyTTz6p4OBgDRgwQAkJCTp06FCbx02ePFk2m01/+9vf3NsaGxs1c+ZMXXfddZo0aZL69++v3/zmN5Kk1NRUrV+/Xo2Njbr11ls1aNAgPfbYY4qNjVVQUNOvueeee05PPPGE/u3f/k3XXXedfvCDH6isrMw9/p///GddffXVGjdunA87AMAXDNM0TauLAIDz/eY3v9Gf//xnrVy5skM+b+TIkZo1a5amT5/eIZ8HwHtYzQTAL/30pz9VZWWlampqfP5Ig7KyMn3ve9/TnXfe6dPPAeAbnJkBAAABjTkzAAAgoBFmAABAQCPMAACAgEaYAQAAAY0wAwAAAhphBgAABDTCDAAACGiEGQAAENAIMwAAIKD9f5vnHFMSgRK4AAAAAElFTkSuQmCC",
+      "text/plain": [
+       "<Figure size 640x480 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "dt = 10                          \n",
+    "t_end = 60  \n",
+    "Ts =  20       # [C] \n",
+    "k = 0.5        # [sec^-1]\n",
+    "\n",
+    "t = np.arange(0,t_end+dt,dt)\n",
+    "n = len(t)\n",
+    "T = np.empty(n)\n",
+    "T[0] = 50     \n",
+    "\n",
+    "for i in range(n-1):\n",
+    "    T[i+1] = (T[i]+k*Ts*dt)/(1+k*dt) \n",
+    "    \n",
+    "plt.plot(t, T, 'o-')\n",
+    "plt.xlabel('t (sec)')\n",
+    "plt.ylabel('T (deg)')\n",
+    "plt.grid()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f534fb27",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Answer:</b> \n",
+    "    \n",
+    "No, you cannot! This method is unconditionally stable. (a good thing to remember for the exam)\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2109f010",
+   "metadata": {},
+   "source": [
+    "## Part 2: Second-order ODE\n",
+    "\n",
+    "The following 1D equation describes the steady state solution of the temperature along a pin that sticks out of a furnace. The rest of the pin is exposed to the ambient. \n",
+    "\n",
+    "$$\n",
+    "\\frac{d^2T}{dx^2} -\\alpha(T-T_s)=0\n",
+    "$$\n",
+    "\n",
+    "The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is $250^o$ C. The length of the pin is 0.1m. Your grid should have a spatial step of 0.02 m. Finally, $\\alpha=500$."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "5bf9639d",
+   "metadata": {},
+   "source": [
+    "\n",
+    "The solution includes the steps:\n",
+    "1. Use the Taylor series to obtain an approximation for the derivatives;\n",
+    "2. Discretize the equation;\n",
+    "3. Define parameters and grid;\n",
+    "4. Provide boundary conditions;\n",
+    "5. Build matrix with solution $AT=b$\n",
+    "6. Solve the matrix"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c74adcb4",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1:</b>\n",
+    "\n",
+    "This task has three parts: a) discretize the analytic expression into a system of equations using central differences, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.\n",
+    "\n",
+    "<em>Parts 2.1b and 2.1c do not need to be completed in order; in fact, it may be useful to go back and forth between the two in order to understand the problem.</em> \n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "0db7afc9",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1a:</b>\n",
+    "\n",
+    "Discretize the analytic expression into a system of equations for a grid with 6 points using central differences.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "6ae1eb87",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p> Answer for 2.1a and 2.1b\n",
+    "<p>\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_{i-1} - 2T_{i} + T_{i+1}) - \\alpha T_{i} + \\alpha T_s = 0\n",
+    "$$\n",
+    "\n",
+    "**For $i = 1$:**\n",
+    "The finite difference approximation for the first internal node is:\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_0 - 2T_1 + T_2) - \\alpha T_1 + \\alpha T_s = 0\n",
+    "$$\n",
+    "\n",
+    "Next, we multiply by $\\Delta x^2$ and substitute the boundary condition for $T_0$. Notice that the only unknown solutions are $T_1$ and $T_2$\n",
+    "Rearranging the terms gives:\n",
+    "\n",
+    "$$\n",
+    "-(2 + \\alpha \\Delta x^2) T_1 + T_2 = -\\alpha T_s \\Delta x^2 - T_0\n",
+    "$$\n",
+    "\n",
+    "**For $i = 2$:**\n",
+    "The finite difference approximation for the second internal node is:\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_1 - 2T_2 + T_3) - \\alpha T_2 + \\alpha T_s = 0\n",
+    "$$\n",
+    "\n",
+    "Rearranging the terms:\n",
+    "\n",
+    "$$\n",
+    "T_1 - (2 + \\alpha \\Delta x^2) T_2 + T_3 = -\\alpha T_s \\Delta x^2\n",
+    "$$\n",
+    "\n",
+    "**For $i = 3$:**\n",
+    "The finite difference approximation for the third internal node is:\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_2 - 2T_3 + T_4) - \\alpha T_3 + \\alpha T_s = 0\n",
+    "$$\n",
+    "\n",
+    "Notice that now we can plug in our other bc $T_5$ and rearrange the terms:\n",
+    "\n",
+    "$$\n",
+    "(T_3 - (2 + \\alpha \\Delta x^2) T_4 ) = -\\alpha Ts \\Delta x^2 -T_5 \n",
+    "$$\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "df2341fc",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1b:</b>\n",
+    "\n",
+    "Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c8616d1c",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "\n",
+    "The discretized equations are presented in Ax=y form:\n",
+    "\n",
+    "$$\n",
+    "\\begin{bmatrix}\n",
+    " -(2 + \\alpha \\Delta x^2) & 1 & 0 & 0 \\\\\n",
+    "1 & -(2 + \\alpha \\Delta x^2) & 1 & 0 \\\\\n",
+    "0 & 1 & -(2 + \\alpha \\Delta x^2) & 1 \\\\\n",
+    "0 & 0 & 1 & -(2 + \\alpha \\Delta x^2)\n",
+    "\\end{bmatrix} \\begin{bmatrix}\n",
+    "T_1 \\\\\n",
+    "T_2 \\\\\n",
+    "T_3 \\\\\n",
+    "T_4\n",
+    "\\end{bmatrix}\n",
+    "=\n",
+    "\\begin{bmatrix}\n",
+    "-\\alpha Ts \\Delta x^2 -T_0\\\\\n",
+    "-\\alpha Ts \\Delta x^2 \\\\\n",
+    "-\\alpha Ts \\Delta x^2\\\\\n",
+    "-\\alpha Ts \\Delta x^2 -T_5\n",
+    "\\end{bmatrix}\n",
+    "$$\n",
+    "\n",
+    "\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "0c12775e",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1c:</b>\n",
+    "\n",
+    "Implement the discretized system of equations in a code cell.\n",
+    "\n",
+    "<em>We have already done this for you! Your task is to read the cell and make sure you understand how the matrices are implemented. Reading the code should help you formulate the matrices in Task 2.1b.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "11009615",
+   "metadata": {},
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "53fb4f99",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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OL/OnTtj0qRJ+PLLL9GwYUO8++67yMnJKbd+t+vb//u//8OgQYNw//33o0uXLti0aROSkpKwffv26nV4TROS3NxcASC5ubmWLoWI6K4VFBTIsWPHpKCg4K7nda24RMrKykREpKysTK4Vl9z1PG9lxIgRguuHB5kMoaGhIiKyfv16adu2rbi6uopOp5N27drJ9u3bjY9PTU2VZs2aiVarFcMmbunSpaLX641tZsyYIc2bNy+33IceeshkXHR0tIwfP954/5133hE/Pz9xdHSU2NhYWb58uQCQ7OxsY5vnn39ePDw8BIDMmDFDRESKiork1VdflZCQELG3txdfX18ZMGCAHD582Pi4JUuWSGBgoDg6Okrfvn1l7ty5JjXfbPHixRIZGSk6nU5cXV2lS5cucuDAAeP0s2fPSr9+/USn04mLi4s8+uijkpWVVWkfFBUVyejRo8Xd3V28vb0lMTFRHnroIRkxYkS1+lZE5P3335d77rlH7O3tpXHjxrJ8+XKT6QBk/fr1JuP0er0sXbq0wnW91eu5qttv5a8F/63l5eVBr9cjNzfXbAcrExHVlmvXruH06dNo0KABHBwcLF0O0V251eu5qttvqzgbi4iIiMhcGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiFSK55+QGtTE65hhh4hIZQxXp7161TI/1klUkwyv45uvulwdVvNDoEREVDNsbW1Rr149428NOTk5VfozAUTWSkRw9epVnD9/HvXq1burCwUz7BARqZDhl6nN+eOKRLWhXr16t/0V+9th2CEiUiFFUeDn5wdvb+87/kFHIkuzt7evkZ9+YtghIlIxW1tbi/5OIJE14AHKREREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkahYNO4mJiWjdujVcXFzg7e2N/v3748SJEyZtRATx8fHw9/eHo6MjOnXqhKNHj5q0KSwsxLhx4+Dp6QmdTod+/fohIyOjNleFiIiIrJRFw05KSgri4uKwd+9ebNu2DSUlJejevTvy8/ONbebMmYN33nkHCxYsQFpaGnx9fdGtWzdcvnzZ2GbChAlYv349Vq1ahd27d+PKlSvo06cPSktLLbFaREREZEUUERFLF2Fw4cIFeHt7IyUlBQ8++CBEBP7+/pgwYQKmTZsG4PpeHB8fH8yePRvPPfcccnNz4eXlhRUrVmDw4MEAgHPnziEoKAjJycmIjY297XLz8vKg1+uRm5sLV1dXs64jERER1Yyqbr+t6pid3NxcAIC7uzsA4PTp08jKykL37t2NbbRaLaKjo7Fnzx4AwP79+1FcXGzSxt/fH+Hh4cY2NyssLEReXp7JQEREROpkNWFHRDBp0iR06NAB4eHhAICsrCwAgI+Pj0lbHx8f47SsrCxoNBq4ublV2uZmiYmJ0Ov1xiEoKKimV4eIiIishNWEnbFjx+Lw4cNYuXJluWmKopjcF5Fy4252qzYvvvgicnNzjUN6evqdF05ERERWzSrCzrhx47Bx40bs3LkTgYGBxvG+vr4AUG4Pzfnz5417e3x9fVFUVITs7OxK29xMq9XC1dXVZCAiIiJ1smjYERGMHTsWSUlJ2LFjBxo0aGAyvUGDBvD19cW2bduM44qKipCSkoL27dsDAFq2bAl7e3uTNpmZmThy5IixDREREf192Vly4XFxcfj888/x73//Gy4uLsY9OHq9Ho6OjlAUBRMmTEBCQgIaNWqERo0aISEhAU5OThg2bJix7ahRozB58mR4eHjA3d0dU6ZMQUREBLp27WrJ1SMiIiIrYNGws2jRIgBAp06dTMYvXboUI0eOBABMnToVBQUFGDNmDLKzs9G2bVts3boVLi4uxvbvvvsu7OzsMGjQIBQUFKBLly5YtmwZbG1ta2tViIiIyEpZ1XV2LIXX2SEiIqp76uR1doiIiIhqGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOqcLhjBwMXbwXhzNyLF0KERFZGYYdUoWkA78j9dRFJB343dKlEBGRlbGzdAFEdyoj+yqy84uhKMCmQ+cAXL8d2DIQIoCbzh6Bbk4WrpKIiCyNYYfqrA6zdxr/Vv66vZRfhD7zdxvHn3mzdy1XRURE1oZfY1GdNW9wJOxsrscc+Wuc4dbORsG8wZGWKIuIiKwM9+xQndW/RQDu9XY22ZNjsCEuCuEBegtURURE1oZ7dkgVFMX0loiIyIB7dqhO83DWwMtZC796DhjcOgir09KRmXMNHs4aS5dGRERWQhERuX0zdcvLy4Ner0dubi5cXV0tXQ5VU2FJKTS2NlAUBSKCotIyaO1sLV0WERGZWVW339yzQ3XejcFGURQGHSIiMsFjdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUsGnb+85//oG/fvvD394eiKNiwYYPJ9JEjR0JRFJOhXbt2Jm0KCwsxbtw4eHp6QqfToV+/fsjIyKjFtSAiIiJrZtGwk5+fj+bNm2PBggWVtunRowcyMzONQ3Jyssn0CRMmYP369Vi1ahV2796NK1euoE+fPigtLTV3+URERFQH2Fly4T179kTPnj1v2Uar1cLX17fCabm5uViyZAlWrFiBrl27AgA+/fRTBAUFYfv27YiNja3xmomIiKhusfpjdnbt2gVvb280btwYzzzzDM6fP2+ctn//fhQXF6N79+7Gcf7+/ggPD8eePXssUS4RERFZ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T5o0CQAwYsQILFu2DFOnTkVBQQHGjBmD7OxstG3bFlu3boWLi4vxMe+++y7s7OwwaNAgFBQUoEuXLli2bBlsbW1rfX2IiIjI+ljNdXYsidfZISIiqnvq/HV2iIiIiGoCww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhGRlTmckYOhi/ficEaOpUshUgWGHSIiK5N04HeknrqIpAO/W7oUIlWws3QBREQEZGRfRXZ+MRQF2HToHIDrtwNbBkIEcNPZI9DNycJVEtVNDDtERFagw+ydxr+Vv24v5Rehz/zdxvFn3uxdy1URqQO/xiIisgLzBkfCzuZ6zJG/xhlu7WwUzBscaYmyiFSBe3aIiKxA/xYBuNfb2WRPjsGGuCiEB+gtUBWROnDPDhGRlVEU01siujvcs0NEZCU8nDXwctbCr54DBrcOwuq0dGTmXIOHs8bSpRHVaYqIyO2bqVteXh70ej1yc3Ph6upq6XKI6G+ssKQUGlsbKIoCEUFRaRm0draWLovIKlV1+809O0REVuTGYKMoCoMOUQ3gMTtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7RET0t3Q4IwdDF+/F4YwcS5dCZsawQ0REf0tJB35H6qmLSDrwu6VLITOzs3QBREREtSUj+yqy84uhKMCmQ+cAXL8d2DIQIoCbzh6Bbk4WrpJqmlXv2YmPj4eiKCaDr6+vcbqIID4+Hv7+/nB0dESnTp1w9OhRC1ZMRETWrMPsnei7YDf6zN+NS/lFAIBL+UXoM383+i7YjQ6zd1q4QjIHqw47AHDfffchMzPTOPz000/GaXPmzME777yDBQsWIC0tDb6+vujWrRsuX75swYqJiMhazRscCTsbBQAgf40z3NrZKJg3ONISZZGZWX3YsbOzg6+vr3Hw8vICcH2vzrx58/CPf/wDDz/8MMLDw/HJJ5/g6tWr+Pzzzy1cNRERWaP+LQKwIS6qwmkb4qLQv0VALVdEtcHqw87Jkyfh7++PBg0aYMiQITh16hQA4PTp08jKykL37t2NbbVaLaKjo7Fnz55bzrOwsBB5eXkmAxER/b0oiuktqZdVh522bdti+fLl+Prrr/Hhhx8iKysL7du3x8WLF5GVlQUA8PHxMXmMj4+PcVplEhMTodfrjUNQUJDZ1oGIiKyLh7MGXs5aRATo8caAcEQE6OHlrIWHs8bSpZGZKCIit29mHfLz89GwYUNMnToV7dq1Q1RUFM6dOwc/Pz9jm2eeeQbp6enYsmVLpfMpLCxEYWGh8X5eXh6CgoKQm5sLV1dXs64DERFZXmFJKTS2NlAUBSKCotIyaO1sLV0WVVNeXh70ev1tt99WvWfnZjqdDhERETh58qTxrKyb9+KcP3++3N6em2m1Wri6upoMRET096G1s4Xy1/dXiqIw6KhcnQo7hYWFOH78OPz8/NCgQQP4+vpi27ZtxulFRUVISUlB+/btLVglERERWROrvqjglClT0LdvX9SvXx/nz5/H66+/jry8PIwYMQKKomDChAlISEhAo0aN0KhRIyQkJMDJyQnDhg2zdOlERERkJaw67GRkZGDo0KH4888/4eXlhXbt2mHv3r0IDg4GAEydOhUFBQUYM2YMsrOz0bZtW2zduhUuLi4WrpyIiIisRZ06QNlcqnqAExEREVkPVR6gTERERFRdDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREZDaHM3IwdPFeHM7IsVgNDDtERERkNkkHfkfqqYtIOvC7xWqws9iSiYiISJUysq8iO78YigJsOnQOwPXbgS0DIQK46ewR6OZUa/Uw7BAREVGN6jB7p/Fv5a/bS/lF6DN/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",
+      "text/plain": [
+       "<Figure size 640x480 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The estimated temperature at the nodes are: ['250.00', '168.77', '115.29', '78.86', '52.21', '30.00'] [C]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np \n",
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "Ts = 30\n",
+    "alpha = 500\n",
+    "dx=0.02\n",
+    "\n",
+    "# grid creation\n",
+    "x = np.arange(0,0.1+dx,dx)\n",
+    "T = np.zeros(x.shape)\n",
+    "n=len(x)\n",
+    "\n",
+    "# boundary conditions\n",
+    "T[0] = 250\n",
+    "T[-1] = Ts\n",
+    "\n",
+    "# Building matrix A\n",
+    "matrix_element = -(2+dx**2*alpha)\n",
+    "A = np.zeros((len(x)-2,len(x)-2))\n",
+    "np.fill_diagonal(A, matrix_element)\n",
+    "A[np.arange(n-3), np.arange(1, n-2)] = 1  # Upper diagonal\n",
+    "A[np.arange(1, n-2), np.arange(n-3)] = 1  # Lower diagonal\n",
+    "\n",
+    "# Building vector b\n",
+    "b_element = -dx**2*alpha*Ts\n",
+    "b = np.zeros(len(x)-2) + b_element\n",
+    "b[0] = b[0] - T[0]\n",
+    "b[-1] = b[-1] - T[-1]\n",
+    "\n",
+    "# Solving the system\n",
+    "\n",
+    "T[1:-1] = np.linalg.solve(A,b)\n",
+    "\n",
+    "plt.plot(x,T,'*',label='Estimated solution')\n",
+    "plt.xlabel('x')\n",
+    "plt.ylabel('T')\n",
+    "plt.title('Estimated solution using Central Difference method')\n",
+    "plt.legend()\n",
+    "plt.show()\n",
+    "\n",
+    "print(f'The estimated temperature at the nodes are: {[f\"{temp:.2f}\" for temp in T]} [C]')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "72ed77c5",
+   "metadata": {},
+   "source": [
+    "\n",
+    "\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.2:</b>\n",
+    "\n",
+    "Copy the code above below and modify it to replace the Dirichlet condition at the right BC for a Neumann condition such that there $\\frac{dT}{dx}=0$. Approximate the Neuman boundary $\\frac{dT}{dx}=0$ by using the Backward difference for first order differential equation of first order accuracy. \n",
+    "\n",
+    "How does the temperature profile changes?  \n",
+    "\n",
+    "**Remember to change the title of the plot to indicate that now the BC is of the Neumann type**\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f89b7b33",
+   "metadata": {},
+   "source": [
+    "The first elements for i = 1,2,3 are the same as above in task 5\n",
+    "\n",
+    "The neuman bc is on the last node \n",
+    "\n",
+    "$$\n",
+    "\\frac{dT}{dx} = \\frac{T_i - T_{i-1}}{\\Delta x} \n",
+    "$$\n",
+    "\n",
+    "Neuman bc $$\\frac{dT_5}{dx}=0 \\approx \\frac{T_5 - T_{4}}{\\Delta x}  $$\n",
+    "Therefore $T_5=T_4$\n",
+    "\n",
+    "**For $i = 4$**\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_3-2T_4+T_5) - \\alpha T_4 + \\alpha Ts =0\n",
+    "$$\n",
+    "\n",
+    "Plug in BC $T_5=T_4$\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_3-2T_4+T_4) - \\alpha T_4 + \\alpha Ts =0\n",
+    "$$\n",
+    "\n",
+    "$$\n",
+    "T_3-(1 + \\alpha \\Delta x^2)T_4  = \\alpha Ts \n",
+    "$$\n",
+    "\n",
+    "We can now move the equations in the Ax=y form:\n",
+    "\n",
+    "$$\n",
+    "\\begin{bmatrix}\n",
+    " -(2 + \\alpha \\Delta x^2) & 1 & 0 & 0 \\\\\n",
+    "1 & -(2 + \\alpha \\Delta x^2) & 1 & 0 \\\\\n",
+    "0 & 1 & -(2 + \\alpha \\Delta x^2) & 1 \\\\\n",
+    "0 & 0 & 1 & -(1 + \\alpha \\Delta x^2)\n",
+    "\\end{bmatrix} \\begin{bmatrix}\n",
+    "T_1 \\\\\n",
+    "T_2 \\\\\n",
+    "T_3 \\\\\n",
+    "T_4\n",
+    "\\end{bmatrix}\n",
+    "=\n",
+    "\\begin{bmatrix}\n",
+    "-\\alpha Ts \\Delta x^2 -T_0\\\\\n",
+    "-\\alpha Ts \\Delta x^2 \\\\\n",
+    "-\\alpha Ts \\Delta x^2\\\\\n",
+    "-\\alpha Ts \\Delta x^2 \n",
+    "\\end{bmatrix}\n",
+    "$$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "cfcd00f9",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmkAAAHFCAYAAACpR27aAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABXqklEQVR4nO3de1wUVeMG8Gdg2eW+cr/JTVNEQTFvpaaSKF7QrEzU8lK+b6VooWhqZWkXSSuzNPWtTMpSMwNSIwVSKULNS2imr6WhQsCLJS6C3Dm/P/wxubIoKMuO+Hw/n/ngzpyZOXN2d+ZxZs6sJIQQICIiIiJFMTN1BYiIiIioLoY0IiIiIgViSCMiIiJSIIY0IiIiIgViSCMiIiJSIIY0IiIiIgViSCMiIiJSIIY0IiIiIgViSCMiIiJSIKOEtLi4OEiSVO+wZ8+eBi8rNzcXCxcuRGZmZp1pCxcuhCRJTVfxRjh+/DgWLlyIM2fONPmyTbFdAwYMwIABA25q3qSkJCxcuNDgND8/P0yePPmm66UUkiTVu43NoaioCK+//jq6d+8Oe3t7aDQa+Pn54YknnsDhw4eNuu4NGzZg+fLlRlt+Qz8jfn5+8j7EzMwMWq0WgYGBmDhxIpKTkw3OY+h9++6779C9e3fY2NhAkiQkJiYCAL744gt06tQJVlZWkCTJ4D6Hmt7ixYvl9+BqtceRgwcPGr0Ot7L/u5E9e/bUOe5db58pSRKmT59+U+s6c+aM/B3ZtGlTnem1x5a//vrrppZ/p7q6XWsHe3t7dOnSBcuXL0d1dXWdeZpqn61qyg251rp169ChQ4c64zt27NjgZeTm5mLRokXw8/NDSEiI3rR//etfGDJkyK1W86YcP34cixYtwoABA+Dn52eSOihFUlIS3n//fYM7nYSEBNjb2zd/pZrY3r170bp1a5Os+/Tp0xg8eDAKCgrw9NNPY9GiRbC1tcWZM2ewefNmdOvWDRcvXoRWqzXK+jds2IBjx44hOjraKMtvjD59+uCtt94CABQXF+PkyZPYtGkTwsPD8fDDD2Pjxo2wsLCQy1/7vgkhMGbMGLRv3x5bt26FjY0NAgICcP78eUyYMAFDhgzBqlWroNFo0L59+2bfvjvR4sWLMXr0aIwaNcrUVTGKu+++G3v37tU77l1vn9lUXnjhBTz88MN63we6NTNmzMD48eMBABcvXsTWrVsxc+ZMZGdn4+2335bLNeU+26ghLSgoCN27dzfa8lu3bm2yAyc1TNeuXU1dhSZxzz33mGS91dXVePDBB/HXX39h7969CAoKkqf1798fkyZNwrfffquYHXF1dTWqqqqg0WiMsvxWrVrpvRdhYWGIiorCwoULsWjRIrz44otYsmSJPP3a9y03NxcXLlzAgw8+iIEDB8rjf/zxR1RWVuKxxx5D//79m6SupaWlsLS0NNnZflIGe3v7Zt9/DB06FN9++y3WrFmDGTNmNOu6WzIfHx+993LIkCE4duwYNm7cKIe0pt5nm/yetC+//BK9evWCVquFtbU12rRpgyeeeALAldPEPXr0AAA8/vjj8mnG2v99GLos6Ofnh4iICGzfvh1du3aFlZUVAgMDsX37dgBXTqEHBgbCxsYGPXv2rHMq/eDBgxg7diz8/PxgZWUFPz8/jBs3DmfPnpXLxMXF4ZFHHgEAhIaGyvWKi4uTy6SmpmLgwIGwt7eHtbU1+vTpg++++67O9n/zzTcICQmBRqOBv7+/fJagIX7++WdERETA1dUVGo0Gnp6eGD58OHJycuQyZWVlmD9/Pvz9/aFWq+Hl5YWoqChcvHjxuss2dIoe+Oe0b+22Tp48Ge+//z4A6J0Krr0MbOhS1rlz5/DYY4/J9Q4MDMTbb7+NmpqaOut56623sGzZMvj7+8PW1hb33nsv9u3bd8O2qe+Sce0llKsvU+/atQsDBgyAk5MTrKys4OPjg4cffhiXL1+Wy1x72ax2Obt378bUqVPh7OwMJycnPPTQQ8jNzdVbZ3l5OWJiYuDu7g5ra2v069cPhw4datBlvsTERPzyyy+YP3++3pf9akOHDoW1tbX8+vfff8f48eP12rf2PapV+/5u3LgRL7zwAjw9PWFvb4+wsDCcPHlSLjdgwAB88803OHv2rN77C/zzHi1duhSvvfYa/P39odFosHv3bpSVlSEmJgYhISHQarVwdHTEvffei6+//vq623uzFi5ciE6dOmHlypUoKyuTx1+7v6j9T93cuXMhSZL8HvTt2xcAEBkZCUmS9C59HTx4ECNHjoSjoyMsLS3RtWtXbN68WW/9tZ+H5ORkPPHEE3BxcYG1tTXKy8sBXLmUeu+998LGxga2trYIDw/Hzz//rLeMyZMnw9bWFqdOncKwYcNga2sLb29vxMTEyMupVV5ejldeeQWBgYGwtLSEk5MTQkNDkZGRIZcRQmDVqlUICQmBlZUVHBwcMHr0aPzxxx8Nak9JknD06FE88sgj8ns4a9YsVFVV4eTJkxgyZAjs7Ozg5+eHpUuX1llGUVERZs+erbfviY6ORklJid77U1JSgk8++UT+bF172fHSpUs3/I7V1NRg6dKl6NChAzQaDVxdXTFx4kS9fWFtmyxduhS+vr6wtLTE3XffjW+//faG7QEAjzzyCDp16qQ3bsSIEZAkCV9++aU87vDhw5AkCdu2bQNQd196o31mrfXr1yMwMBDW1tbo0qWLfAxriPvvvx/h4eF49dVXcenSpRuWb8jxavLkyQavGhna19Zesl23bh0CAgJgZWWF7t27Y9++fRBC4M0335T36ffffz9OnTqlN39KSgoeeOABtG7dGpaWlrjrrrvw1FNP1blMW7vuX3/9FePGjYNWq4WbmxueeOIJ6HQ6g3W6lXY1RKvV6gWum9lnX5cwgnXr1gkAYt++faKyslJvqKqqkstlZGQISZLE2LFjRVJSkti1a5dYt26dmDBhghBCCJ1OJy/rxRdfFHv37hV79+4V2dnZQgghXn75ZXHtJvj6+orWrVuLoKAgsXHjRpGUlCR69eolLCwsxEsvvST69Okj4uPjRUJCgmjfvr1wc3MTly9fluf/8ssvxUsvvSQSEhJEWlqa2LRpk+jfv79wcXER58+fF0IIUVBQIBYvXiwAiPfff1+uV0FBgRBCiPXr1wtJksSoUaNEfHy82LZtm4iIiBDm5uYiNTVVXldqaqowNzcXffv2FfHx8eLLL78UPXr0ED4+PnW261rFxcXCyclJdO/eXWzevFmkpaWJL774Qjz99NPi+PHjQgghampqRHh4uFCpVGLBggUiOTlZvPXWW8LGxkZ07dpVlJWVycvr37+/6N+/v/x69+7dAoDYvXu33nqzsrIEALFu3TohhBCnTp0So0ePFgDkdti7d6+8bF9fXzFp0iR5/oKCAuHl5SVcXFzEmjVrxI4dO8T06dMFADF16tQ66/Hz8xNDhgwRiYmJIjExUQQHBwsHBwdx8eLF67aPoc+GEP98NrOysuT1WFpaikGDBonExESxZ88e8fnnn4sJEyaIwsJCeT4A4uWXX66znDZt2ogZM2aInTt3io8++kg4ODiI0NBQvXWOGzdOmJmZiXnz5onk5GSxfPly4e3tLbRarV7bGPLkk08KAOLEiRPXLVfr119/FVqtVgQHB4tPP/1UJCcni5iYGGFmZiYWLlwol6t9f/38/MSjjz4qvvnmG7Fx40bh4+Mj2rVrJ39Pf/31V9GnTx/h7u6u9/7Wth0A4eXlJUJDQ8WWLVtEcnKyyMrKEhcvXhSTJ08W69evF7t27RI7duwQs2fPFmZmZuKTTz7Rq/O1n5H6+Pr6iuHDh9c7fd68eQKA+OGHH+RxV79v2dnZIj4+XgAQM2bMEHv37hWHDx8Wp06dEu+//74AIBYvXiz27t0rfv31VyGEELt27RJqtVrcd9994osvvhA7duwQkydP1vsOCPHP58HLy0s8+eST4ttvvxVbtmwRVVVV4vXXXxeSJIknnnhCbN++XcTHx4t7771X2NjYyOsRQohJkyYJtVotAgMDxVtvvSVSU1PFSy+9JCRJEosWLZLLVVZWitDQUKFSqcTs2bNFUlKS2Lp1q3j++efFxo0b5XL//ve/hYWFhYiJiRE7duwQGzZsEB06dBBubm4iPz//um1d+/0JCAgQr776qkhJSRHPPfecACCmT58uOnToIN577z2RkpIiHn/8cQFAfPXVV/L8JSUlIiQkRDg7O4tly5aJ1NRU8e677wqtVivuv/9+UVNTI4QQYu/evcLKykoMGzZM/mzVtkljvmO135Pp06eLHTt2iDVr1ggXFxfh7e0t77ev3q4pU6aIb7/9VnzwwQfCy8tLuLu76+3/DFmzZo0AIHJzc+X3wc7OTlhZWYl///vfcrklS5YIlUolioqKhBB196U32mfWfi979uwpNm/eLJKSksSAAQOESqUSp0+fvm4da7+Tb775psjMzBSSJIkFCxbU2f6r26Shx6tJkyYJX1/fOus0tK8FIHx9fUXv3r31jreOjo5i5syZ4oEHHhDbt28Xn3/+uXBzcxOdO3eWPxNCCLF69WoRGxsrtm7dKtLS0sQnn3wiunTpIgICAkRFRUWddQcEBIiXXnpJpKSkiGXLlgmNRiMef/zxOnW61XZdsmSJnGX++usvsXbtWqFSqcQLL7wgl23sPvtGjBrSDA3m5uZyubfeeksAuO4B98CBA3V2iLXqC2lWVlYiJydHHpeZmSkACA8PD1FSUiKPT0xMFADE1q1b611/VVWVKC4uFjY2NuLdd9+Vx3/55ZcGQ0xJSYlwdHQUI0aM0BtfXV0tunTpInr27CmP69Wrl/D09BSlpaXyuKKiIuHo6HjDkHbw4EEBQCQmJtZbZseOHQKAWLp0qd74L774QgAQH3zwgTzuZkOaEEJERUXVW99rD8C1B9L9+/frlZs6daqQJEmcPHlSbz3BwcF6wf6nn34SAPQORoY0NKRt2bJFABCZmZnXXV59IW3atGl65ZYuXSoAiLy8PCHElZADQMydO1ev3MaNGwWAG4aTIUOGCAB6gfp6wsPDRevWrYVOp9MbP336dGFpaSkuXLgghPjn/R02bJheuc2bN8sHj1rDhw83uHOufY/atm2rt+M0pKqqSlRWVoopU6aIrl276k1rqpC2evVqAUB88cUX8rhr37erD2JXq22PL7/8Um98hw4dRNeuXUVlZaXe+IiICOHh4SGqq6uFEP98HiZOnKhX7ty5c0KlUokZM2bojb906ZJwd3cXY8aMkcdNmjRJABCbN2/WKzts2DAREBAgv/70008FAPHhhx/W2xZ79+4VAMTbb7+tNz47O1tYWVmJ5557rt55hfjn+3Pt/CEhIQKAiI+Pl8dVVlYKFxcX8dBDD8njYmNjhZmZmThw4IDe/LXft6SkJHmcjY2Nwfe/od+xEydOGCy3f/9+AUA8//zzQgghCgsLhaWlpXjwwQf1yv34448CwA1D2qlTpwQA8emnnwohhEhPTxcAxHPPPSf8/f3lcoMGDRK9e/eWXxval15vnwlAuLm5ySFPCCHy8/OFmZmZiI2NvW4dr/18P/roo8LGxkZuq2tDWmOOV40Nae7u7qK4uFgeV3u8DQkJ0Qtky5cvFwDE0aNHDW5TTU2NqKysFGfPnhUAxNdff11n3dce46ZNmyYsLS311tMU7WpomDx5st4xqrH77Bsx6uXOTz/9FAcOHNAb9u/fL0+vvZQ5ZswYbN68GX/++WeTrDckJAReXl7y68DAQABXLt1cfYqxdvzVlzKLi4sxd+5c3HXXXVCpVFCpVLC1tUVJSQlOnDhxw3VnZGTgwoULmDRpEqqqquShpqYGQ4YMwYEDB1BSUoKSkhIcOHAADz30ECwtLeX57ezsMGLEiBuu56677oKDgwPmzp2LNWvW4Pjx43XK7Nq1CwDqXFJ75JFHYGNjY/Dyq7Ht2rULHTt2RM+ePfXGT548GUIIuc61hg8fDnNzc/l1586dAei/Z7ciJCQEarUaTz75JD755JMGXQq62siRI/VeX1u/tLQ0AFc+41cbPXo0VKqmvSW0rKwM3333HR588EFYW1vrff6GDRuGsrKyOpeKb1T/hhg5cqTB+yu+/PJL9OnTB7a2tlCpVLCwsMDatWsb9D26GVf2w03n1KlT+O9//4tHH30UAOq0Z15ent6lYQB4+OGH9V7v3LkTVVVVmDhxot78lpaW6N+/f53bCSRJqvP979y5s9778e2338LS0lK+LcSQ7du3Q5IkPPbYY3rrdXd3R5cuXRrcwz4iIkLvdWBgICRJwtChQ+VxKpUKd911l14dt2/fjqCgIISEhOitPzw8vNE9/G/0Gd29ezeAuvu5nj17IjAwUN7P7d27F2VlZfL7Wat3797w9fW9YT3atm0LPz8/pKamArhySS44OBiPPfYYsrKycPr0aZSXlyM9PR1hYWEN3j5DQkNDYWdnJ792c3ODq6tro/d7r732GiorK7Fo0SKD0xt6vLrZbbCxsZFf1x5vhw4dqnd51NBxuPaGe29vb3nfUfseGdp/GPqMlJWVoaCgoE6dbqVdn332WTnL7N69G4sXL8bmzZsxbty4Bs1/M4zacSAwMPC6HQf69euHxMREvPfee5g4cSLKy8vRqVMnvPDCC7e00Y6Ojnqv1Wr1dcdffQ/L+PHj8d1332HBggXo0aMH7O3tIUkShg0bhtLS0huu+3//+x+AKwfh+ly4cAGSJKGmpgbu7u51phsady2tVou0tDS8/vrreP7551FYWAgPDw/8+9//xosvvggLCwv8/fffUKlUcHFx0ZtXkiS4u7vj77//vuF6mtrff/9t8L4GT09PefrVnJyc9F7X3pDekPeiIdq2bYvU1FQsXboUUVFRKCkpQZs2bfDMM8/g2WefveH8N6pf7fa4ubnplVOpVHXmNcTHxwcAkJWVZbCn9NX+/vtvVFVVYcWKFVixYoXBMtfe09EU7evh4VFnXHx8PMaMGYNHHnkEc+bMgbu7O1QqFVavXo2PP/64wctujNodbe1n6VbVfpdnz56N2bNnGyxzbXte2xa1y6j9D+m1zMz0/59sbW2t95824Mp7cvU+6vz58/D09Kwz77XrFULU+dzVatOmTb3zXs3QPtNQHdVqNYqKivTWf+rUqXpvjm7MIyAa+h0z9Dn09PSUPxe15W52nwsAAwcOxI4dOwBcuY9r0KBBCA4OhpubG1JTU9GuXTuUlpbeckgztG/QaDSN3u/5+flh2rRpWLlyJWbNmlVnekOPV1eHrYa62eNwTU0NBg8ejNzcXCxYsADBwcGwsbFBTU0N7rnnHoNt0ND92K22a+vWrfUyzYABAyBJEubPn4+dO3ciPDy8UfvshjBqSGuIBx54AA888ADKy8uxb98+xMbGYvz48fDz88O9997brHXR6XTYvn07Xn75ZcybN08eX15ejgsXLjRoGc7OzgCAFStW1Nujx83NDZWVlZAkCfn5+XWmGxpnSHBwMDZt2gQhBI4ePYq4uDi88sorsLKywrx58+Dk5ISqqiqcP39eL6gJIZCfn1/vgQOAvBO+9oblW32+jpOTE/Ly8uqMr70RuLb9btXV9b+6p6Gh+t9333247777UF1djYMHD2LFihWIjo6Gm5sbxo4de0v1qN0p/O9//9M7u1tVVdWgkBweHo4PPvgAiYmJep9JQxwcHGBubo4JEyYgKirKYBl/f/9G1L5hDHXQ+Oyzz+Dv748vvvhCb/q1n6emIoTAtm3bYGNj02Q9yms/i/Pnz8dDDz1ksExAQIDe62vbonYZW7ZsadDZmoZwcXFBeno6ampq6g1qzs7OkCQJP/zwg8GetsbqfXv1+q2srOoN5E31PQf++Y7l5eXV6e2fm5srr6u2XH373IY8SmngwIFYu3YtfvrpJ+zfvx8vvvgigCs36qekpODs2bOwtbU1WW9wQ1588UV8/PHHeP755+t0fGjo8Qq4sk819P1t6meuHTt2DEeOHEFcXBwmTZokj7+2c4FS1J7ZPXLkCMLDwxu1z24Ik/furKXRaNC/f3+5+3xtz6emPnNyPZIkQQhRZwf20Ucf1XlYXX316tOnD1q1aoXjx4+je/fuBge1Wi33Lo2Pj9f7X/KlS5fkXkGNqXeXLl3wzjvvoFWrVvKD8mofMfDZZ5/plf/qq69QUlKi9wiCa9XusI4ePao3fuvWrXXKNuY9GjhwII4fP17nYX6ffvopJElCaGjoDZfREPXV/3pta25ujl69esk9r5riIbH9+vUDcKV339W2bNmCqqqqG87/wAMPIDg4GLGxsTh27JjBMjt37sTly5dhbW2N0NBQ/Pzzz+jcubPBz15Dzt5d62b+By9JEtRqtV5oyc/PN1rvzkWLFuH48eN49tln65zluVkBAQFo164djhw5Uu93+epLJ4aEh4dDpVLh9OnT9S6jsYYOHYqysjK93uTXioiIgBACf/75p8F1BgcHN3q9jREREYHTp0/DycnJ4PqvDkQ38/m62v333w+g7n7uwIEDOHHihLyfu+eee2BpaYnPP/9cr1xGRkaDL3cNHDgQkiRhwYIFMDMzk7/fYWFh2L17N1JSUtCvX78bPl6hOY9rTk5OmDt3LrZs2YKffvpJb1pDj1fAlX1qQUGBfPYNACoqKrBz584mrW/tPuPa4/B//vOfJl1PU6l96LWrqyuAxu2zG8KoZ9KOHTtm8EDUtm1buLi44KWXXkJOTg4GDhyI1q1b4+LFi3j33XdhYWEhP6uobdu2sLKywueff47AwEDY2trC09OzyS5pXM3e3h79+vXDm2++CWdnZ/j5+SEtLQ1r165Fq1at9MrWdq394IMPYGdnB0tLS/j7+8PJyQkrVqzApEmTcOHCBYwePRqurq44f/48jhw5gvPnz2P16tUAgFdffRVDhgzBoEGDEBMTg+rqaixZsgQ2NjY3PHO3fft2rFq1CqNGjUKbNm0ghEB8fDwuXryIQYMGAQAGDRqE8PBwzJ07F0VFRejTpw+OHj2Kl19+GV27dsWECRPqXb67uzvCwsIQGxsLBwcH+Pr64rvvvkN8fHydsrU7/CVLlmDo0KEwNzdH586d5S/31WbOnIlPP/0Uw4cPxyuvvAJfX1988803WLVqFaZOndpkDxAdNmwYHB0dMWXKFLzyyitQqVSIi4tDdna2Xrk1a9Zg165dGD58OHx8fFBWVib/7/9WL1kAQKdOnTBu3Di8/fbbMDc3x/33349ff/0Vb7/9NrRa7XUvWQFXgmNCQgIGDx6Me++9F1OnTpXv9Th79iy2bNmCbdu2obCwEADw7rvvom/fvrjvvvswdepU+Pn54dKlSzh16hS2bdtW556/hggODkZ8fDxWr16Nbt26wczM7IbhIiIiAvHx8Zg2bRpGjx6N7OxsvPrqq/Dw8MDvv//e6DrUunjxonxfXUlJifww2x9++AFjxoyp996bm/Wf//wHQ4cORXh4OCZPngwvLy9cuHABJ06cwOHDh/UevWCIn58fXnnlFbzwwgv4448/MGTIEDg4OOB///sffvrpJ9jY2DS6zuPGjcO6devw9NNP4+TJkwgNDUVNTQ3279+PwMBAjB07Fn369MGTTz6Jxx9/HAcPHkS/fv1gY2ODvLw8pKenIzg4GFOnTr2Vprmu6OhofPXVV+jXrx9mzpyJzp07o6amBufOnUNycjJiYmLQq1cvAFc+X3v27MG2bdvg4eEBOzu7OmcorycgIABPPvkkVqxYATMzMwwdOhRnzpzBggUL4O3tjZkzZwK4cqZ59uzZeO211/Cvf/0LjzzyCLKzs7Fw4cIGX+50dXVFUFAQkpOTERoaKt/jHBYWhgsXLuDChQtYtmzZDZfTmH1mU4iOjsb7779f53Ejtra2DT5eRUZG4qWXXsLYsWMxZ84clJWV4b333jP4tP1b0aFDB7Rt2xbz5s2DEAKOjo7Ytm0bUlJSmnQ9N+PcuXN6+5+9e/ciNjYWvr6+8tn2xu6zb6hJuh9c43q9O3FVr6Tt27eLoUOHCi8vL6FWq4Wrq6sYNmyYXhd6Ia70hOvQoYOwsLDQ661VX+9OQz3AAIioqCi9cYZ6euXk5IiHH35YODg4CDs7OzFkyBBx7Ngxgz3Qli9fLvz9/YW5uXmdHo9paWli+PDhwtHRUVhYWAgvLy8xfPjwOr3Htm7dKjp37izUarXw8fERb7zxRr09E6/23//+V4wbN060bdtWWFlZCa1WK3r27Cni4uL0ypWWloq5c+cKX19fYWFhITw8PMTUqVP1Hi8hRN3enUIIkZeXJ0aPHi0cHR2FVqsVjz32mNyr9OptLS8vF//617+Ei4uLkCRJr/ekoXY7e/asGD9+vHBychIWFhYiICBAvPnmm3JPOSHq74UnRN0ee/X56aefRO/evYWNjY3w8vISL7/8svjoo4/06rd3717x4IMPCl9fX6HRaISTk5Po379/nR6/166z9jN+be81Qz25ysrKxKxZs4Srq6uwtLQU99xzj9i7d6/QarVi5syZN9wOIYS4ePGiePXVV8Xdd98tbG1thYWFhfDx8RGPPfaY+PHHH/XKZmVliSeeeEJ4eXkJCwsL4eLiInr37i1ee+21OvW89vNoqPfuhQsXxOjRo0WrVq3k9/fqsobeIyGEeOONN4Sfn5/QaDQiMDBQfPjhh/V+Zxvau7N2HyJJkrC1tRUBAQFiwoQJYufOnQbnufZ9a2zvTiGEOHLkiBgzZoxwdXUVFhYWwt3dXdx///1izZo1cpn6Pg+1EhMTRWhoqLC3txcajUb4+vqK0aNH13nEgY2NTZ15DbVZaWmpeOmll0S7du2EWq0WTk5O4v777xcZGRl65T7++GPRq1cvYWNjI6ysrETbtm3FxIkTxcGDBw3W89p1Xv2ohuvVsX///qJTp05644qLi8WLL74oAgIChFqtlh8NM3PmTL1HgGRmZoo+ffoIa2trvV6WjfmOVVdXiyVLloj27dsLCwsL4ezsLB577DH5cU21ampqRGxsrPD29hZqtVp07txZbNu2zeD+rz4zZ84UAMTrr7+uN75du3YGeykaqu/19pmGjlVCNOx7cr3v5AcffCB/f659Xxt6vEpKShIhISHCyspKtGnTRqxcubLe3p0NOd5e3T5Xr+v48eNi0KBBws7OTjg4OIhHHnlEnDt3rs73ub7P6bW9+OurkxCNa9erB0tLS9G+fXsRHR0t9569WmP22dcj/X/liagZZWRkoE+fPvj888/lnxkhIiK6GkMakZGlpKRg79696NatG6ysrHDkyBG88cYb0Gq1OHr0aJPdQ0VERC2LyXt3ErV09vb2SE5OxvLly3Hp0iU4Oztj6NChiI2NZUAjIqJ68UwaERERkQIp5hEcRERERPQPhjQiIiIiBWJIIyIiIlIgdhzAld8Ky83NhZ2dncGfuCEiIiLlEULg0qVLN/w929sVQxqu/L6bt7e3qatBRERENyE7O7vOb7e2BAxpgPz7e9nZ2bC3tzdxbYiIiKghioqK4O3tfcPf0b1dMaThnx90tbe3Z0gjIiK6zbTUW5Va3gVcIiIiohaAIY2IiIhIgRjSiIiIiBSI96QREbVg1dXVqKysNHU1iG6KhYUFzM3NTV0Nk2FIIyJqgYQQyM/Px8WLF01dFaJb0qpVK7i7u7fYzgHXw5BGRNQC1QY0V1dXWFtb35EHOLq9CSFw+fJlFBQUAAA8PDxMXKPmx5BGRNTCVFdXywHNycnJ1NUhumlWVlYAgIKCAri6ut5xlz7ZcYCIqIWpvQfN2traxDUhunW1n+M78d5KhjQiohaKlzipJbiTP8cMaUREREQKxJBmREdzLmLcB/twNOeiqatCRHTHiouLQ6tWrUxdjUYxdp0XLlyIkJCQW17O7di2txOGNCOKP/wn9v7xN+IP/2nqqhAR3RYmT54MSZLqDEOGDGnQ/H5+fli+fLneuMjISPz2229GqK2+lh5YTNm2dyr27mxiOYWXUVhSCUkCth3JBXDl7+hurSEE4GBjgdYOvJmXiG4fR3MuIjbpv5g/rAM6t25l9PUNGTIE69at0xun0WhuenlWVlZyL0FqWmxb4+KZtCbWd8lujFiZjogV6bhQUgEAuFBSgYgV6RixMh19l+w2cQ2JiBqnua8KaDQauLu76w0ODg7y9IULF8LHxwcajQaenp545plnAAADBgzA2bNnMXPmTPkMHFD3DFftpb6PP/4YPj4+sLW1xdSpU1FdXY2lS5fC3d0drq6ueP311/XqtWzZMgQHB8PGxgbe3t6YNm0aiouLAQB79uzB448/Dp1OJ6974cKFAICKigo899xz8PLygo2NDXr16oU9e/boLTsuLg4+Pj6wtrbGgw8+iL///vu6bVRRUYHp06fDw8MDlpaW8PPzQ2xsrDz93LlzeOCBB2Brawt7e3uMGTMG//vf/+pd3oABAxAdHa03btSoUZg8eXKj2hYAVq9ejbZt20KtViMgIADr16/Xmy5JEj766CM8+OCDsLa2Rrt27bB169brbu+diiGtiS2PDIHK7MqHV/z/uNq/KjMJyyNDTFEtIqJGySm8jF9ydDj2p07vqsCxP3X4JUeHnMLLJqnXli1b8M477+A///kPfv/9dyQmJiI4OBgAEB8fj9atW+OVV15BXl4e8vLy6l3O6dOn8e2332LHjh3YuHEjPv74YwwfPhw5OTlIS0vDkiVL8OKLL2Lfvn3yPGZmZnjvvfdw7NgxfPLJJ9i1axeee+45AEDv3r2xfPly2Nvby+uePXs2AODxxx/Hjz/+iE2bNuHo0aN45JFHMGTIEPz+++8AgP379+OJJ57AtGnTkJmZidDQULz22mvXbYf33nsPW7duxebNm3Hy5El89tln8PPzA3DlIbCjRo3ChQsXkJaWhpSUFJw+fRqRkZE33e4NbduEhAQ8++yziImJwbFjx/DUU0/h8ccfx+7d+icoFi1ahDFjxuDo0aMYNmwYHn30UVy4cOGm69dS8XJnExvV1Qt3udoiYkV6nWmJUX0Q5KU1Qa2IiBrn6rP+tQ9AqL0qUOvMG8ONsu7t27fD1tZWb9zcuXOxYMECnDt3Du7u7ggLC4OFhQV8fHzQs2dPAICjoyPMzc1hZ2cHd3f3666jpqYGH3/8Mezs7NCxY0eEhobi5MmTSEpKgpmZGQICArBkyRLs2bMH99xzDwDonWny9/fHq6++iqlTp2LVqlVQq9XQarWQJElv3adPn8bGjRuRk5MDT09PAMDs2bOxY8cOrFu3DosXL8a7776L8PBwzJs3DwDQvn17ZGRkYMeOHfXW/9y5c2jXrh369u0LSZLg6+srT0tNTcXRo0eRlZUFb29vAMD69evRqVMnHDhwAD169LjRW1BHQ9v2rbfewuTJkzFt2jQAwKxZs7Bv3z689dZbCA0NlctNnjwZ48aNAwAsXrwYK1aswE8//dTgew/vFDyTZkS1j3a5gx/xQkS3KVNeFQgNDUVmZqbeEBUVBQB45JFHUFpaijZt2uDf//43EhISUFVV1eh1+Pn5wc7OTn7t5uaGjh07wszMTG9c7U8SAcDu3bsxaNAgeHl5wc7ODhMnTsTff/+NkpKSetdz+PBhCCHQvn172NraykNaWhpOnz4NADhx4gTuvfdevfmufX2tyZMnIzMzEwEBAXjmmWeQnJwsTztx4gS8vb3lgAYAHTt2RKtWrXDixIkbtMytOXHiBPr06aM3rk+fPnXW27lzZ/nfNjY2sLOz02truoJn0ozAyVYNF1sNPFpZIrKHN744kI28i2VwslWbumpERA1iyqsCNjY2uOuuuwxO8/b2xsmTJ5GSkoLU1FRMmzYNb775JtLS0mBhYdHgdVxbVpIkg+NqamoAAGfPnsWwYcPw9NNP49VXX4WjoyPS09MxZcqU6z4Jv6amBubm5jh06FCdnzSqPVsohDA063XdfffdyMrKwrfffovU1FSMGTMGYWFh2LJlC4QQBh8AW9944Mql3GvrcbNP+L92HYbWe722pn8wpBmBh9YK6fNCoTY3gyRJGN/TBxXVNdCo7qzfHCOilkGSACH++WtqVlZWGDlyJEaOHImoqCh06NABv/zyC+6++26o1WpUV1c3+ToPHjyIqqoqvP322/LZts2bN+uVMbTurl27orq6GgUFBbjvvvsMLrtjx456974BqPPaEHt7e0RGRiIyMhKjR4/GkCFDcOHCBXTs2BHnzp1Ddna2fDbt+PHj0Ol0CAwMNLgsFxcXvfvMqqurcezYMb1LlA1p28DAQKSnp2PixInyuIyMjHrXS9fHkGYkVwcySZIY0IjotmOqqwLl5eXIz8/XG6dSqeDs7Iy4uDhUV1ejV69esLa2xvr162FlZSXfk+Xn54fvv/8eY8eOhUajgbOzc5PUqW3btqiqqsKKFSswYsQI/Pjjj1izZo1eGT8/PxQXF+O7775Dly5dYG1tjfbt2+PRRx/FxIkT8fbbb6Nr167466+/sGvXLgQHB2PYsGF45pln0Lt3byxduhSjRo1CcnLyde9HA4B33nkHHh4eCAkJgZmZGb788ku4u7ujVatWCAsLQ+fOnfHoo49i+fLlqKqqwrRp09C/f390797d4PLuv/9+zJo1C9988w3atm2Ld955BxcvXqyzfTdq2zlz5mDMmDG4++67MXDgQGzbtg3x8fFITU1tXIMTAN6TRkRE9ai9KvB1VB882ssXX0f1Qfq8UHhojftcrB07dsDDw0Nv6Nu3LwCgVatW+PDDD9GnTx907twZ3333HbZt2wYnJycAwCuvvIIzZ86gbdu2cHFxabI6hYSEYNmyZViyZAmCgoLw+eef6z3yArjSw/Ppp59GZGQkXFxcsHTpUgDAunXrMHHiRMTExCAgIAAjR47E/v375bNc99xzDz766COsWLECISEhSE5Oxosvvnjd+tja2mLJkiXo3r07evTogTNnzsidHiRJQmJiIhwcHNCvXz+EhYWhTZs2+OKLL+pd3hNPPIFJkyZh4sSJ6N+/P/z9/fXOogENa9tRo0bh3XffxZtvvolOnTrhP//5D9atW4cBAwbcqInJAEnczMXwFqaoqAharRY6nQ729vamrg4R0S0pKytDVlYW/P39YWlpaerqEN2S632eW/rxm2fSiIiIiBSIIY2IiIhIgRjSiIiIiBSIIY2IiIhIgRjSiIhaKPYLo5bgTv4cM6QREbUwtU9zv3zZND+CTtSUaj/HjflFiZaCD7MlImphzM3N0apVK/m3EK2trev9OSAipRJC4PLlyygoKECrVq3q/KzWnYAhjYioBXJ3dwcA/mg13fZatWolf57vNAxpREQtkCRJ8PDwgKur603/UDaRqVlYWNyRZ9BqmTSkxcbGIj4+Hv/9739hZWWF3r17Y8mSJQgICDBY/qmnnsIHH3yAd955B9HR0fL48vJyzJ49Gxs3bkRpaSkGDhyIVatWoXXr1s20JUREymRubn5HH+SIbmcm7TiQlpaGqKgo7Nu3DykpKaiqqsLgwYNRUlJSp2xiYiL2798PT0/POtOio6ORkJCATZs2IT09HcXFxYiIiEB1dXVzbAYRERFRkzPpmbQdO3bovV63bh1cXV1x6NAh9OvXTx7/559/Yvr06di5cyeGDx+uN49Op8PatWuxfv16hIWFAQA+++wzeHt7IzU1FeHh4cbfECIiIqImpqhHcOh0OgCAo6OjPK6mpgYTJkzAnDlz0KlTpzrzHDp0CJWVlRg8eLA8ztPTE0FBQcjIyDC4nvLychQVFekNREREREqimJAmhMCsWbPQt29fBAUFyeOXLFkClUqFZ555xuB8+fn5UKvVcHBw0Bvv5uaG/Px8g/PExsZCq9XKg7e3d9NtCBEREVETUExImz59Oo4ePYqNGzfK4w4dOoR3330XcXFxjX7GjxCi3nnmz58PnU4nD9nZ2bdUdyIiIqKmpoiQNmPGDGzduhW7d+/W65H5ww8/oKCgAD4+PlCpVFCpVDh79ixiYmLg5+cH4MqzgCoqKlBYWKi3zIKCAri5uRlcn0ajgb29vd5AREREpCQmDWlCCEyfPh3x8fHYtWsX/P399aZPmDABR48eRWZmpjx4enpizpw52LlzJwCgW7dusLCwQEpKijxfXl4ejh07ht69ezfr9hARERE1FZP27oyKisKGDRvw9ddfw87OTr6HTKvVwsrKCk5OTnByctKbx8LCAu7u7vKz1LRaLaZMmYKYmBg4OTnB0dERs2fPRnBwsNzbk4iIiOh2Y9KQtnr1agDAgAED9MavW7cOkydPbvBy3nnnHahUKowZM0Z+mG1cXBwf4EhERES3LUkIIUxdCVMrKiqCVquFTqfj/WlERES3iZZ+/FZExwEiIiIi0seQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECmTSkBYbG4sePXrAzs4Orq6uGDVqFE6ePClPr6ysxNy5cxEcHAwbGxt4enpi4sSJyM3N1VtOeXk5ZsyYAWdnZ9jY2GDkyJHIyclp7s0hIiIiajImDWlpaWmIiorCvn37kJKSgqqqKgwePBglJSUAgMuXL+Pw4cNYsGABDh8+jPj4ePz2228YOXKk3nKio6ORkJCATZs2IT09HcXFxYiIiEB1dbUpNouIiIjolklCCGHqStQ6f/48XF1dkZaWhn79+hksc+DAAfTs2RNnz56Fj48PdDodXFxcsH79ekRGRgIAcnNz4e3tjaSkJISHh99wvUVFRdBqtdDpdLC3t2/SbSIiIiLjaOnHb0Xdk6bT6QAAjo6O1y0jSRJatWoFADh06BAqKysxePBguYynpyeCgoKQkZFhcBnl5eUoKirSG4iIiIiURDEhTQiBWbNmoW/fvggKCjJYpqysDPPmzcP48ePlxJyfnw+1Wg0HBwe9sm5ubsjPzze4nNjYWGi1Wnnw9vZu2o0hIiIiukWKCWnTp0/H0aNHsXHjRoPTKysrMXbsWNTU1GDVqlU3XJ4QApIkGZw2f/586HQ6ecjOzr6luhMRERE1NZWpKwAAM2bMwNatW/H999+jdevWdaZXVlZizJgxyMrKwq5du/SuO7u7u6OiogKFhYV6Z9MKCgrQu3dvg+vTaDTQaDRNvyFERERETcSkZ9KEEJg+fTri4+Oxa9cu+Pv71ylTG9B+//13pKamwsnJSW96t27dYGFhgZSUFHlcXl4ejh07Vm9IIyIiIlI6k55Ji4qKwoYNG/D111/Dzs5OvodMq9XCysoKVVVVGD16NA4fPozt27ejurpaLuPo6Ai1Wg2tVospU6YgJiYGTk5OcHR0xOzZsxEcHIywsDBTbh4RERHRTTPpIzjqu2ds3bp1mDx5Ms6cOWPw7BoA7N69GwMGDABwpUPBnDlzsGHDBpSWlmLgwIFYtWpVgzsEtPQuvERERC1RSz9+K+o5aabS0t9kIiKilqilH78V07uTiIiIiP7BkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERApk0pAWGxuLHj16wM7ODq6urhg1ahROnjyp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AODu7o6KigoUFhbqzVtQUAA3N7d6l63RaGBvb683EBERESmJYkPahAkTcPToUWRmZsqDp6cn5syZg507dwIAunXrBgsLC6SkpMjz5eXl4dixY+jdu7epqk5ERER0y0zau7O4uBinTp2SX2dlZSEzMxOOjo7w8fGBk5OTXnkLCwu4u7sjICAAAKDVajFlyhTExMTAyckJjo6OmD17NoKDg+XenkRERES3I5OGtIMHDyI0NFR+PWvWLADApEmTEBcX16BlvPPOO1CpVBgzZgxKS0sxcOBAxMXFwdzc3BhVJiIiImoWkhBCmLoSplZUVAStVgudTsf704iIiG4TLf34rdh70oiIiIjuZAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRERERArEkEZERESkQAxpRNRgR3MuYtwH+3A056Kpq0JE1OIxpBFRg8Uf/hN7//gb8Yf/NHVViIhaPJWpK0BEypZTeBmFJZWQJGDbkVwAV/6O7tYaQgAONhZo7WBt4loSEbU8DGlEdF19l+yW/y39/98LJRWIWJEujz/zxvBmrhURUcvHy51EdF3LI0OgMrsSz8T/j6v9qzKTsDwyxBTVIiJq8XgmjYiua1RXL9zlaqt35qxWYlQfBHlpTVArIqKWj2fSiKjBJEn/LxERGQ/PpBHRDTnZquFiq4FHK0tE9vDGFweykXexDE62alNXjYioxZKEEOLGxVq2oqIiaLVa6HQ62Nvbm7o6RIpUXlUNtbkZJEmCEAIV1TXQqMxNXS0iuoO19OM3z6QRUYNcHcgkSWJAIyIyMt6TRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECsSQRkRERKRADGlERERECmTSkPb9999jxIgR8PT0hCRJSExMlKdVVlZi7ty5CA4Oho2NDTw9PTFx4kTk5ubqLaO8vBwzZsyAs7MzbGxsMHLkSOTk5DTzlhARERE1LZOGtJKSEnTp0gUrV66sM+3y5cs4fPgwFixYgMOHDyM+Ph6//fYbRo4cqVcuOjoaCQkJ2LRpE9LT01FcXIyIiAhUV1c312YQERERNTnF/HanJElISEjAqFGj6i1z4MAB9OzZE2fPnoWPjw90Oh1c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",
+      "text/plain": [
+       "<Figure size 640x480 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The estimated temperature at the nodes are: ['250.00', '174.84', '128.64', '102.18', '90.15', '90.15'] [C]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt\n",
+    " \n",
+    "Ts = 30\n",
+    "alpha = 500\n",
+    "dx=0.02\n",
+    " \n",
+    "# grid creation\n",
+    "x = np.arange(0,0.1+dx,dx)\n",
+    "T = np.zeros(x.shape)\n",
+    "n=len(x)\n",
+    " \n",
+    "# boundary conditions\n",
+    "T[0] = 250\n",
+    " \n",
+    " \n",
+    "# Building matrix A\n",
+    "matrix_element = -(2+dx**2*alpha)\n",
+    "A = np.zeros((len(x)-2,len(x)-2))\n",
+    "np.fill_diagonal(A, matrix_element)\n",
+    "A[np.arange(n-3), np.arange(1, n-2)] = 1  # Upper diagonal\n",
+    "A[np.arange(1, n-2), np.arange(n-3)] = 1  # Lower diagonal\n",
+    " \n",
+    "A[-1,-1] = -(1+dx**2*alpha)  #the lower right corner of the matrix changes\n",
+    " \n",
+    "# Building vector b\n",
+    "b_element = -dx**2*alpha*Ts\n",
+    "b = np.zeros(len(x)-2) + b_element\n",
+    "b[0] = b[0] - T[0]\n",
+    "b[-1] = b[-1]               #the vector b also changes\n",
+    " \n",
+    "# Solving the system\n",
+    "\n",
+    "T[1:-1] = np.linalg.solve(A,b)\n",
+    "T[-1] = T[-2]  \n",
+    " \n",
+    "plt.plot(x,T,'*',label='Estimated solution')\n",
+    "plt.xlabel('x')\n",
+    "plt.ylabel('T')\n",
+    "plt.title('Estimated solution using Central Difference method with Neumann BC')\n",
+    "plt.legend()\n",
+    "plt.show()\n",
+    " \n",
+    "print(f'The estimated temperature at the nodes are: {[f\"{temp:.2f}\" for temp in T]} [C]')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ac255017",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.3:</b>\n",
+    "\n",
+    "Just as we did in Task 2.1, this task has three parts: a) discretize the analytic expression into a system of equations using <b>forward differences</b>, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.\n",
+    "</div>    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "104690ed",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.3a:</b>\n",
+    "\n",
+    "Discretize the analytic expression into a system of equations for a grid with 6 points using <b>forward differences</b>.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "74174f3a",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "Forward difference for second order differential equation:\n",
+    "\n",
+    "$$\n",
+    "\\frac{T_i-2T_{i+1}+T_{i+2}}{\\Delta x^2}-\\alpha(T_i-T_s) = 0\n",
+    "$$\n",
+    "\n",
+    "**For $i = 0$:**\n",
+    "The finite difference approximation for the first internal node is:\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_0 - 2T_1 + T_2) - \\alpha T_0 + \\alpha T_s = 0\n",
+    "$$\n",
+    "\n",
+    "\n",
+    "$$\n",
+    "-2T_1 +T_2 = -(1+\\alpha)T_0 - \\alpha T_s \\Delta x^2\n",
+    "$$\n",
+    "\n",
+    "**For $i = 1$:**\n",
+    "The finite difference approximation for the second internal node is:\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_1 - 2T_2 + T_3) - \\alpha T_1 + \\alpha T_s = 0\n",
+    "$$\n",
+    "\n",
+    "Rearranging the terms:\n",
+    "\n",
+    "$$\n",
+    "(1 - \\alpha \\Delta x^2)T_1 - 2T_2 + T_3 = -\\alpha T_s \\Delta x^2\n",
+    "$$\n",
+    "\n",
+    "**For $i = 2$:**\n",
+    "The finite difference approximation for the second internal node is:\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_2 - 2T_3 + T_4) - \\alpha T_2 + \\alpha T_s = 0\n",
+    "$$\n",
+    "\n",
+    "Rearranging the terms:\n",
+    "\n",
+    "$$\n",
+    "(1 - \\alpha \\Delta x^2)T_2 - T_3 + T_4 = -\\alpha T_s \\Delta x^2\n",
+    "$$\n",
+    "\n",
+    "**For $i = 3$:**\n",
+    "The finite difference approximation for the second internal node is:\n",
+    "\n",
+    "$$\n",
+    "\\frac{1}{\\Delta x^2}(T_3 - 2T_4 + T_5) - \\alpha T_3 + \\alpha T_s = 0\n",
+    "$$\n",
+    "\n",
+    "Rearranging the terms:\n",
+    "\n",
+    "$$\n",
+    "(1 - \\alpha \\Delta x^2)T_3 - 2T_4 = -\\alpha T_s \\Delta x^2 -T_5\n",
+    "$$\n",
+    "\n",
+    "\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7b12c86e",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.3b:</b>\n",
+    "\n",
+    "Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8d0bbab6",
+   "metadata": {},
+   "source": [
+    "We can now move the equations in the Ax=y form:\n",
+    "\n",
+    "$$\n",
+    "\\begin{bmatrix}\n",
+    " -2  & 1 & 0 & 0 \\\\\n",
+    "(1- \\alpha \\Delta x^2) & -2  & 1 & 0 \\\\\n",
+    "0 & (1- \\alpha \\Delta x^2) & -2 & 1 \\\\\n",
+    "0 & 0 & (1- \\alpha \\Delta x^2) & -2\n",
+    "\\end{bmatrix} \\begin{bmatrix}\n",
+    "T_1 \\\\\n",
+    "T_2 \\\\\n",
+    "T_3 \\\\\n",
+    "T_4\n",
+    "\\end{bmatrix}\n",
+    "=\n",
+    "\\begin{bmatrix}\n",
+    "-\\alpha Ts \\Delta x^2 -T_0\\\\\n",
+    "-\\alpha Ts \\Delta x^2 \\\\\n",
+    "-\\alpha Ts \\Delta x^2\\\\\n",
+    "-\\alpha Ts \\Delta x^2 -T_5\n",
+    "\\end{bmatrix}\n",
+    "$$"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1b304504",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.3c:</b>\n",
+    "\n",
+    "Implement the discretized system of equations in a code cell.\n",
+    "\n",
+    "<b>This time we did not do it for you!</b> Copy the code from Task 2.1c and revise it to solve the system of equations using <b>Forward Differences</b>. Keep the Dirichlet conditions.\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "1e783d3e",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[[-2.       1.       0.      ...  0.       0.       0.     ]\n",
+      " [ 0.99992 -2.       1.      ...  0.       0.       0.     ]\n",
+      " [ 0.       0.99992 -2.      ...  0.       0.       0.     ]\n",
+      " ...\n",
+      " [ 0.       0.       0.      ... -2.       1.       0.     ]\n",
+      " [ 0.       0.       0.      ...  0.99992 -2.       1.     ]\n",
+      " [ 0.       0.       0.      ...  0.       0.99992 -2.     ]]\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABU4ElEQVR4nO3deVxU5f4H8M8wA8MwwLCvIriihlsumJiK+77lXrlky1U0cblp3UpswTS3cuu2aZppaepVMxNSuSFYapm5ZJkbJIS5gCCyPr8/uDM/BgaYgdn5vF+vedWc85xznvNwZubrs0qEEAJEREREdsrB0hkgIiIiMiUGO0RERGTXGOwQERGRXWOwQ0RERHaNwQ4RERHZNQY7REREZNcY7BAREZFdY7BDREREdo3BDhEREdk1BjsWtGnTJkgkkipfR48e1ftcN27cQFxcHE6fPl1pX1xcHCQSifEyboDz588jLi4OV69eNfq5LXFfPXv2RM+ePWt17IEDBxAXF6dzX1hYGKZMmVLrfFkLiURS5T2a49q6Xj4+PhbJj7no+0yGhYVpysTBwQEqlQotW7bEpEmTcOjQIZ3H6Pp7fvvtt+jYsSOUSiUkEgn27NkDAPj888/x0EMPQaFQQCKR6PwuIuOLj4/X/A3KU/++nDx50uR5qMv3ornILJ0BAjZu3IgWLVpU2t6qVSu9z3Hjxg0sXrwYYWFhaNeunda+p59+GgMGDKhrNmvl/PnzWLx4MXr27ImwsDCL5MFaHDhwAOvWrdMZDOzevRvu7u7mz5SRpaamokGDBha7/ujRozFv3jytbY6OjhbKjfWJiorC8uXLAQC5ubm4ePEitm/fjv79++Oxxx7Dtm3btMqr4t9TCIGxY8eiefPm2Lt3L5RKJcLDw3Hz5k08+eSTGDBgANavXw+5XI7mzZub/f7qo/j4eIwePRojRoywdFasGoMdKxAREYGOHTua7PwNGjSw6A8Q1ax9+/aWzoJRdOnSxaLX9/f3N0keSkpKUFxcDLlcbvRz1yQ/Px/Ozs5GqcX08PDQKp8+ffogJiYGcXFxWLx4MV5++WUsXbpUs79iWd64cQO3b9/GyJEj0bt3b832Y8eOoaioCE888QR69OhR53wCxr1vIjZj2YgdO3YgMjISKpUKLi4uaNy4MZ566ikAwNGjR9GpUycAwNSpUzVV1eoaBF3NPWFhYRgyZAj279+P9u3bQ6FQoGXLlti/fz+AsirQli1bQqlUonPnzpWqQk+ePInx48cjLCwMCoUCYWFhmDBhAq5du6ZJs2nTJowZMwYAEB0drcnXpk2bNGkSExPRu3dvuLu7w8XFBVFRUfj2228r3f9XX32Fdu3aQS6Xo1GjRpp/nerjp59+wpAhQ+Dn5we5XI6goCAMHjwY6enpmjQPHjzAiy++iEaNGsHJyQnBwcGIiYnB3bt3qz330aNHdTY5Xr16Vetep0yZgnXr1gHQbm5RN+/pasa6fv06nnjiCU2+W7ZsiRUrVqC0tLTSdZYvX46VK1eiUaNGcHV1xSOPPILjx4/XWDZVNQWqq8DLNz8ePnwYPXv2hLe3NxQKBRo2bIjHHnsM9+/f16Sp2OyhPs+RI0cwffp0+Pj4wNvbG6NGjcKNGze0rllQUIB58+YhICAALi4u6N69O06dOmXUJj5DynTZsmV444030KhRI8jlchw+fBj+/v6IiYnRpC0pKYGnpyccHBzw119/abavXLkSMplM8/zo83kpX16HDh3CU089BV9fX7i4uKCgoABCCCxbtgyhoaFwdnbGww8/jK+//too5RIXF4eHHnoIa9euxYMHDzTbK36PqP/RtGDBAkgkEs3fplu3bgCAcePGQSKRaDVpnDx5EsOGDYOXlxecnZ3Rvn17fPHFF3rfN1DWRPbII49AqVTC1dUV/fv3x08//aR1jilTpsDV1RWXLl3CoEGD4OrqipCQEMybN09zHrWCggK89tpraNmyJZydneHt7Y3o6GikpKRo0gghsH79erRr1w4KhQKenp4YPXo0Ll++rFd5SiQSnDlzBmPGjIFKpYKXlxfmzp2L4uJiXLx4EQMGDICbmxvCwsKwbNmySufIycnB/Pnztb6TYmNjkZeXp/X3ycvLwyeffKL5TqnYnHTv3r0aP3ulpaVYtmwZWrRoAblcDj8/P0yaNEnrO1JdJqZ6Bk1OkMVs3LhRABDHjx8XRUVFWq/i4mJNupSUFCGRSMT48ePFgQMHxOHDh8XGjRvFk08+KYQQIjs7W3Oul19+WaSmporU1FSRlpYmhBBi0aJFouKfOjQ0VDRo0EBERESIbdu2iQMHDojIyEjh6OgoXn31VREVFSV27doldu/eLZo3by78/f3F/fv3Ncfv2LFDvPrqq2L37t0iKSlJbN++XfTo0UP4+vqKmzdvCiGEyMrKEvHx8QKAWLdunSZfWVlZQgghtmzZIiQSiRgxYoTYtWuX2LdvnxgyZIiQSqUiMTFRc63ExEQhlUpFt27dxK5du8SOHTtEp06dRMOGDSvdV0W5ubnC29tbdOzYUXzxxRciKSlJfP755+If//iHOH/+vBBCiNLSUtG/f38hk8nEK6+8Ig4dOiSWL18ulEqlaN++vXjw4IHmfD169BA9evTQvD9y5IgAII4cOaJ13StXrggAYuPGjUIIIS5duiRGjx4tAGjKITU1VXPu0NBQMXnyZM3xWVlZIjg4WPj6+or33ntPHDx4UMycOVMAENOnT690nbCwMDFgwACxZ88esWfPHtG6dWvh6ekp7t69W2356Ho2hPj/Z/PKlSua6zg7O4u+ffuKPXv2iKNHj4qtW7eKJ598Uty5c0dzHACxaNGiSudp3LixmDVrlvjmm2/Ehx9+KDw9PUV0dLTWNSdMmCAcHBzEwoULxaFDh8Tq1atFSEiIUKlUWmVTFQBixowZlT5LpaWltSrT4OBgER0dLXbu3CkOHTokrly5IsaPHy+aN2+uSXv8+HEBQCgUCrF161bN9oEDB4rOnTtr3uvzeSlfXsHBweLZZ58VX3/9tdi5c6coLi7W/K2mTZsmvv76a/H++++L4OBgERAQoPVMViU0NFQMHjy4yv0LFy4UAMR3332nVabqv2daWprYtWuXACBmzZolUlNTxY8//iguXbok1q1bJwCI+Ph4kZqaKs6dOyeEEOLw4cPCyclJPProo+Lzzz8XBw8eFFOmTNH6bNR032+++aaQSCTiqaeeEvv37xe7du0SjzzyiFAqlZrrCCHE5MmThZOTk2jZsqVYvny5SExMFK+++qqQSCRi8eLFmnRFRUUiOjpayGQyMX/+fHHgwAGxd+9e8dJLL4lt27Zp0j3zzDPC0dFRzJs3Txw8eFB89tlnokWLFsLf319kZmZWW9bqv1V4eLh4/fXXRUJCgnjhhRcEADFz5kzRokUL8e6774qEhAQxdepUAUB8+eWXmuPz8vJEu3bthI+Pj1i5cqVITEwU77zzjlCpVKJXr16aZzo1NVUoFAoxaNAgzXeKukwM+ew9++yzmrwdPHhQvPfee8LX11eEhIRoPZ91fQYticGOBakfRl0vqVSqSbd8+XIBoNofrhMnTlT6AlGrKthRKBQiPT1ds+306dMCgAgMDBR5eXma7Xv27BEAxN69e6u8fnFxscjNzRVKpVK88847mu07duzQGQzk5eUJLy8vMXToUK3tJSUlom3btlo/FJGRkSIoKEjk5+drtuXk5AgvL68ag52TJ08KAGLPnj1Vpjl48KAAIJYtW6a1/fPPPxcAxPvvv6/ZVttgRwghYmJiqsxvxWBH/cPz/fffa6WbPn26kEgk4uLFi1rXad26tVaA/MMPPwgAWl/euugb7OzcuVMAEKdPn672fFUFOzNmzNBKt2zZMgFAZGRkCCGEOHfunAAgFixYoJVu27ZtAoDewY6u1wcffCCEMLxMmzRpIgoLC7XSfvjhhwKAuH79uhBCiDfeeEO0aNFCDBs2TEydOlUIIURhYaFQKpXipZdeqjKvVX1e1OU1adIkrfR37twRzs7OYuTIkVrbjx07JgAYJdjZsGGDACA+//xzzbaKf0912bz99ttax6o/Bzt27NDa3qJFC9G+fXtRVFSktX3IkCEiMDBQlJSUVHvf169fFzKZTMyaNUtr+71790RAQIAYO3asZtvkyZMFAPHFF19opR00aJAIDw/XvN+8ebPWc6FLamqqACBWrFihtT0tLU0oFArxwgsvVHmsEP//uap4fLt27QQAsWvXLs22oqIi4evrK0aNGqXZtmTJEuHg4CBOnDihdbz6c3jgwAHNNqVSqfPzoe9n78KFCzrTff/99wKA5jk2xjNoSWzGsgKbN2/GiRMntF7ff/+9Zr+6iWrs2LH44osv8Oeffxrluu3atUNwcLDmfcuWLQGU9ax3cXGptL18lXtubi4WLFiApk2bQiaTQSaTwdXVFXl5ebhw4UKN105JScHt27cxefJkFBcXa16lpaUYMGAATpw4gby8POTl5eHEiRMYNWoUnJ2dNce7ublh6NChNV6nadOm8PT0xIIFC/Dee+/h/PnzldIcPnwYACo1lYwZMwZKpVJns5qpHT58GK1atULnzp21tk+ZMgVCCE2e1QYPHgypVKp536ZNGwCo1ExSW+3atYOTkxOeffZZfPLJJ3pV5Zc3bNgwrfcV85eUlASg7Bkvb/To0ZDJ9O9aOHbs2EqfJXXHTUPLdNiwYZU6N/fp0wdAWfMrACQkJKBv377o06cPEhISAJR16s3Ly9OkBQz/vDz22GNa71NTU/HgwQM8/vjjWtu7du2K0NBQfYunWkIIo5xH7dKlS/j11181eS7/OR80aBAyMjJw8eJFrWMq3vc333yD4uJiTJo0Set4Z2dn9OjRo1LzsUQiqfS90KZNG63Pwddffw1nZ2dNNwBd9u/fD4lEgieeeELrugEBAWjbtq3eI2WHDBmi9b5ly5aQSCQYOHCgZptMJkPTpk218rh//35ERESgXbt2Wtfv37+/wSN1a/rsHTlyBEDl77/OnTujZcuWmu8/czyDpsQOylagZcuW1XZQ7t69O/bs2YN3330XkyZNQkFBAR566CH861//woQJE2p9XS8vL633Tk5O1W4v35Y/ceJEfPvtt3jllVfQqVMnuLu7QyKRYNCgQcjPz6/x2ur+DaNHj64yze3btyGRSFBaWoqAgIBK+3Vtq0ilUiEpKQlvvvkmXnrpJdy5cweBgYF45pln8PLLL8PR0RG3bt2CTCaDr6+v1rESiQQBAQG4detWjdcxtlu3bukcvRYUFKTZX563t7fWe3VHWn3+Fvpo0qQJEhMTsWzZMsTExCAvLw+NGzfG888/j9mzZ9d4fE35U9+Pv7+/VjqZTFbp2Or4+vpW+VkytEwDAwMrpQ0NDdWUxbhx45Camop58+ahadOmeP7553Hx4kUkJiZCoVCga9eumuMM/bxUvLY6b7X9HOhD/eOnLo+6Un/G58+fj/nz5+tM8/fff2u9r3jf6nOo/8FXkYOD9r/XXVxctP5RBJQ9a+W/u27evImgoKBKx1a8rhCi0vOo1rhx4yqPLU/Xd6muPDo5OSEnJ0fr+pcuXapyJGHFcquOvp89Xc97UFCQ5rkwxzNoSgx2bMTw4cMxfPhwFBQU4Pjx41iyZAkmTpyIsLAwPPLII2bNS3Z2Nvbv349FixZh4cKFmu0FBQW4ffu2XudQz32yZs2aKkfP+Pv7o6ioCBKJBJmZmZX269qmS+vWrbF9+3YIIXDmzBls2rQJr732GhQKBRYuXAhvb28UFxfj5s2bWgGPEAKZmZlVftEC0HxpVewAaciXkS7e3t7IyMiotF3dsdBYc8eUz3/5kUa68v/oo4/i0UcfRUlJCU6ePIk1a9YgNjYW/v7+GD9+fJ3yof5C/uuvv7RqG4uLi40WbBpaplWNAurduzf+85//ICkpCaWlpejZsyfc3NwQFBSEhIQEJCYm4tFHH9WUZ20+LxWvrS6fqj4HdZ3WQQiBffv2QalUGm1kqLo8X3zxRYwaNUpnmvDwcK33Fe9bfY6dO3carfbA19cXycnJKC0trTLg8fHxgUQiwXfffadzBJ6pR+X5+PhAoVDg448/rnK/saifrYyMjEqjdm/cuKG5lqmfQVNjM5aNkcvl6NGjh2Z4qHpEgrH/JV8diUQCIUSlD/yHH36IkpKSSvnVla+oqCh4eHjg/Pnz6Nixo86Xk5OTZjTYrl27tP51du/ePezbt8/gfLdt2xarVq2Ch4cHfvzxRwDQDKH99NNPtdJ/+eWXyMvL0xpiW5H6A37mzBmt7Xv37q2U1pC/Ue/evXH+/HlNHtU2b94MiUSC6OjoGs+hj6ryX13ZSqVSREZGakaXVcxjbXTv3h1A2aib8nbu3Ini4uI6nx8wXpn26dMHf/31F1avXo0uXbrAzc1Nc/7du3fjxIkTWk1YhnxeqtKlSxc4Oztj69atWttTUlKM0lS5ePFinD9/HrNnz65U61Bb4eHhaNasGX7++ecqP+PqsqtK//79IZPJ8Mcff1R5DkMNHDgQDx480BoVWtGQIUMghMCff/6p85qtW7c2+LqGGDJkCP744w94e3vrvH75wEIul9fpe79Xr14AKn//nThxAhcuXNB8/5n6GTQ11uxYgbNnz+r8Qm/SpAl8fX3x6quvIj09Hb1790aDBg1w9+5dvPPOO3B0dNTMadGkSRMoFAps3boVLVu2hKurK4KCgoxWJV2eu7s7unfvjrfffhs+Pj4ICwtDUlISPvroI3h4eGiljYiIAAC8//77cHNzg7OzMxo1agRvb2+sWbMGkydPxu3btzF69Gj4+fnh5s2b+Pnnn3Hz5k1s2LABAPD6669jwIAB6Nu3L+bNm4eSkhIsXboUSqWyxpqk/fv3Y/369RgxYgQaN24MIQR27dqFu3fvom/fvgCAvn37on///liwYAFycnIQFRWFM2fOYNGiRWjfvj2efPLJKs8fEBCAPn36YMmSJfD09ERoaCi+/fZb7Nq1q1Ja9Rfk0qVLMXDgQEilUrRp00bTTFjenDlzsHnzZgwePBivvfYaQkND8dVXX2H9+vWYPn260SZsGzRoELy8vDBt2jS89tprkMlk2LRpE9LS0rTSvffeezh8+DAGDx6Mhg0b4sGDB5p/dZb/Ya+thx56CBMmTMCKFSsglUrRq1cvnDt3DitWrIBKpaq2yUFfxirTXr16aYZJL168WLO9T58+mDx5sub/1Qz5vFTF09MT8+fPxxtvvIGnn34aY8aMQVpaGuLi4gxqQrh7965mSoK8vDzNpILfffcdxo4dq3U/xvDvf/8bAwcORP/+/TFlyhQEBwfj9u3buHDhAn788Ufs2LGj2uPDwsLw2muv4V//+hcuX76MAQMGwNPTE3/99Rd++OEHKJVKg/M8YcIEbNy4Ef/4xz9w8eJFREdHo7S0FN9//z1atmyJ8ePHIyoqCs8++yymTp2KkydPonv37lAqlcjIyEBycjJat26N6dOn16VoqhUbG4svv/wS3bt3x5w5c9CmTRuUlpbi+vXrOHToEObNm4fIyEgAZd8rR48exb59+xAYGAg3N7dKNWbVCQ8Px7PPPos1a9bAwcEBAwcOxNWrV/HKK68gJCQEc+bMAWC8Z9BiLNQxmkT1o7FQbrTA/v37xcCBA0VwcLBwcnISfn5+YtCgQVpDRIUoG7nSokUL4ejoqDWKoqrRWLpGZgAQMTExWtt0jcBIT08Xjz32mPD09BRubm5iwIAB4uzZs5VGFQkhxOrVq0WjRo2EVCqtNEIpKSlJDB48WHh5eQlHR0cRHBwsBg8eXGlUx969e0WbNm2Ek5OTaNiwoXjrrbeqHElU3q+//iomTJggmjRpIhQKhVCpVKJz585i06ZNWuny8/PFggULRGhoqHB0dBSBgYFi+vTpWsOqhag8GksIITIyMsTo0aOFl5eXUKlU4oknntCMAit/rwUFBeLpp58Wvr6+QiKRaI120lVu165dExMnThTe3t7C0dFRhIeHi7ffflszgkWIqkfHCFF5JE1VfvjhB9G1a1ehVCpFcHCwWLRokWbUkTp/qampYuTIkSI0NFTI5XLh7e0tevToUWmEXsVrqp/xiqNKdI1ie/DggZg7d67w8/MTzs7OokuXLiI1NVWoVCoxZ86cGu9D17NbUV3LVK19+/YCgDh27Jhm259//ikACG9vb83QYDV9Py9VlZcQZVMkLFmyRISEhAgnJyfRpk0bsW/fPp3PpC6hoaGa7xaJRCJcXV1FeHi4ePLJJ8U333yj85iKf09DR2MJIcTPP/8sxo4dK/z8/ISjo6MICAgQvXr1Eu+9955e9y1E2YjQ6Oho4e7uLuRyuQgNDRWjR4/WmqJi8uTJQqlUVjpW1/dEfn6+ePXVV0WzZs2Ek5OT8Pb2Fr169RIpKSla6T7++GMRGRkplEqlUCgUokmTJmLSpEni5MmTOvNZ8Zrlh21Xl8cePXqIhx56SGtbbm6uePnll0V4eLhwcnISKpVKtG7dWsyZM0dr6Pvp06dFVFSUcHFx0RoVZchnr6SkRCxdulQ0b95cODo6Ch8fH/HEE09opi9Rq+szaEkSIYzcBZ+IyEhSUlIQFRWFrVu3YuLEiZbODhHZKAY7RGQVEhISkJqaig4dOkChUODnn3/GW2+9BZVKhTNnzhitLwkR1T/ss0NEVsHd3R2HDh3C6tWrce/ePfj4+GDgwIFYsmQJAx0iqhPW7BAREZFd49BzIiIismsMdoiIiMiuMdghIiIiu8YOygBKS0tx48YNuLm5VTlFPBEREVkXIQTu3btX43pnDHZQtv5HSEiIpbNBREREtZCWllZpba/yGOwAmvVZ0tLS4O7ubuHcEBERkT5ycnIQEhJS4zprDHbw/yvturu7M9ghIiKyMTV1QWEHZSIiIrJrDHaIiIjIrjHYISIiIrvGPjtERHaspKQERUVFls4GUa04OjpCKpXW+TwMdoiI7JAQApmZmbh7966ls0JUJx4eHggICKjTPHgMdoiI7JA60PHz84OLiwsnTCWbI4TA/fv3kZWVBQAIDAys9bkY7BAR2ZmSkhJNoOPt7W3p7BDVmkKhAABkZWXBz8+v1k1a7KBMRGRn1H10XFxcLJwTorpTP8d16XvGYIeIyE6x6YrsgTGeYwY7REREZNcsGuwsWbIEnTp1gpubG/z8/DBixAhcvHhRK82UKVMgkUi0Xl26dNFKU1BQgFmzZsHHxwdKpRLDhg1Denq6OW9FpzPpdzHh/eM4k37X0lkhIqq3Nm3aBA8PD0tnwyCmznNcXBzatWtX5/PYStlaNNhJSkpCTEwMjh8/joSEBBQXF6Nfv37Iy8vTSjdgwABkZGRoXgcOHNDaHxsbi927d2P79u1ITk5Gbm4uhgwZgpKSEnPeTiW7fvwTqZdvYdePf1o0H0REtkLXP3AlEgkGDBig1/FhYWFYvXq11rZx48bht99+M0FutdnKD39tWbJs68qio7EOHjyo9X7jxo3w8/PDqVOn0L17d812uVyOgIAAnefIzs7GRx99hC1btqBPnz4AgE8//RQhISFITExE//79TXcDOqTfuY87eUWQSIB9P98AUPbf0R0aQAjAU+mIBp7sNEhEtuNM+l0sOfArXhzUAm0aeJj8egMGDMDGjRu1tsnl8lqfT6FQaEb1kHHZStlaVZ+d7OxsAICXl5fW9qNHj8LPzw/NmzfHM888oxlzDwCnTp1CUVER+vXrp9kWFBSEiIgIpKSk6LxOQUEBcnJytF7G0m3pEQxdm4wha5JxO68QAHArrxBD1iRj6NpkdFt6xGjXIiIyB3PXUqv/gVv+5enpqdkfFxeHhg0bQi6XIygoCM8//zwAoGfPnrh27RrmzJmjqRECKte4qJtwPv74YzRs2BCurq6YPn06SkpKsGzZMgQEBMDPzw9vvvmmVr5WrlyJ1q1bQ6lUIiQkBDNmzEBubi6Ast+pqVOnIjs7W3PtuLg4AEBhYSFeeOEFBAcHQ6lUIjIyEkePHtU696ZNm9CwYUO4uLhg5MiRuHXrVrVlVFhYiJkzZyIwMBDOzs4ICwvDkiVLNPuvX7+O4cOHw9XVFe7u7hg7diz++uuvKs/Xs2dPxMbGam0bMWIEpkyZYlDZAsCGDRvQpEkTODk5ITw8HFu2bNHaL5FI8OGHH2LkyJFwcXFBs2bNsHfv3mrvt66sJtgRQmDu3Lno1q0bIiIiNNsHDhyIrVu34vDhw1ixYgVOnDiBXr16oaCgAEDZxFlOTk5aHwQA8Pf3R2Zmps5rLVmyBCqVSvMKCQkx2n2sHtcOMoeyh0BU2Cf5334iImuXfuc+fknPxtk/s7Vqqc/+mY1f0rORfue+RfK1c+dOrFq1Cv/+97/x+++/Y8+ePWjdujUAYNeuXWjQoAFee+01TbeHqvzxxx/4+uuvcfDgQWzbtg0ff/wxBg8ejPT0dCQlJWHp0qV4+eWXcfz4cc0xDg4OePfdd3H27Fl88sknOHz4MF544QUAQNeuXbF69Wq4u7trrj1//nwAwNSpU3Hs2DFs374dZ86cwZgxYzBgwAD8/vvvAIDvv/8eTz31FGbMmIHTp08jOjoab7zxRrXl8O6772Lv3r344osvcPHiRXz66acICwsDUPZ7OmLECNy+fRtJSUlISEjAH3/8gXHjxtW63PUt2927d2P27NmYN28ezp49i+eeew5Tp07FkSPa/9BfvHgxxo4dizNnzmDQoEF4/PHHcfv27VrnryZWM6ngzJkzcebMGSQnJ2ttL//HiYiIQMeOHREaGoqvvvoKo0aNqvJ8Qogqh6u9+OKLmDt3ruZ9Tk6O0QKeEe2D0dTPFUPWJFfa565wRFM/V/ySns3mLCKyauVrodXfpLf/V0utdvWtwSa59v79++Hq6qq1bcGCBXjllVdw/fp1BAQEoE+fPnB0dETDhg3RuXNnAGWtAlKpFG5ublV2fVArLS3Fxx9/DDc3N7Rq1QrR0dG4ePEiDhw4AAcHB4SHh2Pp0qU4evSoZlBM+ZqPRo0a4fXXX8f06dOxfv16ODk5QaVSQSKRaF37jz/+wLZt25Ceno6goCAAwPz583Hw4EFs3LgR8fHxeOedd9C/f38sXLgQANC8eXOkpKRU6upR3vXr19GsWTN069YNEokEoaGhmn2JiYk4c+YMrly5ovlt27JlCx566CGcOHECnTp1qulPUIm+Zbt8+XJMmTIFM2bMAADMnTsXx48fx/LlyxEdHa1JN2XKFEyYMAEAEB8fjzVr1uCHH37Qu2+WoayiZmfWrFnYu3cvjhw5ggYNGlSbNjAwEKGhoZqIOCAgAIWFhbhz545WuqysLPj7++s8h1wuh7u7u9bLHLLzi9icRUQ2QVcttfq/MgeJSWupo6Ojcfr0aa1XTEwMAGDMmDHIz89H48aN8cwzz2D37t0oLi42+BphYWFwc3PTvPf390erVq3g4OCgta18t4kjR46gb9++CA4OhpubGyZNmoRbt25VGlRT3o8//gghBJo3bw5XV1fNKykpCX/88QcA4MKFC3jkkUe0jqv4vqIpU6bg9OnTCA8Px/PPP49Dhw5p9l24cAEhISFa/4hv1aoVPDw8cOHChRpKpm4uXLiAqKgorW1RUVGVrtumTRvN/yuVSri5uWmVtbFZNNgRQmDmzJnYtWsXDh8+jEaNGtV4zK1bt5CWlqZZI6NDhw5wdHREQkKCJk1GRgbOnj2Lrl27mizv1fF2dYKbvOpKMzZnEZG1G9E+GHtionTu2xMThRHtg012baVSiaZNm2q91H05Q0JCcPHiRaxbtw4KhQIzZsxA9+7dDZ5d19HRUeu9RCLRua20tBQAcO3aNQwaNAgRERH48ssvcerUKaxbtw5A9TP7lpaWQiqV4tSpU1rB24ULF/DOO+8AKPstNNTDDz+MK1eu4PXXX0d+fj7Gjh2L0aNHa86nq2WjuhYPBweHSvmo7YzFFa+h67rVlbUpWDTYiYmJwaefforPPvsMbm5uyMzMRGZmJvLz8wEAubm5mD9/PlJTU3H16lUcPXoUQ4cOhY+PD0aOHAkAUKlUmDZtGubNm4dvv/0WP/30E5544gm0bt1aMzrL3AJVCpx8pQ/2zdT9RVG+OctS7d5ERPpS/05Zy4TMCoUCw4YNw7vvvoujR48iNTUVv/zyCwDAycnJJNOOnDx5EsXFxVixYgW6dOmC5s2b48aNG1ppdF27ffv2KCkpQVZWVqUATt0c1KpVK62+QQAqvdfF3d0d48aNwwcffIDPP/8cX375JW7fvo1WrVrh+vXrSEtL06Q9f/48srOz0bJlS53n8vX11eqHU1JSgrNnz9Z4fxW1bNmyUneUlJSUKq9rLhbts7NhwwYAZb28y9u4cSOmTJkCqVSKX375BZs3b8bdu3cRGBiI6OhofP7551rVj6tWrYJMJsPYsWORn5+P3r17Y9OmTbVeMMwY5DJplRG0ujlLzVTt3kREdeHt6gRfVzkCPZwxrlMIPj+Rhoy7D+Dt6mTS6xYUFFQaYCKTyeDj44NNmzahpKQEkZGRcHFxwZYtW6BQKDR9VsLCwvDf//4X48ePh1wuh4+Pj1Hy1KRJExQXF2PNmjUYOnQojh07hvfee08rTVhYGHJzc/Htt9+ibdu2cHFxQfPmzfH4449j0qRJWLFiBdq3b4+///4bhw8fRuvWrTFo0CA8//zz6Nq1K5YtW4YRI0bg0KFD1fbXAcp+9wIDA9GuXTs4ODhgx44dCAgIgIeHB/r06YM2bdrg8ccfx+rVq1FcXIwZM2agR48e6Nixo87z9erVC3PnzsVXX32FJk2aYNWqVbh7926l+6upbP/5z39i7NixePjhh9G7d2/s27cPu3btQmJiomEFbmyCRHZ2tgAgsrOzjXreG3fvi4hXD4rQBft1vsIW7Be7f0w36jWJiPLz88X58+dFfn5+nc/1oKhYlJaWCiGEKC0tFQ+Kiut8zupMnjxZoKx7kNYrPDxcCCHE7t27RWRkpHB3dxdKpVJ06dJFJCYmao5PTU0Vbdq0EXK5XKh/4jZu3ChUKpUmzaJFi0Tbtm0rXXf48OFa23r06CFmz56teb9y5UoRGBgoFAqF6N+/v9i8ebMAIO7cuaNJ849//EN4e3sLAGLRokVCCCEKCwvFq6++KsLCwoSjo6MICAgQI0eOFGfOnNEc99FHH4kGDRoIhUIhhg4dKpYvX66V54ref/990a5dO6FUKoW7u7vo3bu3+PHHHzX7r127JoYNGyaUSqVwc3MTY8aMEZmZmVWWQWFhoZg+fbrw8vISfn5+YsmSJWL48OFi8uTJBpWtEEKsX79eNG7cWDg6OormzZuLzZs3a+0HIHbv3q21TaVSiY0bN+q81+qeZ31/vyX/u3C9lpOTA5VKhezsbKN3Vi4oLsFvmfcwdO2xSvtUCkdsfTqSkw0SkVE9ePAAV65cQaNGjeDs7Gzp7BDVSXXPs76/31Yz9NxesTmLiIjIsqxi6Lm94+gsIiIiy2GwYwYcnUVERGQ5bMYyEzZnERERWQZrdsyopuYsU89KSkT1C8efkD0wxnPMYMeM1M1ZH03qoHP/8jFt0cTXlU1ZRFQn6tlp79/ndwnZPvVzXHHWZUOwGcvM5DIppm0+pXNf7OenNf/Ppiwiqi2pVAoPDw/NWkMuLi5VNqMTWSshBO7fv4+srCx4eHjUaaJgBjsWEDe0FeL2nde5TwJgFZuyiKiO1EsRmHJxRSJz8PDwqHEV+5ow2LGAKVGN0CZEhVHrUyvtKz8yixMNElFtSSQSBAYGws/Pr9YLOhJZmqOjo1GWfmKwYyFOVfzxODKLiIxJKpVadJ1AImvADsoWwokGiYiIzIPBjoVwokEiIiLzYDOWBXGiQSIiItNjzY6FsTmLiIjItBjsWBibs4iIiEyLzVhWgM1ZREREpsOaHSvB5iwiIiLTYLBjJWpqznJwkEAIweYsIiIiA7EZy4pU15xVUiow54ufNe/ZnEVERKQf1uxYmZqas6QSYF7f5qzdISIi0hODHSujbs6qSokAViT8hm5Lj5gxV0RERLaLwY4VksukmNeveZX72VmZiIhIfwx2rNToDg3goXDUuY9z7xAREelPIoQQls6EpeXk5EClUiE7Oxvu7u6Wzo7Gj9dvY9T61BrTsbMyERHVR/r+frNmx4oFqhSce4eIiKiOGOxYMS4lQUREVHecZ8fKcSkJIiKiumHNjg3gUhJERES1x2DHBrA5i4iIqPbYjGUj2JxFRERUO6zZsSFsziIiIjIcgx0bUlNzlotcio+PXcGuU+lsziIiIvofNmPZmOqas/IKSnAmPRtzd5Stjs7mLCIiItbs2KSamrOAspXR2WGZiIiIy0UAsN7lIqpTUFyC3zLvYejaYzWmZQ0PERHZIy4XYeeqa85SkzlI2GGZiIjqPQY7Nszb1Qm+rnKEervo3L98TFs08XVlUxYREdVrbMaCbTZjqRUUlyD85YM1pmNTFhER2Rs2Y9UTcpkUcUNbVbmfc+8QEVF9x2DHDkyJaoRdMx7RuY9z7xARUX3HeXbshJNUqnM7594hIqL6jjU7doJz7xAREenGDsqw7Q7K5XHuHSIiqk/YQbke0mfuHXZYJiKi+obBjp1Rz73T1M9V5353hSOa+rmyOYuIiOoNNmPBfpqx1NicRURE9QGbseoxuUwKHzd5tR2W2ZxFRET1BYMdOxWoUuDkK32wb2aUzv0ODhIIIdicRUREdo/z7Nix6josl5QKzPniZ817NmcREZG9Ys2Onatp/h2ppGz+HdbuEBGRvWKwY+fUzVlVKRHAioTf0G3pETPmioiIyHwY7NQDcpkU8/o1r3I/OysTEZE9Y7BTT4zu0AAeCked+7hYKBER2TMGO/VEoEqBj6d21Lmv/GKhbM4iIiJ7w2CnHglUKbhYKBER1TucQRn2N4NydTi7MhER2QvOoEw6cbFQIiKqbzipYD2kXixU5eKIS1m5lfarOyyXlgp0buyFBp4uFsglERGRcbAZC/WrGUuNzVlERGTr2IxF1dJnsVCAHZaJiMj2sWYH9bNmR401PEREZKtYs0N60afDssxBwg7LRERksxjskKbDcqi37o7IjXyUKC0VbMoiIiKbxGYs1O9mLLWC4hKEv3ywxnRsyiIiImthE81YS5YsQadOneDm5gY/Pz+MGDECFy9e1EojhEBcXByCgoKgUCjQs2dPnDt3TitNQUEBZs2aBR8fHyiVSgwbNgzp6enmvBWbJ5dJETe0VbVp2FmZiIhskUWDnaSkJMTExOD48eNISEhAcXEx+vXrh7y8PE2aZcuWYeXKlVi7di1OnDiBgIAA9O3bF/fu3dOkiY2Nxe7du7F9+3YkJycjNzcXQ4YMQUlJiSVuy2ZNiWqEXTMeqXL/ioTfMHRtMtfPIiIim2JVzVg3b96En58fkpKS0L17dwghEBQUhNjYWCxYsABAWS2Ov78/li5diueeew7Z2dnw9fXFli1bMG7cOADAjRs3EBISggMHDqB///41XpfNWP/v7J/ZGLImucr9EgCrxrXDiPbB5ssUERGRDjbRjFVRdnY2AMDLywsAcOXKFWRmZqJfv36aNHK5HD169EBKSgoA4NSpUygqKtJKExQUhIiICE2aigoKCpCTk6P1ojLqzspN/Vx17lfPrrzrVDqbs4iIyCZYTbAjhMDcuXPRrVs3REREAAAyMzMBAP7+/lpp/f39NfsyMzPh5OQET0/PKtNUtGTJEqhUKs0rJCTE2LdjswJVCiQvjMaqsW117s8rKMGZ9GzM3fEzm7OIiMgmWE2wM3PmTJw5cwbbtm2rtK/iPDBCiBrnhqkuzYsvvojs7GzNKy0trfYZt0P6zq4c4qlgDQ8REVk9qwh2Zs2ahb179+LIkSNo0KCBZntAQAAAVKqhycrK0tT2BAQEoLCwEHfu3KkyTUVyuRzu7u5aL9IWqFLg5Ct9sG9mVJVp0u7ks4aHiIisnkWDHSEEZs6ciV27duHw4cNo1KiR1v5GjRohICAACQkJmm2FhYVISkpC165dAQAdOnSAo6OjVpqMjAycPXtWk4ZqR5/ZlQEOSSciIutWfTuFicXExOCzzz7Df/7zH7i5uWlqcFQqFRQKBSQSCWJjYxEfH49mzZqhWbNmiI+Ph4uLCyZOnKhJO23aNMybNw/e3t7w8vLC/Pnz0bp1a/Tp08eSt2cX1B2WVS6OuJSVqzPNioTfsCLhNwCcdJCIiKyPRYOdDRs2AAB69uyptX3jxo2YMmUKAOCFF15Afn4+ZsyYgTt37iAyMhKHDh2Cm5ubJv2qVasgk8kwduxY5Ofno3fv3ti0aROkUqm5bsVuqTss17RYqMxBguVjdHdqJiIisiSrmmfHUjjPTs0ysvMxbM0xuMiluHarcnNVMz9XTO/RBJ0be6GBp+41toiIiIxJ399vBjtgsKMvrp9FRETWxCYnFSTrps/6WRyOTkRE1oY1O2DNjqF+vH4bo9an1piONTxERGRKrNkhk3HSo+M3h6MTEZG1sOhoLLJNHI5ORES2hDU7ZLCa1s9SkwBYPa6dWfJERERUFdbsUK2o18+qroZHvUJ6aangkHQiIrIYdlAGOyjXRUFxSY0TDqqxOYuIiIyJHZTJLPRdIf3xzg3ZYZmIiCyCNTtgzY4xsIaHiIjMjTU7ZFb6rJAulZQNSWftDhERmRODHTIa9ZD0qpSIsiHp3ZYeMWOuiIiovmOwQ0ajHpI+r2+zKtNwODoREZkbgx0yKrlMitEdQ+ChcNS5Xz0cnetnERGRuTDYIaMLVCnw8dSOOvflFZTgTHo25u74mc1ZRERkFgx2yCQCVYoah6NzhXQiIjIHDj0Hh56bCoejExGRKXHoOVmcPsPRAdbwEBGRaTHYIZNSD0dv6udaZZq0O/nsw0NERCbDYIdMSt8V0gEuKUFERKbBVc/J5PRZIR0Atv5wHVt/uA6AfXiIiMh4WLNDZqFvDQ+XlCAiImNjsENmU76GpypcUoKIiIyNwQ6ZFZeUICIic2OwQ2bHJSWIiMicGOyQRXBJCSIiMhcGO2QxXFKCiIjMgctFgMtFWBKXlCAiotrichFkE7ikBBERmRqDHbI4LilBRESmxGCHLI5LShARkSlxuQiyClxSgoiITIU1O2Q1DK3hYe0OERHpg8EOWRV9lpQAymp42H+HiIj0wWCHrI4+S0oAHKFFRET6YbBDVqmmJSUAjtAiIiL9MNghq1XdkhLlsYaHiIiqw2CHrFqgSsE5eIiIqE4Y7JBVM2SEFmt4iIhIFwY7ZPXKj9BiDQ8RERmKwQ7ZBM6yTEREtcUZlMlmcJZlIiKqDdbskE3hLMtERGQoBjtkczjLMhERGYLBDtkkzrJMRET6YrBDNouzLBMRkT4Y7JBN4yzLRERUEwY7ZPM4yzIREVWHwQ7ZPM6yTERE1WGwQ3aBsywTEVFVGOyQ3eAsy0REpAtnUCa7wlmWiYioItbskN3hLMtERFQegx2yS5xlmYiI1BjskN3iLMtERAQw2CE7Z+gsy2fS75ovc0REZBYMdsju6TvLMgB88N/LrOEhIrIzDHaoXtBnlmUA2HcmA92WHmGzFhGRHZEIIYSlM2FpOTk5UKlUyM7Ohru7u6WzQyZSUFyC3zLvYejaY3ofw2HpRETWS9/fb9bsUL2h7yzLapx4kIjIPrBmB6zZqW9Yw0NEZB9Ys0NUhdrU8LB2h4jIdrFmB6zZqa8KiktwK7cAw9em4GZuQY3pWbtDRGRdWLNDVAO5TIogDxdOPEhEZOcY7FC9Z+jEg0REZFssGuz897//xdChQxEUFASJRII9e/Zo7Z8yZQokEonWq0uXLlppCgoKMGvWLPj4+ECpVGLYsGFIT083412QPdB34kHW8BAR2R6LBjt5eXlo27Yt1q5dW2WaAQMGICMjQ/M6cOCA1v7Y2Fjs3r0b27dvR3JyMnJzczFkyBCUlJSYOvtkZ/SZeJBLSxAR2R6ZJS8+cOBADBw4sNo0crkcAQEBOvdlZ2fjo48+wpYtW9CnTx8AwKeffoqQkBAkJiaif//+Rs8z2S/1wqH6Dkv/4L+XsWBgCzTwdDFD7oiIqLasvs/O0aNH4efnh+bNm+OZZ55BVlaWZt+pU6dQVFSEfv36abYFBQUhIiICKSkplsgu2ThDhqWrl5bgxINERNbNojU7NRk4cCDGjBmD0NBQXLlyBa+88gp69eqFU6dOQS6XIzMzE05OTvD09NQ6zt/fH5mZmVWet6CgAAUF/z/UOCcnx2T3QLbH0BqeoWuTAXBoOhGRtbLqYGfcuHGa/4+IiEDHjh0RGhqKr776CqNGjaryOCEEJBJJlfuXLFmCxYsXGzWvZF/K1/CoXBxxKSu32vTqiQfZpEVEZH2svhmrvMDAQISGhuL3338HAAQEBKCwsBB37tzRSpeVlQV/f/8qz/Piiy8iOztb80pLSzNpvsk2qWt4Vo1tW2ParT9c57B0IiIrZVPBzq1bt5CWlobAwEAAQIcOHeDo6IiEhARNmoyMDJw9exZdu3at8jxyuRzu7u5aLyJdytfw+LvLq03LYelERNbJos1Yubm5uHTpkub9lStXcPr0aXh5ecHLywtxcXF47LHHEBgYiKtXr+Kll16Cj48PRo4cCQBQqVSYNm0a5s2bB29vb3h5eWH+/Plo3bq1ZnQWUV2pa3hu5RZg0DvJuJtfpDOdelg6AOydGYU2DTzMmEsiIqqKRWt2Tp48ifbt26N9+/YAgLlz56J9+/Z49dVXIZVK8csvv2D48OFo3rw5Jk+ejObNmyM1NRVubm6ac6xatQojRozA2LFjERUVBRcXF+zbtw9SqdRSt0V2SL20hD4TDwJlw9JZw0NEZB24ECi4ECjpLyM7H8PWHNOr0zIArBzTFp0be7HjMhGRCej7+81gBwx2yDAFxSV6D0tX47B0IiLj46rnRCZiyMSDADsuExFZGmt2wJodqh3W8BARWRZrdohMzNAanvYhHlxagojIAlizA9bsUN0UFJfgVm4Bhq9NgUrhiEs3a+64nLwgmp2WiYjqyOg1O0899RTu3btnlMwR2RP1sPTkhdFYNa7m2ZYBcLZlIiIz0jvY+eSTT5Cfn2/KvBDZNM62TERknfRuxnJwcEBmZib8/PxMnSezYzMWGZOhHZc52zIRUe2YpINydSuJE1EZdQ2Ph8JRr/ScbZmIyLQMqtlRqVQ1Bjy3b982SsbMiTU7ZArXbuVh9IZUzrZMRGQi+v5+G7QQ6OLFi6FSqeqcOaL6INRbieSF0Xo3aakXEeVcPERExmVQsDN+/Hi77LNDZCrlOy3rU8OjnovHU+nIGh4iIiPRuxlLKpUiIyPDLoMdNmORqdVmtmXOxUNEVD2jd1Dm3INEtWfobMsA5+IhIjIWvYOd0tJSu6zVITKXQJUCyQujsfmpTmVz8bhxLh4iInPgchFgMxaZH+fiISKqOy4ESmTFOBcPEZH5MNghspBAlQL/mRmlVz+efWcy0G3pETZrERHVApuxwGYssqzajNTiXDxERGzGIrIZho7UUs/FwxoeIiL9sGYHrNkh68C5eIiIDMOaHSIbU9u5eM6k3zVtxoiIbByDHSIrYuhcPABHahER1YTNWGAzFlknQ5u1uGo6EdU3bMYisnGGzsUzd8fPbNYiItKBwQ6RFTNkLh41NmsREWljMxbYjEXWrzYjtfbN7AZPpSObtYjIbrEZi8iO1Gak1tC1yVw5nYgIDHaIbEbFkVpNffWbgJBNWkRU37EZC2zGItvDkVpERGzGIrJr5Zu1/N1rnouHI7WIqD5jsENko9TNWrtndNV7eDpHahFRfcRgh8iGyWVSBHm44OOpHfVKv+9MBrotPYJdp9IZ9BBRvcFgh8gOBKoUBo3UUjdrERHVBwx2iOxAbUZqhfu7YuiaZCSezzRDDomILIejscDRWGRfajMBYfKCaI7UIiKbw9FYRPVUbSYgZD8eIrJnrNkBa3bIPhUUl+BWbgGGr02BgwT4616BXsftnRmFNg08TJs5IiIjYM0OUT2nHqmVvDAaH07Wb7QWwOHpRGR/GOwQ2Tl1s5a+c/FweDoR2RsGO0T1QKBKgf/MjOLwdCKqlxjsENUTod5KDk8nonqJHZTBDspU/3B4OhHZA3ZQJqIqcXg6EdUnrNkBa3ao/uLwdCKyZazZIaIa1XZ4+tsHf8Wo9cdwJv2u6TJHRGQkDHaIyODh6d9duoUfr9/lnDxEZBMY7BARgNoNT1fPyfNLejaDHiKyWuyzA/bZISqvfD8elcIRl27m6n3s1bcGmzBnRETa2GeHiGqlfD+eVePa6n1cuL8r+/EQkVWSWToDRGSdyg9PV7k44lJW9TU8F/8q2//2wV+RV1iCuGEPccQWEVkF1uwQUZUCVQqtWZf93eQ1HsPOy0RkbdhnB+yzQ6QPdV+eQe8k425+kd7HrRzTFp0be3H2ZSIyOvbZISKjUvfl+Xiq/vPxAFxQlIgsj8EOERkkUKUwaHg6wAVFiciy2IwFNmMRGaouw9O5oCgRGQubsYjIZMoPT988razzclNfLihKRNaJNTtgzQ5RXXFBUSKyBNbsEJHZcEFRIrJmDHaIyGhqu6Do1I0n2HmZiEyGwQ4RGVVtFhS9lVeIpzef4ogtIjIJ9tkB++wQmQJHbBGRqbHPDhFZVG0XFAU4YouIjIvBDhGZVPkFRQ2ZiFA98zI7LxNRXTHYISKTq7igqL5z8gAcsUVEdcc+O2CfHSJzqu2Cot5KJyx9rDX6tAowYe6IyJbYRJ+d//73vxg6dCiCgoIgkUiwZ88erf1CCMTFxSEoKAgKhQI9e/bEuXPntNIUFBRg1qxZ8PHxgVKpxLBhw5Cenm7GuyAiQ6j78nDEFhGZi0WDnby8PLRt2xZr167VuX/ZsmVYuXIl1q5dixMnTiAgIAB9+/bFvXv3NGliY2Oxe/dubN++HcnJycjNzcWQIUNQUlJirtsgoloI9VbWqmnrlz+z8fTmU2zaIiK9WU0zlkQiwe7duzFixAgAZbU6QUFBiI2NxYIFCwCU1eL4+/tj6dKleO6555CdnQ1fX19s2bIF48aNAwDcuHEDISEhOHDgAPr376/XtdmMRWRZBcUl+C3zHoauPWbQcUPbBGLBwBYcpk5UT9lEM1Z1rly5gszMTPTr10+zTS6Xo0ePHkhJSQEAnDp1CkVFRVppgoKCEBERoUmjS0FBAXJycrReRGQ5tR2xte9MBoepE1GNrDbYycwsa5P39/fX2u7v76/Zl5mZCScnJ3h6elaZRpclS5ZApVJpXiEhIUbOPREZqi4jtjhMnYiqY7XBjppEItF6L4SotK2imtK8+OKLyM7O1rzS0tKMklciqpvyExFuntZJ7zW21LjGFhHpYrXBTkBA2fDSijU0WVlZmtqegIAAFBYW4s6dO1Wm0UUul8Pd3V3rRUTWgyO2iMiYrDbYadSoEQICApCQkKDZVlhYiKSkJHTt2hUA0KFDBzg6OmqlycjIwNmzZzVpiMh2ccQWERmDzJIXz83NxaVLlzTvr1y5gtOnT8PLywsNGzZEbGws4uPj0axZMzRr1gzx8fFwcXHBxIkTAQAqlQrTpk3DvHnz4O3tDS8vL8yfPx+tW7dGnz59LHVbRGRE5Zu2DF1Y9Mfrd/H2wV+RV1iCuGEPoU0DD9NnmIisjkWHnh89ehTR0dGVtk+ePBmbNm2CEAKLFy/Gv//9b9y5cweRkZFYt24dIiIiNGkfPHiAf/7zn/jss8+Qn5+P3r17Y/369QZ1OubQcyLbUdth6o829WbQQ2Rn9P39tpp5diyJwQ6RbcnIzsewNcegcnHEpayaa3jKY9BDZD8Y7BiAwQ6R7antGltqXGuLyPbZ/KSCRETVqe2ILTX1yK1f0rM5ISGRnWPNDlizQ2Tr1LU8hnRerih5QTSXnSCyMazZIaJ6o+JkhIbOwAyAMzAT2THW7IA1O0T2prY1Pey8TGRb2EHZAAx2iOwTgx4i+8ZgxwAMdojsW21HbnHEFpF1Y58dIqL/4VpbRPUba3bAmh2i+qS2MzADwMMNPdi0RWRFWLNDRKSDXCaFj5u8VnPzqNfa4gKjRLaFNTtgzQ5RfVTXuXnYiZnI8thB2QAMdojqr7oGPezETGQ5DHYMwGCHiOq61lbrYBVm927KoIfIjNhnh4jIAHVda+uXP7Px9OZT7M9DZIVYswPW7BCRNvbnIbINbMYyAIMdItKFQQ+RdWOwYwAGO0RUHXZiJrJODHYMwGCHiPTBTsxE1oUdlImIjIydmIlsE2t2wJodIjIc+/MQWR6bsQzAYIeIaotBD5HlMNgxAIMdIqorY3Rint6jMb799SZeHNSCgQ+RHhjsGIDBDhEZS107MQNArxZ+yC8sYdBDVAN2UCYisoC6dmIGgMO/ZiH18i2usE5kJKzZAWt2iMg06tq0pcZ+PUS6sRnLAAx2iMiUjBX0cHJCIm0MdgzAYIeIzMFYQQ8nJyQqw2DHAAx2iMicjNGJGQAebujBpi2q19hBmYjISlXsxNwiwA2uchnkMolB5/nx+l12YibSA2t2wJodIrKcguISOEkdUFhSir/vPcDwdSnwUDhxckIiPbAZywAMdojIWnByQiL9MdgxAIMdIrI2nJyQqGbss0NEZMM4OSGR8bBmB6zZISLrxskJiXRjM5YBGOwQkS3g5IRE2hjsGIDBDhHZEk5OSFSGwY4BGOwQkS0y5uSEj0c2xM5Tf7IzM9kUBjsGYLBDRLbs2q08jN6QCm9XJ6TfyUdRSQkKig37am/k7YIrt+5jSJtA3MotZNBDNoHBjgEY7BCRrTPW5ITqc7BfD9kCBjsGYLBDRPaG/XqoPmCwYwAGO0Rkr7joKNkzTipIRERGmZwQ0F509MtTaZjw/nFOUkg2gzU7YM0OEdUPxmraUndmDnB3xvuTOrC2hyyGzVgGYLBDRPVJ+aCnbATXfRSVCBQUlxp8rk5hnnhQVMp+PWQRDHYMwGCHiOqjiiO4Br+bjLv5xbU+H/v1kLmxzw4REVVLLpNCIpFALpMi2FOJ/8zsxn49ZJdYswPW7BARqbFfD9kSNmMZgMEOEZE2YwU9APv1kOkw2DEAgx0iIt0qdma+disP+UWGd2RWY78eMiYGOwZgsENEVD11Z+brt+9j9AZ1bU9erc71aFNv5BWWcPFRqjMGOwZgsENEpD9j9+vh4qNUWwx2DMBgh4jIcMYKerj4KNUWgx0DMNghIqo9Y/fraR2swvC2gfj215us7aFqMdgxAIMdIqK6M2a/HjU2cVF1GOwYgMEOEZFxGbuJS92pmSO5qDwGOwZgsENEZBrGnK8HALyVTpjeozGbuAgAgx2DMNghIjItYy4+qtarhR/yC0sY9NRjDHYMwGCHiMg8jL34KAA2cdVjDHYMwGCHiMgyrt3Kw+gNqVC5OOJSVt2auB5t6o2sewVwkknx5sgIBj71AIMdAzDYISKyHDZxUW0x2DEAgx0iIsur2MQ1fF0KPBROdV6EtKRUcGkKO8VgxwAMdoiIrI+6xmfQO8m4m19Up3NxaQr7pO/vt4MZ80RERKQ3uUyKIA8X/GdmFHxd5WgR4AZXuQxymcTgc125dR8AcOjcX0i9fAtTN55A4vlMY2eZrBRrdsCaHSIia2eKJi6AS1PYOjZjGYDBDhGRbTH2ZIUAl6awRXbRjBUXFweJRKL1Cgj4/9VwhRCIi4tDUFAQFAoFevbsiXPnzlkwx0REZA7qJq7khdHYPK0TvFycIHOQwMfVqdbnVDdxvX3wV/RflYSha5JxJv2u8TJNFiOzdAZq8tBDDyExMVHzXiqVav5/2bJlWLlyJTZt2oTmzZvjjTfeQN++fXHx4kW4ublZIrtERGRG6qAn9aVeEELgdl4hhq9NgbtChj8MXIS0sKRsqPt3l25ptq1O/J1D2O2A1Qc7MplMqzZHTQiB1atX41//+hdGjRoFAPjkk0/g7++Pzz77DM8995y5s0pERBYil5X9QzjIQ4bkhdFGm7fn8K9ZAIDX959HSangLM02yuqDnd9//x1BQUGQy+WIjIxEfHw8GjdujCtXriAzMxP9+vXTpJXL5ejRowdSUlKqDXYKCgpQUFCgeZ+Tk2PSeyAiIvMp38RlrKUpTly9AwB4++CvyCss4bw9Nsaq++xERkZi8+bN+Oabb/DBBx8gMzMTXbt2xa1bt5CZWTZk0N/fX+sYf39/zb6qLFmyBCqVSvMKCQkx2T0QEZFlyGVSSCQSyGVSBHsq8Z+Z3eDrKkdTP9dan/O7S7fw4/W7WHv4ElIv38Kzm0+xX48NsKnRWHl5eWjSpAleeOEFdOnSBVFRUbhx4wYCAwM1aZ555hmkpaXh4MGDVZ5HV81OSEgIR2MREdk5UyxN0SnMEw+KSjmE3QL0HY1l9c1Y5SmVSrRu3Rq///47RowYAQDIzMzUCnaysrIq1fZUJJfLIZfLTZlVIiKyQlU1cdVl3h51E9cvf2YDAN7/72UOYbcyVt2MVVFBQQEuXLiAwMBANGrUCAEBAUhISNDsLywsRFJSErp27WrBXBIRkbWr2MR1bGEvDmG3Y1ZdszN//nwMHToUDRs2RFZWFt544w3k5ORg8uTJkEgkiI2NRXx8PJo1a4ZmzZohPj4eLi4umDhxoqWzTkRENoRD2O2bVQc76enpmDBhAv7++2/4+vqiS5cuOH78OEJDQwEAL7zwAvLz8zFjxgzcuXMHkZGROHToEOfYISKiWqlqCHtdZ2muOISdo7nMy6Y6KJsKl4sgIqKqVOzUfO1WHvKLat+hGeAq7MbCtbEMwGCHiIhqol6M9Prt+xi9QV3bY1gTV0XqTtLeSidM79GYo7kMxGDHAAx2iIjIEKYYwq7Wq4Uf+/foicGOARjsEBFRbahre4wxhL2iR5t6c7bmGjDYMQCDHSIiMgZ1jc+Qd48h50ERPFwc8XduYZ3Oqe7fE+DujPcndWDAUw6DHQMw2CEiImMqKC6p8xB2XThbszYGOwZgsENERKZiyv499X00F4MdAzDYISIiU6vYv6cuq7Crqc/3aFNvZN0rgJNMijdHRtSbwIfBjgEY7BARkbldu5WH0RtS/1fbk4+ikhIUFNf9J7k+jeZisGMABjtERGQJphzN1SnM0+5na2awYwAGO0REZA04W7NhGOwYgMEOERFZE87WrB8GOwZgsENERNaKszVXjcGOARjsEBGRteNszZUx2DEAgx0iIrI1ppyteUibQFy7dR8ArHooO4MdAzDYISIiW2WK2ZrVNUiAdTd1MdgxAIMdIiKyB6bs32ONQ9kZ7BiAwQ4REdkTU8zWrGZNQ9kZ7BiAwQ4REdkzU8zWbA1D2RnsGIDBDhER2TtTjuZSM3f/HgY7BmCwQ0RE9Y0p+/eYayg7gx0DMNghIqL6qmKNz5A1x3DvQbFRh7IHuDvj/UkdjB7wMNgxAIMdIiKiMqYYyg4AvVv6IbZ3c3gqHdHA08UIOWWwYxAGO0RERJWZqqkreUG0UQIeBjsGYLBDRERUNVMMZb/61uA650vf32+HOl+JiIiI7JpcJoVEIoFcJkWwpxL/mdkNvq5ytAhwg6tcBrlMove5ZA4SrB7XznSZ1XVNs16NiIiIbF6otxLJC6NrNZR9T0wUIoJVZsppGdbsEBERkcEq1vYcW9gLm6d10tT4KBytJ8RgzQ4RERHVmVwmRZCHi6bG5/rt+xi9IQUBKmeM79QQ209cR2Z2AbxdncyeN3ZQBjsoExERmYK6Y7NEIoEQAoUlpZDLpEY7v76/36zZISIiIpMoH9iom7wswXoa1IiIiIhMgMEOERER2TUGO0RERGTXGOwQERGRXWOwQ0RERHaNwQ4RERHZNQY7REREZNcY7BAREZFdY7BDREREdo3BDhEREdk1LhcBQL08WE5OjoVzQkRERPpS/27XtMwngx0A9+7dAwCEhIRYOCdERERkqHv37kGlUlW5n6ueAygtLcWNGzfg5uYGiURitPPm5OQgJCQEaWlpXE3dxFjW5sFyNg+Ws3mwnM3DlOUshMC9e/cQFBQEB4eqe+awZgeAg4MDGjRoYLLzu7u784NkJixr82A5mwfL2TxYzuZhqnKurkZHjR2UiYiIyK4x2CEiIiK7xmDHhORyORYtWgS5XG7prNg9lrV5sJzNg+VsHixn87CGcmYHZSIiIrJrrNkhIiIiu8Zgh4iIiOwagx0iIiKyawx2iIiIyK4x2DHQ+vXr0ahRIzg7O6NDhw747rvvqk2flJSEDh06wNnZGY0bN8Z7771XKc2XX36JVq1aQS6Xo1WrVti9e7epsm8zjF3OH3zwAR599FF4enrC09MTffr0wQ8//GDKW7AJpnie1bZv3w6JRIIRI0YYOde2xxTlfPfuXcTExCAwMBDOzs5o2bIlDhw4YKpbsBmmKOvVq1cjPDwcCoUCISEhmDNnDh48eGCqW7AJhpRzRkYGJk6ciPDwcDg4OCA2NlZnOpP+FgrS2/bt24Wjo6P44IMPxPnz58Xs2bOFUqkU165d05n+8uXLwsXFRcyePVucP39efPDBB8LR0VHs3LlTkyYlJUVIpVIRHx8vLly4IOLj44VMJhPHjx83121ZHVOU88SJE8W6devETz/9JC5cuCCmTp0qVCqVSE9PN9dtWR1TlLPa1atXRXBwsHj00UfF8OHDTXwn1s0U5VxQUCA6duwoBg0aJJKTk8XVq1fFd999J06fPm2u27JKpijrTz/9VMjlcrF161Zx5coV8c0334jAwEARGxtrrtuyOoaW85UrV8Tzzz8vPvnkE9GuXTsxe/bsSmlM/VvIYMcAnTt3Fv/4xz+0trVo0UIsXLhQZ/oXXnhBtGjRQmvbc889J7p06aJ5P3bsWDFgwACtNP379xfjx483Uq5tjynKuaLi4mLh5uYmPvnkk7pn2EaZqpyLi4tFVFSU+PDDD8XkyZPrfbBjinLesGGDaNy4sSgsLDR+hm2YKco6JiZG9OrVSyvN3LlzRbdu3YyUa9tjaDmX16NHD53Bjql/C9mMpafCwkKcOnUK/fr109rer18/pKSk6DwmNTW1Uvr+/fvj5MmTKCoqqjZNVee0d6Yq54ru37+PoqIieHl5GSfjNsaU5fzaa6/B19cX06ZNM37GbYypynnv3r145JFHEBMTA39/f0RERCA+Ph4lJSWmuREbYKqy7tatG06dOqVp9r58+TIOHDiAwYMHm+AurF9tylkfpv4t5EKgevr7779RUlICf39/re3+/v7IzMzUeUxmZqbO9MXFxfj7778RGBhYZZqqzmnvTFXOFS1cuBDBwcHo06eP8TJvQ0xVzseOHcNHH32E06dPmyrrNsVU5Xz58mUcPnwYjz/+OA4cOIDff/8dMTExKC4uxquvvmqy+7Fmpirr8ePH4+bNm+jWrRuEECguLsb06dOxcOFCk92LNatNOevD1L+FDHYMJJFItN4LISptqyl9xe2GnrM+MEU5qy1btgzbtm3D0aNH4ezsbITc2i5jlvO9e/fwxBNP4IMPPoCPj4/xM2vDjP08l5aWws/PD++//z6kUik6dOiAGzdu4O233663wY6ascv66NGjePPNN7F+/XpERkbi0qVLmD17NgIDA/HKK68YOfe2wxS/W6b8LWSwoycfHx9IpdJKUWZWVlalaFQtICBAZ3qZTAZvb+9q01R1TntnqnJWW758OeLj45GYmIg2bdoYN/M2xBTlfO7cOVy9ehVDhw7V7C8tLQUAyGQyXLx4EU2aNDHynVg3Uz3PgYGBcHR0hFQq1aRp2bIlMjMzUVhYCCcnJyPfifUzVVm/8sorePLJJ/H0008DAFq3bo28vDw8++yz+Ne//gUHh/rVG6Q25awPU/8W1q+/Uh04OTmhQ4cOSEhI0NqekJCArl276jzmkUceqZT+0KFD6NixIxwdHatNU9U57Z2pyhkA3n77bbz++us4ePAgOnbsaPzM2xBTlHOLFi3wyy+/4PTp05rXsGHDEB0djdOnTyMkJMRk92OtTPU8R0VF4dKlS5pgEgB+++03BAYG1stABzBdWd+/f79SQCOVSiHKBvgY8Q5sQ23KWR8m/y00SjfnekI93O6jjz4S58+fF7GxsUKpVIqrV68KIYRYuHChePLJJzXp1cMa58yZI86fPy8++uijSsMajx07JqRSqXjrrbfEhQsXxFtvvcWh5yYo56VLlwonJyexc+dOkZGRoXndu3fP7PdnLUxRzhVxNJZpyvn69evC1dVVzJw5U1y8eFHs379f+Pn5iTfeeMPs92dNTFHWixYtEm5ubmLbtm3i8uXL4tChQ6JJkyZi7NixZr8/a2FoOQshxE8//SR++ukn0aFDBzFx4kTx008/iXPnzmn2m/q3kMGOgdatWydCQ0OFk5OTePjhh0VSUpJm3+TJk0WPHj200h89elS0b99eODk5ibCwMLFhw4ZK59yxY4cIDw8Xjo6OokWLFuLLL7809W1YPWOXc2hoqABQ6bVo0SIz3I31MsXzXB6DnTKmKOeUlBQRGRkp5HK5aNy4sXjzzTdFcXGxqW/F6hm7rIuKikRcXJxo0qSJcHZ2FiEhIWLGjBnizp07Zrgb62VoOev6/g0NDdVKY8rfQsn/MkFERERkl9hnh4iIiOwagx0iIiKyawx2iIiIyK4x2CEiIiK7xmCHiIiI7BqDHSIiIrJrDHaIiIjIrjHYISIiIrvGYIeIiIjsGoMdIiIismsMdojI7ty8eRMBAQGIj4/XbPv+++/h5OSEQ4cOWTBnRGQJXBuLiOzSgQMHMGLECKSkpKBFixZo3749Bg8ejNWrV1s6a0RkZgx2iMhuxcTEIDExEZ06dcLPP/+MEydOwNnZ2dLZIiIzY7BDRHYrPz8fERERSEtLw8mTJ9GmTRtLZ4mILIB9dojIbl2+fBk3btxAaWkprl27ZunsEJGFsGaHiOxSYWEhOnfujHbt2qFFixZYuXIlfvnlF/j7+1s6a0RkZgx2iMgu/fOf/8TOnTvx888/w9XVFdHR0XBzc8P+/fstnTUiMjM2YxGR3Tl69ChWr16NLVu2wN3dHQ4ODtiyZQuSk5OxYcMGS2ePiMyMNTtERERk11izQ0RERHaNwQ4RERHZNQY7REREZNcY7BAREZFdY7BDREREdo3BDhEREdk1BjtERERk1xjsEBERkV1jsENERER2jcEOERER2TUGO0RERGTXGOwQERGRXfs/cvANgFxytvgAAAAASUVORK5CYII=",
+      "text/plain": [
+       "<Figure size 640x480 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The x values =============================: ['0.0000', '0.0004', '0.0008', '0.0012', '0.0016', '0.0020', '0.0024', '0.0028', '0.0032', '0.0036', '0.0040', '0.0044', '0.0048', '0.0052', '0.0056', '0.0060', '0.0064', '0.0068', '0.0072', '0.0076', '0.0080', '0.0084', '0.0088', '0.0092', '0.0096', '0.0100', '0.0104', '0.0108', '0.0112', '0.0116', '0.0120', '0.0124', '0.0128', '0.0132', '0.0136', '0.0140', '0.0144', '0.0148', '0.0152', '0.0156', '0.0160', '0.0164', '0.0168', '0.0172', '0.0176', '0.0180', '0.0184', '0.0188', '0.0192', '0.0196', '0.0200', '0.0204', '0.0208', '0.0212', '0.0216', '0.0220', '0.0224', '0.0228', '0.0232', '0.0236', '0.0240', '0.0244', '0.0248', '0.0252', '0.0256', '0.0260', '0.0264', '0.0268', '0.0272', '0.0276', '0.0280', '0.0284', '0.0288', '0.0292', '0.0296', '0.0300', '0.0304', '0.0308', '0.0312', '0.0316', '0.0320', '0.0324', '0.0328', '0.0332', '0.0336', '0.0340', '0.0344', '0.0348', '0.0352', '0.0356', '0.0360', '0.0364', '0.0368', '0.0372', '0.0376', '0.0380', '0.0384', '0.0388', '0.0392', '0.0396', '0.0400', '0.0404', '0.0408', '0.0412', '0.0416', '0.0420', '0.0424', '0.0428', '0.0432', '0.0436', '0.0440', '0.0444', '0.0448', '0.0452', '0.0456', '0.0460', '0.0464', '0.0468', '0.0472', '0.0476', '0.0480', '0.0484', '0.0488', '0.0492', '0.0496', '0.0500', '0.0504', '0.0508', '0.0512', '0.0516', '0.0520', '0.0524', '0.0528', '0.0532', '0.0536', '0.0540', '0.0544', '0.0548', '0.0552', '0.0556', '0.0560', '0.0564', '0.0568', '0.0572', '0.0576', '0.0580', '0.0584', '0.0588', '0.0592', '0.0596', '0.0600', '0.0604', '0.0608', '0.0612', '0.0616', '0.0620', '0.0624', '0.0628', '0.0632', '0.0636', '0.0640', '0.0644', '0.0648', '0.0652', '0.0656', '0.0660', '0.0664', '0.0668', '0.0672', '0.0676', '0.0680', '0.0684', '0.0688', '0.0692', '0.0696', '0.0700', '0.0704', '0.0708', '0.0712', '0.0716', '0.0720', '0.0724', '0.0728', '0.0732', '0.0736', '0.0740', '0.0744', '0.0748', '0.0752', '0.0756', '0.0760', '0.0764', '0.0768', '0.0772', '0.0776', '0.0780', '0.0784', '0.0788', '0.0792', '0.0796', '0.0800', '0.0804', '0.0808', '0.0812', '0.0816', '0.0820', '0.0824', '0.0828', '0.0832', '0.0836', '0.0840', '0.0844', '0.0848', '0.0852', '0.0856', '0.0860', '0.0864', '0.0868', '0.0872', '0.0876', '0.0880', '0.0884', '0.0888', '0.0892', '0.0896', '0.0900', '0.0904', '0.0908', '0.0912', '0.0916', '0.0920', '0.0924', '0.0928', '0.0932', '0.0936', '0.0940', '0.0944', '0.0948', '0.0952', '0.0956', '0.0960', '0.0964', '0.0968', '0.0972', '0.0976', '0.0980', '0.0984', '0.0988', '0.0992', '0.0996', '0.1000'] [m]\n",
+      "The estimated temperature at the nodes are: ['250.00', '247.99', '245.99', '244.01', '242.05', '240.11', '238.18', '236.27', '234.38', '232.50', '230.64', '228.80', '226.97', '225.16', '223.36', '221.58', '219.81', '218.06', '216.33', '214.61', '212.90', '211.21', '209.54', '207.88', '206.23', '204.60', '202.98', '201.37', '199.78', '198.21', '196.64', '195.09', '193.56', '192.03', '190.52', '189.03', '187.54', '186.07', '184.61', '183.16', '181.73', '180.31', '178.90', '177.50', '176.11', '174.74', '173.38', '172.03', '170.69', '169.36', '168.04', '166.74', '165.44', '164.16', '162.88', '161.62', '160.37', '159.13', '157.90', '156.68', '155.47', '154.27', '153.08', '151.90', '150.73', '149.57', '148.42', '147.28', '146.15', '145.02', '143.91', '142.81', '141.71', '140.63', '139.55', '138.48', '137.42', '136.37', '135.33', '134.30', '133.27', '132.26', '131.25', '130.25', '129.26', '128.27', '127.30', '126.33', '125.37', '124.42', '123.47', '122.54', '121.61', '120.68', '119.77', '118.86', '117.96', '117.07', '116.18', '115.30', '114.43', '113.56', '112.70', '111.85', '111.00', '110.16', '109.33', '108.50', '107.68', '106.87', '106.06', '105.26', '104.47', '103.68', '102.89', '102.12', '101.34', '100.58', '99.82', '99.06', '98.32', '97.57', '96.83', '96.10', '95.37', '94.65', '93.94', '93.22', '92.52', '91.82', '91.12', '90.43', '89.74', '89.06', '88.38', '87.71', '87.04', '86.38', '85.72', '85.07', '84.42', '83.78', '83.13', '82.50', '81.87', '81.24', '80.61', '80.00', '79.38', '78.77', '78.16', '77.56', '76.96', '76.36', '75.77', '75.18', '74.60', '74.01', '73.44', '72.86', '72.29', '71.72', '71.16', '70.60', '70.04', '69.49', '68.94', '68.39', '67.85', '67.30', '66.77', '66.23', '65.70', '65.17', '64.64', '64.12', '63.60', '63.08', '62.56', '62.05', '61.54', '61.03', '60.53', '60.02', '59.52', '59.02', '58.53', '58.03', '57.54', '57.05', '56.57', '56.08', '55.60', '55.12', '54.64', '54.17', '53.69', '53.22', '52.75', '52.28', '51.81', '51.35', '50.89', '50.42', '49.96', '49.51', '49.05', '48.59', '48.14', '47.69', '47.24', '46.79', '46.34', '45.90', '45.45', '45.01', '44.56', '44.12', '43.68', '43.24', '42.80', '42.37', '41.93', '41.50', '41.06', '40.63', '40.20', '39.77', '39.34', '38.91', '38.48', '38.05', '37.62', '37.19', '36.77', '36.34', '35.92', '35.49', '35.07', '34.64', '34.22', '33.80', '33.37', '32.95', '32.53', '32.11', '31.69', '31.26', '30.84', '30.42', '30.00'] [C]\n",
+      "The temperature at x=0.02 is: 168.04 [C]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np \n",
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "Ts = 30\n",
+    "alpha = 500\n",
+    "dx=0.0004 # The grid size is reduced to (0.02^2 = 0.0004)\n",
+    "\n",
+    "# grid creation\n",
+    "x = np.arange(0,0.1+dx,dx)\n",
+    "T = np.zeros(x.shape)\n",
+    "n=len(x)\n",
+    "\n",
+    "# boundary conditions\n",
+    "T[0] = 250\n",
+    "T[-1] = Ts\n",
+    "\n",
+    "# Building matrix A\n",
+    "matrix_element = 1-alpha*dx**2    # The matrix element changes \n",
+    "A = np.zeros((len(x)-2,len(x)-2))\n",
+    "np.fill_diagonal(A, -2)\n",
+    "A[np.arange(n-3), np.arange(1, n-2)] = 1  # Upper diagonal\n",
+    "A[np.arange(1, n-2), np.arange(n-3)] = matrix_element  # Lower diagonal\n",
+    "print(A)\n",
+    "\n",
+    "# Building vector b\n",
+    "b_element = -dx**2*alpha*Ts\n",
+    "b = np.zeros(len(x)-2) + b_element\n",
+    "b[0] = b[0] - matrix_element * T[0]\n",
+    "b[-1] = b[-1] - T[-1]\n",
+    "\n",
+    "# Solving the system\n",
+    "\n",
+    "T[1:-1] = np.linalg.solve(A,b)\n",
+    "\n",
+    "plt.plot(x,T,'*',label='Estimated solution')\n",
+    "plt.xlabel('x')\n",
+    "plt.ylabel('T')\n",
+    "plt.title('Estimated solution using Forward Difference method')\n",
+    "plt.legend()\n",
+    "plt.show()\n",
+    "\n",
+    "print(f'The x values =============================: {[f\"{x_loc:.4f}\" for x_loc in x]} [m]')\n",
+    "print(f'The estimated temperature at the nodes are: {[f\"{temp:.2f}\" for temp in T]} [C]')\n",
+    "\n",
+    "ind = np.argmin(abs(x-0.02))\n",
+    "print(f'The temperature at x=0.02 is: {T[ind]:.2f} [C]')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "18d60370",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.4:</b>\n",
+    "\n",
+    "How much finer does your grid has to be in the forward difference implementation to get a similar value at x = 0.02 as in the central difference implementation? Vary your dx.\n",
+    "\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7ef65db5",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "    \n",
+    "You can test this above make the temperature the same at x=0.02\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "b78e8e16",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Bonus Task</b> \n",
+    "    \n",
+    "The matrix inversion using numpy is one way to solve the system, another is the <code>gauss_jordan</code> method, written below, and another one is the sparse matrix-based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change <code>dx</code> to 0.0002 of the original code that solves the second degree ODE and test the time it takes by each method.\n",
+    "    \n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "5f7cdec7",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def gauss_jordan(A, b):\n",
+    "    \"\"\"\n",
+    "    Solves the system of linear equations Ax = b using Gauss-Jordan elimination.\n",
+    "    \n",
+    "    Parameters:\n",
+    "    A (numpy.ndarray): Coefficient matrix (n x n).\n",
+    "    b (numpy.ndarray): Right-hand side vector (n).\n",
+    "    \n",
+    "    Returns:\n",
+    "    numpy.ndarray: Solution vector (x) if the system has a unique solution.\n",
+    "    \"\"\"\n",
+    "    # Form the augmented matrix [A | b]\n",
+    "    A = np.array(A, dtype=float)\n",
+    "    b = np.array(b, dtype=float)\n",
+    "    aug_matrix = np.hstack([A, b.reshape(-1, 1)])\n",
+    "    \n",
+    "    n = len(b)  # Number of rows (or variables)\n",
+    "    \n",
+    "    for i in range(n):\n",
+    "        # Partial pivoting to handle zero diagonal elements (optional, but more robust)\n",
+    "        max_row = np.argmax(np.abs(aug_matrix[i:, i])) + i\n",
+    "        if aug_matrix[max_row, i] == 0:\n",
+    "            raise ValueError(\"The matrix is singular and cannot be solved.\")\n",
+    "        if max_row != i:\n",
+    "            aug_matrix[[i, max_row]] = aug_matrix[[max_row, i]]\n",
+    "        \n",
+    "        # Make the diagonal element 1\n",
+    "        aug_matrix[i] = aug_matrix[i] / aug_matrix[i, i]\n",
+    "        \n",
+    "        # Make all other elements in the current column 0\n",
+    "        for j in range(n):\n",
+    "            if j != i:\n",
+    "                aug_matrix[j] -= aug_matrix[j, i] * aug_matrix[i]\n",
+    "    \n",
+    "    # Extract the solution (last column of the augmented matrix)\n",
+    "    return aug_matrix[:, -1]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "fbd32c69",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The time used by direct matrix inversion solution is  1.399e-03 sec\n",
+      "The time used by Gauss-jordan solution is  1.411e-01 sec\n",
+      "The time used by the sparse matrix solver is  1.286e-03 sec\n"
+     ]
+    }
+   ],
+   "source": [
+    "import time\n",
+    "from scipy.sparse import csc_matrix\n",
+    "from scipy.sparse.linalg import spsolve\n",
+    "\n",
+    "# Inverted matrix solution\n",
+    "start_time = time.time()\n",
+    "A_inv = np.linalg.inv(A)\n",
+    "T[1:-1] = A_inv @ b\n",
+    "time_used_0 = time.time() - start_time\n",
+    "print(f\"The time used by direct matrix inversion solution is {time_used_0: 0.3e} sec\")\n",
+    "assert np.allclose(np.dot(A, T[1:-1]), b), \"Oops! The calculation is wrong..\"\n",
+    "\n",
+    "\n",
+    "# Gauss-jordan solution\n",
+    "start_time = time.time()\n",
+    "u1 = gauss_jordan(A, b)\n",
+    "time_used_1 = time.time() - start_time\n",
+    "print(f\"The time used by Gauss-jordan solution is {time_used_1: 0.3e} sec\")\n",
+    "#Check if the solution is correct:\n",
+    "assert np.allclose(np.dot(A, u1), b), \"Oops! The calculation is wrong..\"\n",
+    "\n",
+    "# Solution by a sparse matrix solver \n",
+    "start_time = time.time()\n",
+    "A_sparse = csc_matrix(A)# Convert A to a compressed sparse column (CSC) matrix\n",
+    "u2 = spsolve(A_sparse, b)\n",
+    "time_used_2 = time.time() - start_time\n",
+    "print(f\"The time used by the sparse matrix solver is {time_used_2: 0.3e} sec\")\n",
+    "#Check if the solution is correct:\n",
+    "assert np.allclose(np.dot(A, u2), b), \"Oops! The calculation is wrong..\""
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "5d5b9189",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#facb8e; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<p> Answer\n",
+    "<p>\n",
+    "    \n",
+    "The sparse matrix is fastest, but we see that the Numpy implementation is also very fast! problem still small; Gauss-Jordan slow because...???\n",
+    "\n",
+    "</p>\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2921b3f2",
+   "metadata": {},
+   "source": [
+    "**End of notebook.**\n",
+    "<h2 style=\"height: 60px\">\n",
+    "</h2>\n",
+    "<h3 style=\"position: absolute; display: flex; flex-grow: 0; flex-shrink: 0; flex-direction: row-reverse; bottom: 60px; right: 50px; margin: 0; border: 0\">\n",
+    "    <style>\n",
+    "        .markdown {width:100%; position: relative}\n",
+    "        article { position: relative }\n",
+    "    </style>\n",
+    "    <a rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc-sa/4.0/\">\n",
+    "      <img alt=\"Creative Commons License\" style=\"border-width:; width:88px; height:auto; padding-top:10px\" src=\"https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png\" />\n",
+    "    </a>\n",
+    "    <a rel=\"TU Delft\" href=\"https://www.tudelft.nl/en/ceg\">\n",
+    "      <img alt=\"TU Delft\" style=\"border-width:0; width:100px; height:auto; padding-bottom:0px\" src=\"https://gitlab.tudelft.nl/mude/public/-/raw/main/tu-logo/TU_P1_full-color.png\"/>\n",
+    "    </a>\n",
+    "    <a rel=\"MUDE\" href=\"http://mude.citg.tudelft.nl/\">\n",
+    "      <img alt=\"MUDE\" style=\"border-width:0; width:100px; height:auto; padding-bottom:0px\" src=\"https://gitlab.tudelft.nl/mude/public/-/raw/main/mude-logo/MUDE_Logo-small.png\"/>\n",
+    "    </a>\n",
+    "    \n",
+    "</h3>\n",
+    "<span style=\"font-size: 75%\">\n",
+    "&copy; Copyright 2023 <a rel=\"MUDE Team\" href=\"https://studiegids.tudelft.nl/a101_displayCourse.do?course_id=65595\">MUDE Teaching Team</a> TU Delft. This work is licensed under a <a rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc-sa/4.0/\">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>."
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "mude-base",
+   "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.12.4"
+  },
+  "latex_envs": {
+   "LaTeX_envs_menu_present": true,
+   "autoclose": false,
+   "autocomplete": true,
+   "bibliofile": "biblio.bib",
+   "cite_by": "apalike",
+   "current_citInitial": 1,
+   "eqLabelWithNumbers": true,
+   "eqNumInitial": 1,
+   "hotkeys": {
+    "equation": "Ctrl-E",
+    "itemize": "Ctrl-I"
+   },
+   "labels_anchors": false,
+   "latex_user_defs": false,
+   "report_style_numbering": false,
+   "user_envs_cfg": false
+  },
+  "widgets": {
+   "application/vnd.jupyter.widget-state+json": {
+    "state": {},
+    "version_major": 2,
+    "version_minor": 0
+   }
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/src/teachers/Week_1_6/WS_1_6_student.html b/src/teachers/Week_1_6/WS_1_6_student.html
index 77e6c519..adfe3233 100644
--- a/src/teachers/Week_1_6/WS_1_6_student.html
+++ b/src/teachers/Week_1_6/WS_1_6_student.html
@@ -7531,7 +7531,7 @@ a.anchor-link {
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
 <h2 id="Overview">Overview<a class="anchor-link" href="#Overview">¶</a></h2><p>This assignment is aimed to develop an understanding of the <strong>Ordinary Differential Equation (ODE)</strong>. There will be two sections about cooling and heating scenerios, corresponding to the first-order and the second-order ODEs. Please go through the text that follows and perform all steps outlined therein.</p>
-<h2 id="Section-1:-First-order-ODE">Section 1: First-order ODE<a class="anchor-link" href="#Section-1:-First-order-ODE">¶</a></h2><h3 id="1.1-Linear-ODE">1.1 Linear ODE<a class="anchor-link" href="#1.1-Linear-ODE">¶</a></h3><p>In the study of heat transfer, <strong>Newton's law of cooling</strong> is a physical law which states that the rate of heat loss of a body is directly proportional to the difference in the temperatures between the body and its environment. It can be expressed in the form of ODE, as below:</p>
+<h2 id="Part-1:-First-order-ODE">Part 1: First-order ODE<a class="anchor-link" href="#Part-1:-First-order-ODE">¶</a></h2><p>In the study of heat transfer, <strong>Newton's law of cooling</strong> is a physical law which states that the rate of heat loss of a body is directly proportional to the difference in the temperatures between the body and its environment. It can be expressed in the form of ODE, as below:</p>
 $$\frac{dT}{dt}=-k(T - T_s)$$<p>where $T$ is the temperature of the object at time $t$, $T_s$ is the temperature of the surrounding and assumed to be constant, and $k$ is the constant that characterizes the ability of the object to exchange the
 heat energy (unit 1/s), which depends on the specific material properties.</p>
 <p>Now, Let's consider an object with the initial temperature of  50°C in a surrounding environment with constant temperature at 20°C. The constant of heat exchange between the object and the environment is 0.5 $sec^-1$.</p>
@@ -7545,9 +7545,9 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 1:</b>
+<b>Task 1.1:</b>
 <p>Suppose the considered period of time is long enough (bring it to steady state), what will be the final temperature of the object?</p>
 <p><strong>Write your answer in the following markdown cell.</strong></p>
 </p>
@@ -7583,9 +7583,9 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 2:</b>
+<b>Task 1.2:</b>
 <p>Write the algebraic representation of the ODE using Explicit Euler.</p>
 </p>
 </div>
@@ -7609,36 +7609,27 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3:</b>
+<b>Task 1.3:</b>
 <p>Compute the temperature evolution in the next 60 seconds.</p>
-<p><strong>Please complete the missing parts of the code in each step below</strong></p>
+<p><strong>Please complete the missing parts of the code in each step below, which is divided into 5 substeps (a through e).</strong></p>
 </p>
 </div>
 </div>
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=ec6e3109">
-<div class="jp-Cell-inputWrapper" tabindex="0">
-<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
-</div>
-<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
-</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-</div>
-</div>
-</div>
-</div>
 <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=88b861bc">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.1:</b> The time step of 5 seconds is constant. Discretize the time points, the solution vector $T$ and define the initial condition.
+<b>Task 1.3a:</b>
+<p>The time step of 5 seconds is constant. Discretize the time points, the solution vector $T$ and define the initial condition.</p>
 </p>
 </div>
 </div>
@@ -7676,20 +7667,21 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.2:</b> Implement your time discretization and find the solution from $t=0$ until $t=60$ sec.
+<b>Task 1.3b:</b>
+<p>Implement your time discretization and find the solution from $t=0$ until $t=60$ sec.</p>
 </p>
 </div>
 </div>
 </div>
 </div>
-</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=0bf8247e">
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=0bf8247e">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [21]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
 <div class="cm-editor cm-s-jupyter">
 <div class="highlight hl-ipython3"><pre><span></span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="mi">1</span><span class="p">):</span>
@@ -7704,18 +7696,6 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 </div>
 </div>
-<div class="jp-Cell-outputWrapper">
-<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
-</div>
-<div class="jp-OutputArea jp-Cell-outputArea">
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
-<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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gAEAQFQjzAAAgKhGmOkCh8Oh+fPny+FwWF1KxKNX5tEr8+iVefTKPHplXqT0qtsvAAYAAN0bIzMAACCqEWYAAEBUI8wAAICoRpgBAABRjTBziX79618rOztbCQkJGjlypN555x2rS7Lcxo0bNXnyZGVmZspms+mVV15ps98wDBUWFiozM1OJiYkaP368du/ebU2xFlu8eLFGjRqllJQUZWRk6I477tDevXvbHEO/Wi1fvlzDhw/3P5QrLy9Pb775pn8/ferc4sWLZbPZVFBQ4N9Gv84qLCyUzWZr8+Vyufz76VVbhw8f1owZM9S7d285nU5de+212rZtm3+/lf0izFyCNWvWqKCgQPPmzdOOHTv01a9+VbfffrsOHjxodWmWqq+v1zXXXKNly5Z1uP+pp57S008/rWXLlmnLli1yuVzKz8/3vz+rJykpKdGcOXO0adMmFRcXq6mpSRMmTFB9fb3/GPrVql+/fnryySe1detWbd26VTfffLOmTJni/48kferYli1b9Oyzz2r48OFtttOvtq6++mpVVlb6v8rKyvz76NVZx48f1w033CC73a4333xTe/bs0c9+9jNddtll/mMs7ZeBgF1//fXG/fff32bblVdeafzkJz+xqKLII8l4+eWX/d+3tLQYLpfLePLJJ/3bTp8+baSlpRm/+c1vLKgwslRXVxuSjJKSEsMw6NfFXH755cbvfvc7+tSJuro6Y9CgQUZxcbExbtw448EHHzQMg9+r882fP9+45pprOtxHr9qaO3euceONN3a63+p+MTIToMbGRm3btk0TJkxos33ChAl6//33Laoq8lVUVKiqqqpN3xwOh8aNG0ffJNXU1EiSevXqJYl+daa5uVmrV69WfX298vLy6FMn5syZo69//eu69dZb22ynX+2Vl5crMzNT2dnZuvPOO/Xpp59Kolfne+2115Sbm6u///u/V0ZGhq677jqtWLHCv9/qfhFmAnTkyBE1Nzerb9++bbb37dtXVVVVFlUV+Xy9oW/tGYahhx56SDfeeKNycnIk0a/zlZWVKTk5WQ6HQ/fff79efvllDR06lD51YPXq1dq+fbsWL17cbh/9amv06NF64YUXtH79eq1YsUJVVVUaO3asjh49Sq/O8+mnn2r58uUaNGiQ1q9fr/vvv18/+tGP9MILL0iy/ner2781O1RsNlub7w3DaLcN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"/>
-</div>
-</div>
-</div>
-</div>
 </div>
 <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=ffb4547f">
 <div class="jp-Cell-inputWrapper" tabindex="0">
@@ -7723,9 +7703,9 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.3:</b>
+<b>Task 1.3c:</b>
 <p>Try different time steps to check the stability of the calculation. At which value the solution is stable?</p>
 </p>
 </div>
@@ -7749,9 +7729,9 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.4:</b>
+<b>Task 1.3d:</b>
 <p>Obtain the mathematical expression that proves your stability criteria.</p>
 </p>
 </div>
@@ -7775,21 +7755,21 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 3.5:</b>
+<b>Task 1.3e:</b>
 <p>Now, discretize the equation using Implicit (Backward) Euler. Can you find a time step that makes the problem unstable?</p>
 </p>
 </div>
 </div>
 </div>
 </div>
-</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=18c73272">
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=18c73272">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [29]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
 <div class="cm-editor cm-s-jupyter">
 <div class="highlight hl-ipython3"><pre><span></span><span class="n">dt</span> <span class="o">=</span> <span class="n">YOUR_CODE_HERE</span>                          
@@ -7814,18 +7794,6 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 </div>
 </div>
-<div class="jp-Cell-outputWrapper">
-<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
-</div>
-<div class="jp-OutputArea jp-Cell-outputArea">
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
-<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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a9cuTZ48WVFRUUpKStI999yj8vJy936Xy6WXXnpJGRkZstvtuvrqqzV37lz3/sGDBys5OVnvv/++9795AD5FmAHQIRYuXKisrCz95Cc/UUlJiUpKSpSWltbmsWvWrFFmZmaLbTNnzpTD4dCaNWtUWFiol156SVFRUZKkkpISjR8/Xtdff722bt2qFStW6OjRo/rHf/xH99c/88wzeumll/Tcc89p165dWrp0qZKSklp8xsiRI7V27Vovf+cAfC3E6gIAdA2xsbEKDQ1VRESEkpOTL3rsgQMHNHz48BbbDh06pDvuuEODBw+WJPXu3du9b/Hixbrhhhs0b94897Y333xTaWlp2rNnj1JSUrRw4UItWrRI9957rySpT58+ys7ObvEZV111lbZv335F3yeAjkeYAeB3Tp8+rbCwsBbbHn30UT344INatWqVbrnlFt1xxx0aMmSIJKmgoECffPKJ+0zNufbt26cTJ07I4XDo5ptvvujnhoeHq7a21nvfCIAOwWUmAH4nPj6+1UTcf/7nf9b+/ft1zz33qLCwUJmZmfqv//ovSU3zYaZMmaIdO3a0eBUVFenGG29UeHi4R597/PhxJSQkeP37AeBbhBkAHSY0NFSNjY2XPG7YsGHatWtXq+1paWl64IEHtHz5cj3xxBN6/fXXJUk33HCDdu7cqWuuuUYZGRktXpGRkerbt6/Cw8P197///aKf+8UXX2jYsGGX980BsAxhBkCHueaaa7R582YdOHBA5eXlcrlcbR536623auPGjS2Cz6xZs7Ry5UoVFxdr27Zt+vjjj3XddddJapocfPz4cd1555369NNPtX//fq1atUr33XefGhsbFRYWpqefflpPPfWU3n77be3bt0+bNm3SG2+84R6/trZWBQUFmjhxom+bAMDrCDMAOsyTTz6p4OBgDRgwQAkJCTp06FCbx02ePFk2m01/+9vf3NsaGxs1c+ZMXXfddZo0aZL69++v3/zmN5Kk1NRUrV+/Xo2Njbr11ls1aNAgPfbYY4qNjVVQUNOvueeee05PPPGE/u3f/k3XXXedfvCDH6isrMw9/p///GddffXVGjdunA87AMAXDNM0TauLAIDz/eY3v9Gf//xnrVy5skM+b+TIkZo1a5amT5/eIZ8HwHtYzQTAL/30pz9VZWWlampqfP5Ig7KyMn3ve9/TnXfe6dPPAeAbnJkBAAABjTkzAAAgoBFmAABAQCPMAACAgEaYAQAAAY0wAwAAAhphBgAABDTCDAAACGiEGQAAENAIMwAAIKD9f5vnHFMSgRK4AAAAAElFTkSuQmCC"/>
-</div>
-</div>
-</div>
-</div>
 </div>
 <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=2109f010">
 <div class="jp-Cell-inputWrapper" tabindex="0">
@@ -7833,10 +7801,10 @@ heat energy (unit 1/s), which depends on the specific material properties.</p>
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<h2 id="Section-2:-Second-order-ODE">Section 2: Second-order ODE<a class="anchor-link" href="#Section-2:-Second-order-ODE">¶</a></h2><h3 id="Background">Background<a class="anchor-link" href="#Background">¶</a></h3><p>The following 1D equation describes the steady state solution of the temperature along a pin that sticks out of a furnace. The rest of the pin is exposed to the ambient.</p>
+<h2 id="Part-2:-Second-order-ODE">Part 2: Second-order ODE<a class="anchor-link" href="#Part-2:-Second-order-ODE">¶</a></h2><p>The following 1D equation describes the steady state solution of the temperature along a pin that sticks out of a furnace. The rest of the pin is exposed to the ambient.</p>
 $$
 \frac{d^2T}{dx^2} -\alpha(T-T_s)=0
-$$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is $250^o$ C. The length of the pint is 0.1m. Your grid should have a spatial step of 0.02 m. Finally, $\alpha=500$.</p>
+$$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is $250^o$ C. The length of the pin is 0.1m. Your grid should have a spatial step of 0.02 m. Finally, $\alpha=500$.</p>
 </div>
 </div>
 </div>
@@ -7860,41 +7828,104 @@ $$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=c739aaf1">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=babd0424">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 5:</b>
-<p>Below we provide the code already implemented of the equation with the above Dirichlet conditions and using a central difference approximation of the second derivative. <strong>Write in paper (add the image) the matrix A, and the vectors T and b.</strong></p>
+<b>Task 2.1:</b>
+<p>This task has three parts: a) discretize the analytic expression into a system of equations using central differences, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.</p>
+<p><em>Parts 2.1b and 2.1c do not need to be completed in order; in fact, it may be useful to go back and forth between the two in order to understand the problem.</em></p>
 </p></div>
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=4133c6e2">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=1f70b8e9">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
-<p> Answer
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<p>Add the image.</p>
-</p>
+<b>Task 2.1a:</b>
+<p>Discretize the analytic expression into a system of equations for a grid with 6 points using central differences.</p>
+<p><em>Write your answer by hand using paper/tablet and include the image below.</em></p>
+</p></div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=81a5f165">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<p><em>Your answer here.</em></p>
+</div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=c513ff65">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<p>
+<b>Task 2.1b:</b>
+<p>Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.</p>
+<p><em>Write your answer by hand using paper/tablet and include the image below.</em></p>
+</p></div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=cb9ff085">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<p><em>Your answer here.</em></p>
+</div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=fae61d18">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<p>
+<b>Task 2.1c:</b>
+<p>Implement the discretized system of equations in a code cell.</p>
+<p><em>We have already done this for you! Your task is to read the cell and make sure you understand how the matrices are implemented. Reading the code should help you formulate the matrices in Task 2.1b.</em></p>
 </p></div>
 </div>
 </div>
 </div>
-</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=53fb4f99">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=89fd190c">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<p><em>Add your image here.</em></p>
+</div>
+</div>
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=53fb4f99">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [8]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
 <div class="cm-editor cm-s-jupyter">
 <div class="highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> 
@@ -7942,32 +7973,6 @@ $$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is
 </div>
 </div>
 </div>
-<div class="jp-Cell-outputWrapper">
-<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
-</div>
-<div class="jp-OutputArea jp-Cell-outputArea">
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
-<pre>(4, 4)
-</pre>
-</div>
-</div>
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
-<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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OL/OnTtj0qRJ+PLLL9GwYUO8++67yMnJKbd+t+vb//u//8OgQYNw//33o0uXLti0aROSkpKwffv26nV4TROS3NxcASC5ubmWLoWI6K4VFBTIsWPHpKCg4K7nda24RMrKykREpKysTK4Vl9z1PG9lxIgRguuHB5kMoaGhIiKyfv16adu2rbi6uopOp5N27drJ9u3bjY9PTU2VZs2aiVarFcMmbunSpaLX641tZsyYIc2bNy+33IceeshkXHR0tIwfP954/5133hE/Pz9xdHSU2NhYWb58uQCQ7OxsY5vnn39ePDw8BIDMmDFDRESKiork1VdflZCQELG3txdfX18ZMGCAHD582Pi4JUuWSGBgoDg6Okrfvn1l7ty5JjXfbPHixRIZGSk6nU5cXV2lS5cucuDAAeP0s2fPSr9+/USn04mLi4s8+uijkpWVVWkfFBUVyejRo8Xd3V28vb0lMTFRHnroIRkxYkS1+lZE5P3335d77rlH7O3tpXHjxrJ8+XKT6QBk/fr1JuP0er0sXbq0wnW91eu5qttv5a8F/63l5eVBr9cjNzfXbAcrExHVlmvXruH06dNo0KABHBwcLF0O0V251eu5qttvqzgbi4iIiMhcGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiFSK55+QGtTE65hhh4hIZQxXp7161TI/1klUkwyv45uvulwdVvNDoEREVDNsbW1Rr149428NOTk5VfozAUTWSkRw9epVnD9/HvXq1burCwUz7BARqZDhl6nN+eOKRLWhXr16t/0V+9th2CEiUiFFUeDn5wdvb+87/kFHIkuzt7evkZ9+YtghIlIxW1tbi/5OIJE14AHKREREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkahYNO4mJiWjdujVcXFzg7e2N/v3748SJEyZtRATx8fHw9/eHo6MjOnXqhKNHj5q0KSwsxLhx4+Dp6QmdTod+/fohIyOjNleFiIiIrJRFw05KSgri4uKwd+9ebNu2DSUlJejevTvy8/ONbebMmYN33nkHCxYsQFpaGnx9fdGtWzdcvnzZ2GbChAlYv349Vq1ahd27d+PKlSvo06cPSktLLbFaREREZEUUERFLF2Fw4cIFeHt7IyUlBQ8++CBEBP7+/pgwYQKmTZsG4PpeHB8fH8yePRvPPfcccnNz4eXlhRUrVmDw4MEAgHPnziEoKAjJycmIjY297XLz8vKg1+uRm5sLV1dXs64jERER1Yyqbr+t6pid3NxcAIC7uzsA4PTp08jKykL37t2NbbRaLaKjo7Fnzx4AwP79+1FcXGzSxt/fH+Hh4cY2NyssLEReXp7JQEREROpkNWFHRDBp0iR06NAB4eHhAICsrCwAgI+Pj0lbHx8f47SsrCxoNBq4ublV2uZmiYmJ0Ov1xiEoKKimV4eIiIishNWEnbFjx+Lw4cNYuXJluWmKopjcF5Fy4252qzYvvvgicnNzjUN6evqdF05ERERWzSrCzrhx47Bx40bs3LkTgYGBxvG+vr4AUG4Pzfnz5417e3x9fVFUVITs7OxK29xMq9XC1dXVZCAiIiJ1smjYERGMHTsWSUlJ2LFjBxo0aGAyvUGDBvD19cW2bduM44qKipCSkoL27dsDAFq2bAl7e3uTNpmZmThy5IixDREREf192Vly4XFxcfj888/x73//Gy4uLsY9OHq9Ho6OjlAUBRMmTEBCQgIaNWqERo0aISEhAU5OThg2bJix7ahRozB58mR4eHjA3d0dU6ZMQUREBLp27WrJ1SMiIiIrYNGws2jRIgBAp06dTMYvXboUI0eOBABMnToVBQUFGDNmDLKzs9G2bVts3boVLi4uxvbvvvsu7OzsMGjQIBQUFKBLly5YtmwZbG1ta2tViIiIyEpZ1XV2LIXX2SEiIqp76uR1doiIiIhqGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOqcLhjBwMXbwXhzNyLF0KERFZGYYdUoWkA78j9dRFJB343dKlEBGRlbGzdAFEdyoj+yqy84uhKMCmQ+cAXL8d2DIQIoCbzh6Bbk4WrpKIiCyNYYfqrA6zdxr/Vv66vZRfhD7zdxvHn3mzdy1XRURE1oZfY1GdNW9wJOxsrscc+Wuc4dbORsG8wZGWKIuIiKwM9+xQndW/RQDu9XY22ZNjsCEuCuEBegtURURE1oZ7dkgVFMX0loiIyIB7dqhO83DWwMtZC796DhjcOgir09KRmXMNHs4aS5dGRERWQhERuX0zdcvLy4Ner0dubi5cXV0tXQ5VU2FJKTS2NlAUBSKCotIyaO1sLV0WERGZWVW339yzQ3XejcFGURQGHSIiMsFjdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUsGnb+85//oG/fvvD394eiKNiwYYPJ9JEjR0JRFJOhXbt2Jm0KCwsxbtw4eHp6QqfToV+/fsjIyKjFtSAiIiJrZtGwk5+fj+bNm2PBggWVtunRowcyMzONQ3Jyssn0CRMmYP369Vi1ahV2796NK1euoE+fPigtLTV3+URERFQH2Fly4T179kTPnj1v2Uar1cLX17fCabm5uViyZAlWrFiBrl27AgA+/fRTBAUFYfv27YiNja3xmomIiKhusfpjdnbt2gVvb280btwYzzzzDM6fP2+ctn//fhQXF6N79+7Gcf7+/ggPD8eePXssUS4RERFZ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T5o0CQAwYsQILFu2DFOnTkVBQQHGjBmD7OxstG3bFlu3boWLi4vxMe+++y7s7OwwaNAgFBQUoEuXLli2bBlsbW1rfX2IiIjI+ljNdXYsidfZISIiqnvq/HV2iIiIiGoCww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhGRlTmckYOhi/ficEaOpUshUgWGHSIiK5N04HeknrqIpAO/W7oUIlWws3QBREQEZGRfRXZ+MRQF2HToHIDrtwNbBkIEcNPZI9DNycJVEtVNDDtERFagw+ydxr+Vv24v5Rehz/zdxvFn3uxdy1URqQO/xiIisgLzBkfCzuZ6zJG/xhlu7WwUzBscaYmyiFSBe3aIiKxA/xYBuNfb2WRPjsGGuCiEB+gtUBWROnDPDhGRlVEU01siujvcs0NEZCU8nDXwctbCr54DBrcOwuq0dGTmXIOHs8bSpRHVaYqIyO2bqVteXh70ej1yc3Ph6upq6XKI6G+ssKQUGlsbKIoCEUFRaRm0draWLovIKlV1+809O0REVuTGYKMoCoMOUQ3gMTtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7RET0t3Q4IwdDF+/F4YwcS5dCZsawQ0REf0tJB35H6qmLSDrwu6VLITOzs3QBREREtSUj+yqy84uhKMCmQ+cAXL8d2DIQIoCbzh6Bbk4WrpJqmlXv2YmPj4eiKCaDr6+vcbqIID4+Hv7+/nB0dESnTp1w9OhRC1ZMRETWrMPsnei7YDf6zN+NS/lFAIBL+UXoM383+i7YjQ6zd1q4QjIHqw47AHDfffchMzPTOPz000/GaXPmzME777yDBQsWIC0tDb6+vujWrRsuX75swYqJiMhazRscCTsbBQAgf40z3NrZKJg3ONISZZGZWX3YsbOzg6+vr3Hw8vICcH2vzrx58/CPf/wDDz/8MMLDw/HJJ5/g6tWr+Pzzzy1cNRERWaP+LQKwIS6qwmkb4qLQv0VALVdEtcHqw87Jkyfh7++PBg0aYMiQITh16hQA4PTp08jKykL37t2NbbVaLaKjo7Fnz55bzrOwsBB5eXkmAxER/b0oiuktqZdVh522bdti+fLl+Prrr/Hhhx8iKysL7du3x8WLF5GVlQUA8PHxMXmMj4+PcVplEhMTodfrjUNQUJDZ1oGIiKyLh7MGXs5aRATo8caAcEQE6OHlrIWHs8bSpZGZKCIit29mHfLz89GwYUNMnToV7dq1Q1RUFM6dOwc/Pz9jm2eeeQbp6enYsmVLpfMpLCxEYWGh8X5eXh6CgoKQm5sLV1dXs64DERFZXmFJKTS2NlAUBSKCotIyaO1sLV0WVVNeXh70ev1tt99WvWfnZjqdDhERETh58qTxrKyb9+KcP3++3N6em2m1Wri6upoMRET096G1s4Xy1/dXiqIw6KhcnQo7hYWFOH78OPz8/NCgQQP4+vpi27ZtxulFRUVISUlB+/btLVglERERWROrvqjglClT0LdvX9SvXx/nz5/H66+/jry8PIwYMQKKomDChAlISEhAo0aN0KhRIyQkJMDJyQnDhg2zdOlERERkJaw67GRkZGDo0KH4888/4eXlhXbt2mHv3r0IDg4GAEydOhUFBQUYM2YMsrOz0bZtW2zduhUuLi4WrpyIiIisRZ06QNlcqnqAExEREVkPVR6gTERERFRdDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREZDaHM3IwdPFeHM7IsVgNDDtERERkNkkHfkfqqYtIOvC7xWqws9iSiYiISJUysq8iO78YigJsOnQOwPXbgS0DIQK46ewR6OZUa/Uw7BAREVGN6jB7p/Fv5a/bS/lF6DN/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"/>
-</div>
-</div>
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
-<pre>The estimated temperature at the nodes are: ['250.00', '168.77', '115.29', '78.86', '52.21', '30.00'] [C]
-</pre>
-</div>
-</div>
-</div>
-</div>
 </div>
 <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=72ed77c5">
 <div class="jp-Cell-inputWrapper" tabindex="0">
@@ -7975,9 +7980,9 @@ $$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 6:</b>
+<b>Task 2.2:</b>
 <p>The code below is the same as above, modify it to replace the Dirichlet condition at the right BC for a Neumann condition such that there $\frac{dT}{dx}=0$. How does the temperature profile changes?</p>
 <p>Approximate the Neuman boundary $\frac{dT}{dx}=0$ by using the Backward difference for first order differential equation of first order accuracy.</p>
 </p>
@@ -7995,12 +8000,12 @@ $$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is
 </div>
 </div>
 </div>
-</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=cfcd00f9">
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=cfcd00f9">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [9]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
 <div class="cm-editor cm-s-jupyter">
 <div class="highlight hl-ipython3"><pre><span></span><span class="n">Ts</span> <span class="o">=</span> <span class="mi">30</span>
@@ -8049,196 +8054,102 @@ $$<p>The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is
 </div>
 </div>
 </div>
-<div class="jp-Cell-outputWrapper">
-<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
-</div>
-<div class="jp-OutputArea jp-Cell-outputArea">
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
-<pre>(4, 4)
-</pre>
 </div>
-</div>
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
-<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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jsjISGi1Wjz99NP48MMP8euvv97S/AMGDDB7fH19qampAK6+xq81ZMgQODjU7WmGV65cwVdffYXBgwfD2dnZ7PXXp08fXLlyBfv27bul+mtjwIAB1Z4z9Nlnn6FLly5wcXGBg4MDNBoNVqxYUav30V8hInW6vJMnT+Knn37CY489BgBV+jM7OxsnTpwwm+dvf/ub2eNt27ahrKwMo0aNMpvf0dER0dHRVa5MVRSlyvu/devWZs/Hl19+CUdHRzz55JM11r5582YoioLHH3/cbL1+fn5o06ZNra+I7devn9njli1bQlEU9O7d2zTOwcEBd999t1mNmzdvRnh4OCIjI83WHxsbe8tX5N7sNbpr1y4AVT/nOnTogJYtW5o+5/bu3YsrV66Yns9KnTt3RuPGjWtdjy1g2LExLVu2RLt27cyGqKgo0/QHHngAycnJpg+DoKAghIeHY926dbe1Xg8PD7PHWq32huOvXLliGjdixAgsXboUTz31FLZt24bvv/8e+/fvh7e3N4qKim667t9//x3A1Z2ZRqMxGxYsWAARwYULF5CXl4eKigr4+flVWUZ1465nMBiQmpqKyMhIvPjii7jnnnsQEBCA2bNno7S0FADw559/wsHBAd7e3mbzKooCPz8//PnnnzddT137888/4e/vX2V8QECAafq1PD09zR5Xnvham+eiNpo2bYodO3bAx8cHcXFxaNq0KZo2bYq33nqrVvPfrL7K7fH19TVr5+DgUGXe6oSEhAAAMjIybtr2zz//RFlZGZYsWVLltdenTx8AwB9//HFL9ddGdc9nYmIihg4disDAQKxZswZ79+7F/v378eSTT5q93+pS5c6v8rV0uyrfy1OnTq3Sn+PHjwdQtT+v74vKZbRv377KMj755JMq8zs7O5v95we4+pxc22fnz59HQEAA7Oxq3uX9/vvvEBH4+vpWWe++ffuqrLcm1X1mVlejVqs1q/H333/HkSNHqqzb1dUVIlLr9QO1f4/V9LlSOb3y71/9zLUlvBqrARo4cCAGDhyI4uJi7Nu3DwkJCRgxYgRCQ0Nx33331WstRqMRmzdvxuzZszFjxgzT+OLiYly4cKFWy/Dy8gIALFmypMYreHx9fVFaWgpFUZCTk1NlenXjqhMREYH169dDRHDkyBGsWrUKL7/8MpycnDBjxgx4enqirKwM58+fNws8IoKcnBzTkbXqVH6YFRcXm42/lQ+p6nh6eiI7O7vK+HPnzgH4b//drmvrv/bKoOrqv//++3H//fejvLwcBw4cwJIlSxAfHw9fX18MHz78tuqo/KD+/fffzY42lpWV1SpsxsbG4t1330VycrLZa7I67u7usLe3x8iRIxEXF1dtmyZNmtxC9bVT3dVGa9asQZMmTfDJJ5+YTb/+9VRXRASbNm2CXq+vsytAK1+LM2fOxMMPP1xtm7CwMLPH1/dF5TI2bNhQZ0cPvL29sWfPHlRUVNQYeLy8vKAoCr755ptqr4yz1NVy167fyckJH3zwQY3T60rleyw7O7vK1bnnzp0zrauyXU2fuQ3pFiI8stOA6XQ6REdHmy4b/eGHH0zjgbr7n/yNKIoCEanyQfD++++jvLy8Sr3V1dWlSxc0atQIx44dq3JUq3LQarXQ6/Xo0KEDEhMTzf5HdOnSJWzatOmW627Tpg0WLVqERo0amW4yV3lp7Zo1a8zaf/755ygsLDS79PZ6lW/8I0eOmI3fuHFjlba38hx1794dx44dq3IjvI8++giKoiAmJuamy6iNmuq/Ud/a29ujY8eOePvttwGgTm7W98ADDwC4esO6a23YsAFlZWU3nX/gwIGIiIhAQkICjh49Wm2bbdu24fLly3B2dkZMTAx++OEHtG7dutrXXm2OJl1Pp9Pd8vtPURRotVqznX9OTg6++OKLW15/bcydOxfHjh3D888/X+Wow18VFhaGZs2a4fDhwzW+l11dXW+4jNjYWDg4OODUqVM1LuNW9e7dG1euXMGqVatqbNOvXz+ICM6ePVvtOiMiIm55vbeiX79+OHXqFDw9Patd/7XB4q+8vq714IMPAqj6Obd//34cP37c9DnXqVMnODo64uOPPzZrl5aWVmdfi9cXHtmxMUePHq32A71p06bw9vbGSy+9hKysLHTv3h1BQUG4ePEi3nrrLWg0GtO9Lpo2bQonJyd8/PHHaNmyJVxcXBAQEFBnh6qv5ebmhgceeACvv/46vLy8EBoaitTUVKxYsQKNGjUya1t5v5N3330Xrq6ucHR0RJMmTeDp6YklS5Zg9OjRuHDhAoYMGQIfHx+cP38ehw8fxvnz57F8+XIAwLx589CrVy889NBDmDJlCsrLy7FgwQLo9fqbHknavHkzli1bhkGDBuGuu+6CiCAxMREXL17EQw89BAB46KGHEBsbi+nTpyM/Px9dunTBkSNHMHv2bLRt2xYjR46scfl+fn7o0aMHEhIS4O7ujsaNG+Orr75CYmJilbaVH5wLFixA7969YW9vj9atW5u+JrzWpEmT8NFHH6Fv3754+eWX0bhxY/z73//GsmXLMG7cuDq7kVufPn3g4eGBsWPH4uWXX4aDgwNWrVqFzMxMs3bvvPMOdu7cib59+yIkJARXrlwx/W+0R48et13HPffcg0cffRRvvPEG7O3t8eCDD+LHH3/EG2+8AYPBcMOvIoCrASwpKQk9e/bEfffdh3HjxiEmJgZ6vR5nzpzBhg0bsGnTJuTl5QEA3nrrLXTt2hX3338/xo0bh9DQUFy6dAknT57Epk2bqpwTVRsRERFITEzE8uXLERUVBTs7u5vupPv164fExESMHz8eQ4YMQWZmJubNmwd/f3/88ssvt1xDpYsXL5rOOyosLDTdVPCbb77B0KFDMXfu3L+87Or87//+L3r37o3Y2FiMGTMGgYGBuHDhAo4fP45Dhw7hs88+u+H8oaGhePnll/H3v/8dv/76K3r16gV3d3f8/vvv+P7776HX62+55kcffRQrV67Es88+ixMnTiAmJgYVFRX47rvv0LJlSwwfPhxdunTB008/jSeeeAIHDhzAAw88AL1ej+zsbOzZswcREREYN27c7XTNDcXHx+Pzzz/HAw88gEmTJqF169aoqKjAb7/9hu3bt2PKlCno2LEjgKuvr927d2PTpk3w9/eHq6trlSNmNxIWFoann34aS5YsgZ2dHXr37o3Tp09j1qxZCA4OxqRJkwBcPfI5depU/POf/8RTTz2FRx55BJmZmZgzZ06D+xqLV2PZiBtdjYVrriLYvHmz9O7dWwIDA0Wr1YqPj4/06dPH7NJRkatXrrRo0UI0Gk219824Vk1XbACQuLg4s3HVXZmRlZUlf/vb38Td3V1cXV2lV69ecvTo0WqvGFm8eLE0adJE7O3tq1yhlJqaKn379hUPDw/RaDQSGBgoffv2rXK1x8aNG6V169ai1WolJCREXn311VrdZ+enn36SRx99VJo2bSpOTk5iMBikQ4cOsmrVKrN2RUVFMn36dGncuLFoNBrx9/eXcePG3fQ+OyIi2dnZMmTIEPHw8BCDwSCPP/646Sqwa7e1uLhYnnrqKfH29hZFUcyudqrpPjsjRowQT09P0Wg0EhYWJq+//nqN99m53rWvgRv5/vvvpXPnzqLX6yUwMFBmz54t77//vll9e/fulcGDB0vjxo1Fp9OJp6enREdHV7lC7/p11nQvqequYqu8z46Pj484Ojqa7hVkMBhk0qRJN90OEZGLFy/KvHnz5N577xUXFxfRaDQSEhIijz/+uNm9VUSu9t2TTz4pgYGBotFoxNvbWzp37iz//Oc/q9R5/euxuqvtLly4IEOGDJFGjRqZnt9r21b3HImIvPrqqxIaGio6nU5atmwp7733Xo3v2dpejVX5GaIoiri4uEhYWJiMHDlStm3bVu081z9vt3o1lojI4cOHZejQoeLj4yMajUb8/PzkwQcflHfeecfU5mb3FktOTpaYmBhxc3MTnU4njRs3liFDhpjdiqLyPjvXq67PioqK5KWXXpJmzZqJVqsVT09PefDBByUtLc2s3QcffCAdO3YUvV4vTk5O0rRpUxk1apQcOHCg2jqvX+e1l23fqMbo6Gi55557zMYVFBTIP/7xD9O9bypviTBp0iSzS9/T09OlS5cu4uzsXO19dmrzHqu8z07z5s1Fo9GIl5eXPP7449XeZychIUGCg4NFq9VK69atZdOmTQ3uPjuKSB2fjk9EZAFpaWno0qULPv74Y4wYMcLa5RBRA8KwQ0Q2JyUlBXv37kVUVBScnJxw+PBhvPrqqzAYDDhy5EidnWNCRHcGnrNDRDbHzc0N27dvx+LFi3Hp0iV4eXmhd+/eSEhIYNAholvGIztERESkarz0nIiIiFSNYYeIiIhUjWGHiIiIVI0nKAOoqKjAuXPn4OrqWu1t3ImIiMj2iAguXbp0098+Y9jB1d8CCQ4OtnYZRERE9BdkZmZW+Z2vazHsAKbfasnMzISbm5uVqyEiIqLayM/PR3Bw8E1/c41hB//91V03NzeGHSIiogbmZqeg8ARlIiIiUjWGHSIiIlI1hh0iIiJSNZ6zQ0SkYuXl5SgtLbV2GUR/iUajgb29/W0vh2GHiEiFRAQ5OTm4ePGitUshui2NGjWCn5/fbd0Hj2GHiEiFKoOOj48PnJ2decNUanBEBJcvX0Zubi4AwN/f/y8vi2GHiEhlysvLTUHH09PT2uUQ/WVOTk4AgNzcXPj4+Pzlr7R4gjIRkcpUnqPj7Oxs5UqIbl/l6/h2zj1j2CEiUil+dUVqUBevY4YdIiIiUjWGHQs6knURj767D0eyLlq7FCKiO9aqVavQqFEja5dxSyxd85w5cxAZGXnby2kofcuwY0GJh85i769/IvHQWWuXQkTUIIwZMwaKolQZevXqVav5Q0NDsXjxYrNxw4YNw88//2yBas01lB3/X2XNvr1dvBqrjmXlXUZeYSkUBdh0+ByAq3+HRAVBBHDXaxDkzpMGiajhOJJ1EQlbfsLMPi3QOqiRxdfXq1cvrFy50mycTqf7y8tzcnIyXdVDdauh9C2P7NSxrgt2of/SPei3ZA8uFJYAAC4UlqDfkj3ov3QPui7YZeUKiYhuTX0fpdbpdPDz8zMb3N3dTdPnzJmDkJAQ6HQ6BAQE4LnnngMAdOvWDWfOnMGkSZNMR4SAqkdcKr/C+eCDDxASEgIXFxeMGzcO5eXleO211+Dn5wcfHx+88sorZnW9+eabiIiIgF6vR3BwMMaPH4+CggIAwO7du/HEE0/AaDSa1j1nzhwAQElJCV544QUEBgZCr9ejY8eO2L17t9myV61ahZCQEDg7O2Pw4MH4888/b9hHJSUlmDBhAvz9/eHo6IjQ0FAkJCSYpv/2228YOHAgXFxc4ObmhqFDh+L333+vcXndunVDfHy82bhBgwZhzJgxt9S3ALB8+XI0bdoUWq0WYWFhWL16tdl0RVHw/vvvY/DgwXB2dkazZs2wcePGG27v7WLYqWOLh0XCwe7qi0D+f1zlXwc7BYuHRVqjLCKiW5KVdxn/yTLi6Fmj2VHqo2eN+E+WEVl5l61S14YNG7Bo0SL87//+L3755RckJycjIiICAJCYmIigoCC8/PLLyM7ORnZ2do3LOXXqFL788kts3boV69atwwcffIC+ffsiKysLqampWLBgAf7xj39g3759pnns7Ozwr3/9C0ePHsWHH36InTt34oUXXgAAdO7cGYsXL4abm5tp3VOnTgUAPPHEE/j222+xfv16HDlyBI888gh69eqFX375BQDw3Xff4cknn8T48eORnp6OmJgY/POf/7xhP/zrX//Cxo0b8emnn+LEiRNYs2YNQkNDAVy9Gd+gQYNw4cIFpKamIiUlBadOncKwYcP+cr/Xtm+TkpLw/PPPY8qUKTh69CieeeYZPPHEE9i1y/w/+nPnzsXQoUNx5MgR9OnTB4899hguXLjwl+u7GX6NVccGtQ3E3T4u6LdkT5VpyXFdEB5osEJVRES35tqj0JUX/lYepa50+tW+Fln35s2b4eLiYjZu+vTpmDVrFn777Tf4+fmhR48e0Gg0CAkJQYcOHQAAHh4esLe3h6urK/z8/G64joqKCnzwwQdwdXVFq1atEBMTgxMnTmDLli2ws7NDWFgYFixYgN27d6NTp04AYHbko0mTJpg3bx7GjRuHZcuWQavVwmAwQFEUs3WfOnUK69atQ1ZWFgICAgAAU6dOxdatW7Fy5UrMnz8fb731FmJjYzFjxgwAQPPmzZGWloatW7fWWP9vv/2GZs2aoWvXrlAUBY0bNzZN27FjB44cOYKMjAwEBwcDAFavXo177rkH+/fvR/v27W/2FFRR275duHAhxowZg/HjxwMAJk+ejH379mHhwoWIiYkxtRszZgweffRRAMD8+fOxZMkSfP/997U+N+tW8ciOBVXeGoC3uiCihsaaR6ljYmKQnp5uNsTFxQEAHnnkERQVFeGuu+7C//zP/yApKQllZWW3vI7Q0FC4urqaHvv6+qJVq1aws7MzG1f5UwUAsGvXLjz00EMIDAyEq6srRo0ahT///BOFhYU1rufQoUMQETRv3hwuLi6mITU1FadOnQIAHD9+HPfdd5/ZfNc/vt6YMWOQnp6OsLAwPPfcc9i+fbtp2vHjxxEcHGwKOgDQqlUrNGrUCMePH79Jz9ye48ePo0uXLmbjunTpUmW9rVu3Nv1br9fD1dXVrK/rGo/sWICnixbeLjr4N3LEsPbB+GR/JrIvXoGni9bapRER1Yo1j1Lr9Xrcfffd1U4LDg7GiRMnkJKSgh07dmD8+PF4/fXXkZqaCo1GU+t1XN9WUZRqx1VUVAAAzpw5gz59+uDZZ5/FvHnz4OHhgT179mDs2LE3vLNvRUUF7O3tcfDgwSo/dVB59EpEqpv1hu69915kZGTgyy+/xI4dOzB06FD06NEDGzZsgIhUeyO+msYDV7+iu76Ov3rH4uvXUd16b9TXlsCwYwH+BifsmREDrb0dFEXBiA4hKCmvgM7h9n+mnoiovikKIPLfv9bm5OSEAQMGYMCAAYiLi0OLFi3wn//8B/feey+0Wi3Ky8vrfJ0HDhxAWVkZ3njjDdPRn08//dSsTXXrbtu2LcrLy5Gbm4v777+/2mW3atXK7NwgAFUeV8fNzQ3Dhg3DsGHDMGTIEPTq1QsXLlxAq1at8NtvvyEzM9N0dOfYsWMwGo1o2bJltcvy9vY2Ow+nvLwcR48eNfvqqTZ927JlS+zZswejRo0yjUtLS6txvfWFYcdCrg02iqIw6BBRg2Oto9TFxcXIyckxG+fg4AAvLy+sWrUK5eXl6NixI5ydnbF69Wo4OTmZzlkJDQ3F119/jeHDh0On08HLy6tOamratCnKysqwZMkS9O/fH99++y3eeecdszahoaEoKCjAV199hTZt2sDZ2RnNmzfHY489hlGjRuGNN95A27Zt8ccff2Dnzp2IiIhAnz598Nxzz6Fz58547bXXMGjQIGzfvv2G5+sAwKJFi+Dv74/IyEjY2dnhs88+g5+fHxo1aoQePXqgdevWeOyxx7B48WKUlZVh/PjxiI6ORrt27apd3oMPPojJkyfj3//+N5o2bYpFixbh4sWLVbbvZn07bdo0DB06FPfeey+6d++OTZs2ITExETt27Li1Dq9rQmI0GgWAGI1Ga5dCRHTbioqK5NixY1JUVHTby7pSWiYVFRUiIlJRUSFXSstue5k3Mnr0aMHV04PMhrCwMBERSUpKko4dO4qbm5vo9Xrp1KmT7NixwzT/3r17pXXr1qLT6aRyF7dy5UoxGAymNrNnz5Y2bdpUWe/AgQPNxkVHR8vzzz9vevzmm2+Kv7+/ODk5SWxsrHz00UcCQPLy8kxtnn32WfH09BQAMnv2bBERKSkpkZdeeklCQ0NFo9GIn5+fDB48WI4cOWKab8WKFRIUFCROTk7Sv39/WbhwoVnN13v33XclMjJS9Hq9uLm5Sffu3eXQoUOm6WfOnJEBAwaIXq8XV1dXeeSRRyQnJ6fGPigpKZFx48aJh4eH+Pj4SEJCggwcOFBGjx59S30rIrJs2TK56667RKPRSPPmzeWjjz4ymw5AkpKSzMYZDAZZuXJltdt6o9dzbfffyv+v+I6Wn58Pg8EAo9EINzc3a5dDRHRbrly5goyMDDRp0gSOjo7WLofottzo9Vzb/TevxiIiIiJVY9ghIiIiVWPYISIiIlVj2CEiIiJVY9ghIlIpXn9CalAXr2OGHSIilam8O+3ly9b5sU6iulT5Or6VO2RfjzcVJCJSGXt7ezRq1Mj0W0POzs41/kwAka0SEVy+fBm5ublo1KhRlZ/buBUMO0REKlT5y9SW/HFFovrQqFGjm/6K/c0w7BARqZCiKPD394ePj89f/kFHImvTaDS3dUSnklXDTkJCAhITE/HTTz/ByckJnTt3xoIFCxAWFlZt+2eeeQbvvvsuFi1ahPj4eNP44uJiTJ06FevWrUNRURG6d++OZcuWISgoqJ62hIjINtnb29fJzoKoIbPqCcqpqamIi4vDvn37kJKSgrKyMvTs2ROFhYVV2iYnJ+O7775DQEBAlWnx8fFISkrC+vXrsWfPHhQUFKBfv34W+eVbIiIialisemTn+l91XblyJXx8fHDw4EE88MADpvFnz57FhAkTsG3bNvTt29dsHqPRiBUrVmD16tXo0aMHAGDNmjUIDg7Gjh07EBsba/kNISIiIptlU5eeG41GAICHh4dpXEVFBUaOHIlp06bhnnvuqTLPwYMHUVpaip49e5rGBQQEIDw8HGlpadWup7i4GPn5+WYDERERqZPNhB0RweTJk9G1a1eEh4ebxi9YsAAODg547rnnqp0vJycHWq0W7u7uZuN9fX2Rk5NT7TwJCQkwGAymITg4uO42hIiIiGyKzYSdCRMm4MiRI1i3bp1p3MGDB/HWW29h1apVt3yPCBGpcZ6ZM2fCaDSahszMzNuqnYiIiGyXTYSdiRMnYuPGjdi1a5fZFVTffPMNcnNzERISAgcHBzg4OODMmTOYMmUKQkNDAVy9l0RJSQny8vLMlpmbmwtfX99q16fT6eDm5mY2EBERkTpZNeyICCZMmIDExETs3LkTTZo0MZs+cuRIHDlyBOnp6aYhICAA06ZNw7Zt2wAAUVFR0Gg0SElJMc2XnZ2No0ePonPnzvW6PURERGR7rHo1VlxcHNauXYsvvvgCrq6upnNsDAYDnJyc4OnpCU9PT7N5NBoN/Pz8TPfiMRgMGDt2LKZMmQJPT094eHhg6tSpiIiIMF2dRURERHcuq4ad5cuXAwC6detmNn7lypUYM2ZMrZezaNEiODg4YOjQoaabCq5atYo30iIiIiIoUhe/nd7A5efnw2AwwGg08vwdIiKiBqK2+2+bOEGZiIiIyFIYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNWsGnYSEhLQvn17uLq6wsfHB4MGDcKJEydM00tLSzF9+nRERERAr9cjICAAo0aNwrlz58yWU1xcjIkTJ8LLywt6vR4DBgxAVlZWfW8OERER2SCrhp3U1FTExcVh3759SElJQVlZGXr27InCwkIAwOXLl3Ho0CHMmjULhw4dQmJiIn7++WcMGDDAbDnx8fFISkrC+vXrsWfPHhQUFKBfv34oLy+3xmYRERGRDVFERKxdRKXz58/Dx8cHqampeOCBB6pts3//fnTo0AFnzpxBSEgIjEYjvL29sXr1agwbNgwAcO7cOQQHB2PLli2IjY296Xrz8/NhMBhgNBrh5uZWp9tEREREllHb/bdNnbNjNBoBAB4eHjdsoygKGjVqBAA4ePAgSktL0bNnT1ObgIAAhIeHIy0trdplFBcXIz8/32wgIiIidbKZsCMimDx5Mrp27Yrw8PBq21y5cgUzZszAiBEjTAkuJycHWq0W7u7uZm19fX2Rk5NT7XISEhJgMBhMQ3BwcN1uDBEREdkMmwk7EyZMwJEjR7Bu3bpqp5eWlmL48OGoqKjAsmXLbro8EYGiKNVOmzlzJoxGo2nIzMy8rdqJiIjIdjlYuwAAmDhxIjZu3Iivv/4aQUFBVaaXlpZi6NChyMjIwM6dO82+l/Pz80NJSQny8vLMju7k5uaic+fO1a5Pp9NBp9PV/YYQERGRzbHqkR0RwYQJE5CYmIidO3eiSZMmVdpUBp1ffvkFO3bsgKenp9n0qKgoaDQapKSkmMZlZ2fj6NGjNYYdIiIiunNY9chOXFwc1q5diy+++AKurq6mc2wMBgOcnJxQVlaGIUOG4NChQ9i8eTPKy8tNbTw8PKDVamEwGDB27FhMmTIFnp6e8PDwwNSpUxEREYEePXpYc/OIiIjIBlj10vOazqlZuXIlxowZg9OnT1d7tAcAdu3ahW7dugG4euLytGnTsHbtWhQVFaF79+5YtmxZrU885qXnREREDU9t9982dZ8da2HYISIianga5H12iIiIiOoaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREamaVcNOQkIC2rdvD1dXV/j4+GDQoEE4ceKEWRsRwZw5cxAQEAAnJyd069YNP/74o1mb4uJiTJw4EV5eXtDr9RgwYACysrLqc1OIiIjIRlk17KSmpiIuLg779u1DSkoKysrK0LNnTxQWFpravPbaa3jzzTexdOlS7N+/H35+fnjooYdw6dIlU5v4+HgkJSVh/fr12LNnDwoKCtCvXz+Ul5dbY7OIiIjIhigiItYuotL58+fh4+OD1NRUPPDAAxARBAQEID4+HtOnTwdw9SiOr68vFixYgGeeeQZGoxHe3t5YvXo1hg0bBgA4d+4cgoODsWXLFsTGxt50vfn5+TAYDDAajXBzc7PoNhIREVHdqO3+26bO2TEajQAADw8PAEBGRgZycnLQs2dPUxudTofo6GikpaUBAA4ePIjS0lKzNgEBAQgPDze1uV5xcTHy8/PNBiIiIlInmwk7IoLJkyeja9euCA8PBwDk5OQAAHx9fc3a+vr6mqbl5ORAq9XC3d29xjbXS0hIgMFgMA3BwcF1vTlERERkI2wm7EyYMAFHjhzBunXrqkxTFMXssYhUGXe9G7WZOXMmjEajacjMzPzrhRMREZFNs4mwM3HiRGzcuBG7du1CUFCQabyfnx8AVDlCk5ubazra4+fnh5KSEuTl5dXY5no6nQ5ubm5mAxEREamTVcOOiGDChAlITEzEzp070aRJE7PpTZo0gZ+fH1JSUkzjSkpKkJqais6dOwMAoqKioNFozNpkZ2fj6NGjpjZERER053Kw5srj4uKwdu1afPHFF3B1dTUdwTEYDHBycoKiKIiPj8f8+fPRrFkzNGvWDPPnz4ezszNGjBhhajt27FhMmTIFnp6e8PDwwNSpUxEREYEePXpYc/OIiIjIBlg17CxfvhwA0K1bN7PxK1euxJgxYwAAL7zwAoqKijB+/Hjk5eWhY8eO2L59O1xdXU3tFy1aBAcHBwwdOhRFRUXo3r07Vq1aBXt7+/raFCIiIrJRNnWfHWvhfXaIiIgangZ5nx0iIiKiusawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqmbVsPP111+jf//+CAgIgKIoSE5ONpteUFCACRMmICgoCE5OTmjZsiWWL19u1qa4uBgTJ06El5cX9Ho9BgwYgKysrHrcCiIiIrJlVg07hYWFaNOmDZYuXVrt9EmTJmHr1q1Ys2YNjh8/jkmTJmHixIn44osvTG3i4+ORlJSE9evXY8+ePSgoKEC/fv1QXl5eX5tBRERENkwREbF2EQCgKAqSkpIwaNAg07jw8HAMGzYMs2bNMo2LiopCnz59MG/ePBiNRnh7e2P16tUYNmwYAODcuXMIDg7Gli1bEBsbW6t15+fnw2AwwGg0ws3NrU63i4iIiCyjtvtvmz5np2vXrti4cSPOnj0LEcGuXbvw888/m0LMwYMHUVpaip49e5rmCQgIQHh4ONLS0mpcbnFxMfLz880GIiIiUiebDjv/+te/0KpVKwQFBUGr1aJXr15YtmwZunbtCgDIycmBVquFu7u72Xy+vr7IycmpcbkJCQkwGAymITg42KLbQURERNZj82Fn37592LhxIw4ePIg33ngD48ePx44dO244n4hAUZQap8+cORNGo9E0ZGZm1nXpREREZCMcrF1ATYqKivDiiy8iKSkJffv2BQC0bt0a6enpWLhwIXr06AE/Pz+UlJQgLy/P7OhObm4uOnfuXOOydToddDqdxbeBiIiIrM9mj+yUlpaitLQUdnbmJdrb26OiogLA1ZOVNRoNUlJSTNOzs7Nx9OjRG4YdIiIiunNY9chOQUEBTp48aXqckZGB9PR0eHh4ICQkBNHR0Zg2bRqcnJzQuHFjpKam4qOPPsKbb74JADAYDBg7diymTJkCT09PeHh4YOrUqYiIiECPHj2stVlERERkQ6x66fnu3bsRExNTZfzo0aOxatUq5OTkYObMmdi+fTsuXLiA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Dh1CYmIifv75ZwwYMMCsXXx8PJKSkrB+/Xrs2bMHBQUF6NevH8rLy+trM4iIiMiG2cxvYymKgqSkJAwaNKjGNvv370eHDh1w5swZhISEwGg0wtvbG6tXr8awYcMAAOfOnUNwcDC2bNmC2NjYWq2bv41FRETU8NR2/92gztkxGo1QFAWNGjUCABw8eBClpaXo2bOnqU1AQADCw8ORlpZW43KKi4uRn59vNhAREZE6NZiwc+XKFcyYMQMjRowwpbecnBxotVq4u7ubtfX19UVOTk6Ny0pISIDBYDANwcHBFq2diIiIrKdBhJ3S0lIMHz4cFRUVWLZs2U3biwgURalx+syZM2E0Gk1DZmZmXZZLRERENsTmw05paSmGDh2KjIwMpKSkmH0n5+fnh5KSEuTl5ZnNk5ubC19f3xqXqdPp4ObmZjYQERGROtl02KkMOr/88gt27NgBT09Ps+lRUVHQaDRISUkxjcvOzsbRo0fRuXPn+i6XiIiIbJCDNVdeUFCAkydPmh5nZGQgPT0dHh4eCAgIwJAhQ3Do0CFs3rwZ5eXlpvNwPDw8oNVqYTAYMHbsWEyZMgWenp7w8PDA1KlTERERgR49elhrs4iIiMiGWPXS8927dyMmJqbK+NGjR2POnDlo0qRJtfPt2rUL3bp1A3D1xOVp06Zh7dq1KCoqQvfu3bFs2bJbOumYl54TERE1PLXdf9vMfXasiWGHiIio4VHlfXaIiIiIbhXDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOEZGNOZJ1EY++uw9Hsi5auxQiVWDYISKyMYmHzmLvr38i8dBZa5dCpAoO1i6AiIiArLzLyCsshaIAmw6fA3D175CoIIgA7noNgtydrVwlUcPEsENEZAO6Lthl+rfy/38vFJag35I9pvGnX+1bz1URqYNVv8b6+uuv0b9/fwQEBEBRFCQnJ5tNFxHMmTMHAQEBcHJyQrdu3fDjjz+atSkuLsbE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vP7665g3bx62bt2Kdu3a1X3xDYgl+rlFixb4z3/+g/T0dNMwYMAAxMTEID09HcHBwRbbHltlqddzly5dcPLkSVOYBICff/4Z/v7+d2TQASzX15cvX64SaOzt7SFXL/Cpwy1oGP5KP9eGxfeFdXKa8x2i8nK7FStWyLFjxyQ+Pl70er2cPn1aRERmzJghI0eONLWvvKxx0qRJcuzYMVmxYkWVyxq//fZbsbe3l1dffVWOHz8ur776Ki89t0A/L1iwQLRarWzYsEGys7NNw6VLl+p9+2yFJfr5erwayzL9/Ntvv4mLi4tMmDBBTpw4IZs3bxYfHx/55z//We/bZ0ss0dezZ88WV1dXWbdunfz666+yfft2adq0qQwdOrTet89W3Go/i4j88MMP8sMPP0hUVJSMGDFCfvjhB/nxxx9N0y29L2TYuUVvv/22NG7cWLRardx7772SmppqmjZ69GiJjo42a797925p27ataLVaCQ0NleXLl1dZ5meffSZhYWGi0WikRYsW8vnnn1t6M2xeXfdz48aNBUCVYfbs2fWwNbbLEq/nazHsXGWJfk5LS5OOHTuKTqeTu+66S1555RUpKyuz9KbYvLru69LSUpkzZ440bdpUHB0dJTg4WMaPHy95eXn1sDW261b7ubrP38aNG5u1seS+UPn/IoiIiIhUiefsEBERkaox7BAREZGqMewQERGRqjHsEBERkaox7BAREZGqMewQERGRqjHsEBERkaox7BAREZGqMewQERGRqjHsEBERkaox7BCR6pw/fx5+fn6YP3++adx3330HrVaL7du3W7EyIrIG/jYWEanSli1bMGjQIKSlpaFFixZo27Yt+vbti8WLF1u7NCKqZww7RKRacXFx2LFjB9q3b4/Dhw9j//79cHR0tHZZRFTPGHaISLWKiooQHh6OzMxMHDhwAK1bt7Z2SURkBTxnh4hU69dff8W5c+dQUVGBM2fOWLscIrISHtkhIlUqKSlBhw4dEBkZiRYtWuDNN9/Ef/7zH/j6+lq7NCKqZww7RKRK06ZNw4YNG3D48GG4uLggJiYGrq6u2Lx5s7VLI6J6xq+xiEh1du/ejcWLF2P16tVwc3ODnZ0dVq9ejT179mD58uXWLo+I6hmP7BAREZGq8cgOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGp2v8BZ4UCmG4iWt8AAAAASUVORK5CYII="/>
-</div>
-</div>
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
-<pre>The estimated temperature at the nodes are: ['250.00', '174.84', '128.64', '102.18', '90.15', '90.15'] [C]
-</pre>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=0b47e9c2">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=57632792">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 7:</b>
-<p>Now, instead of using the central difference for approximating the second derivative. Use the forward difference to replace the second derivative (first order accurate). Write the algebraic representation of the differential equation below.</p>
-</p>
-</div>
+<b>Task 2.3:</b>
+<p>Just as we did in Task 2.1, this task has three parts: a) discretize the analytic expression into a system of equations using <b>forward differences</b>, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.</p>
+</p></div>
 </div>
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=74174f3a">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=2d4b9fb9">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
-<p> Answer
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<p>Add the image.</p>
-</p>
+<b>Task 2.3a:</b>
+<p>Discretize the analytic expression into a system of equations for a grid with 6 points using <b>forward differences</b>.</p>
+<p><em>Write your answer by hand using paper/tablet and include the image below.</em></p>
 </p></div>
 </div>
 </div>
 </div>
-</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=a4e0342e">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=1c5ec2f2">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
-<p>
-<b>Task 8:</b>
-<p>Now, write the resulting matrix A, the vector T and the vector b.</p>
-</p>
+<p><em>Your answer here.</em></p>
 </div>
 </div>
 </div>
 </div>
-</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=b9ca660d">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=361f1638">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<p>
+<b>Task 2.3b:</b>
+<p>Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.</p>
+<p><em>Write your answer by hand using paper/tablet and include the image below.</em></p>
+</p></div>
 </div>
 </div>
 </div>
-</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=8cb492f8">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=047a38d3">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
-<p> Answer
-<p>
-<p>Add the image.</p>
-</p>
-</p></div>
+<p><em>Your answer here.</em></p>
 </div>
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=0640b43e">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=3996b611">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 9:</b>
-<p>The original code is copied below, modify it accordingly to your new discretization. Keep Dirichlet conditions.</p>
-</p>
-</div>
-</div>
+<b>Task 2.3c:</b>
+<p>Implement the discretized system of equations in a code cell.</p>
+<p><b>This time we did not do it for you!</b> Copy the code from Task 2.1c and revise it to solve the system of equations using <b>Forward Differences</b>. Keep the Dirichlet conditions.</p>
+</p></div>
 </div>
 </div>
-</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=1e783d3e">
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=1e783d3e">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [10]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
 <div class="cm-editor cm-s-jupyter">
-<div class="highlight hl-ipython3"><pre><span></span><span class="n">Ts</span> <span class="o">=</span> <span class="mi">30</span>
-<span class="n">alpha</span> <span class="o">=</span> <span class="mi">500</span>
-<span class="n">dx</span><span class="o">=</span><span class="mf">0.02</span>
-
-<span class="c1"># grid creation</span>
-<span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mf">0.1</span><span class="o">+</span><span class="n">dx</span><span class="p">,</span><span class="n">dx</span><span class="p">)</span>
-<span class="n">T</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
-<span class="n">n</span><span class="o">=</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
-
-<span class="c1"># boundary conditions</span>
-<span class="n">T</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">250</span>
-<span class="n">T</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">Ts</span>
-
-<span class="c1"># Building matrix A</span>
-<span class="n">matrix_element</span> <span class="o">=</span> <span class="o">-</span><span class="p">(</span><span class="mi">2</span><span class="o">+</span><span class="n">dx</span><span class="o">**</span><span class="mi">2</span><span class="o">*</span><span class="n">alpha</span><span class="p">)</span>
-<span class="n">A</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">-</span><span class="mi">2</span><span class="p">))</span>
-<span class="n">np</span><span class="o">.</span><span class="n">fill_diagonal</span><span class="p">(</span><span class="n">A</span><span class="p">,</span> <span class="n">matrix_element</span><span class="p">)</span>
-<span class="n">A</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="mi">3</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">n</span><span class="o">-</span><span class="mi">2</span><span class="p">)]</span> <span class="o">=</span> <span class="mi">1</span>  <span class="c1"># Upper diagonal</span>
-<span class="n">A</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">n</span><span class="o">-</span><span class="mi">2</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="mi">3</span><span class="p">)]</span> <span class="o">=</span> <span class="mi">1</span>  <span class="c1"># Lower diagonal</span>
-
-<span class="c1"># Building vector b</span>
-<span class="n">b_element</span> <span class="o">=</span> <span class="o">-</span><span class="n">dx</span><span class="o">**</span><span class="mi">2</span><span class="o">*</span><span class="n">alpha</span><span class="o">*</span><span class="n">Ts</span>
-<span class="n">b</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">-</span><span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="n">b_element</span>
-<span class="n">b</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">T</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
-<span class="n">b</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">T</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
-
-<span class="c1"># Solving the system</span>
-<span class="n">T</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">solve</span><span class="p">(</span><span class="n">A</span><span class="p">,</span><span class="n">b</span><span class="p">)</span>
-
-<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">T</span><span class="p">,</span><span class="s1">'*'</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s1">'Estimated solution'</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'x'</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'T'</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Estimated solution using Forward Difference method'</span><span class="p">)</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
-<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
-
-<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'The estimated temperature at the nodes are: </span><span class="si">{</span><span class="p">[</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">temp</span><span class="si">:</span><span class="s2">.2f</span><span class="si">}</span><span class="s2">"</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">T</span><span class="p">]</span><span class="si">}</span><span class="s1"> [C]'</span><span class="p">)</span>
-
-<span class="c1">#to test your temperature at x=0.02 for task 9</span>
-<span class="n">ind</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argmin</span><span class="p">(</span><span class="nb">abs</span><span class="p">(</span><span class="n">x</span><span class="o">-</span><span class="mf">0.02</span><span class="p">))</span>
-<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'The temperature at x=0.02 is: </span><span class="si">{</span><span class="n">T</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span><span class="si">:</span><span class="s1">.2f</span><span class="si">}</span><span class="s1"> [C]'</span><span class="p">)</span>
+<div class="highlight hl-ipython3"><pre><span></span><span class="n">YOUR_CODE_HERE</span>
 </pre></div>
 </div>
 </div>
 </div>
 </div>
-<div class="jp-Cell-outputWrapper">
-<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
-</div>
-<div class="jp-OutputArea jp-Cell-outputArea">
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
-<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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jz76yDz++ONm/vz5ZvXq1WbOnDmmXbt2Jioqyhw8eNAYY8yBAwfMxIkTjSTzyiuvOOs6cOCAMcaYWbNmGcuyTJ8+fcy8efPMJ598Ynr27Gm8vb3N8uXLnctavny58fb2Nm3btjXz5s0zH330kbnqqqtMzZo1i63X2Y4fP24iIyNNixYtzIcffmhWr15tPvjgA/O3v/3NbNu2zRhjTGFhoenSpYvx8fExjz32mFm6dKl57rnnTHBwsGnWrJk5efKkc37t2rUz7dq1cz5euXKlkWRWrlzpstxdu3YZSWb69OnGGGN+/vln07dvXyPJOQ7r1q1zzjspKckMHjzY+fwDBw6YhIQEExUVZV5//XWzZMkSc9999xlJZujQocWWk5ycbLp27WoWLFhgFixYYBo3bmzCw8PN0aNHzzk+JW0bxvz/bXPXrl3O5QQEBJjrr7/eLFiwwKxatcq8//775vbbbzdHjhxxPk+SGTduXLH51K5d29x///3m888/N2+99ZYJDw83qampLsscOHCg8fLyMmPHjjVLly4106ZNM4mJicbhcLiMTWkkmWHDhhV7LRUWFl7UmCYkJJjU1FQzd+5cs3TpUrNr1y4zYMAAU69ePWff9evXG0kmMDDQvP/++872bt26mauvvtr5uCyvlzPHKyEhwdx7773ms88+M3PnzjX5+fnOv9Xdd99tPvvsM/PGG2+YhIQEExsb67JNliYpKcn06NGj1Oljx441ksyXX37pMqZFf8+9e/eaefPmGUnm/vvvN+vWrTPffvut+fnnn80rr7xiJJmJEyeadevWmR9//NEYY8yKFSuMn5+fufbaa80HH3xglixZYoYMGeLy2jjfej/99NPGsixz1113mUWLFpl58+aZa665xgQHBzuXY4wxgwcPNn5+fqZhw4bmueeeM8uXLzePP/64sSzLTJgwwdnv1KlTJjU11fj4+JhRo0aZxYsXm4ULF5pHHnnEzJ4929nvnnvuMb6+vmbkyJFmyZIl5p///Kdp0KCBiYmJMRkZGecc66K/Vf369c2TTz5pli1bZkaPHm0kmfvuu880aNDA/OMf/zDLli0zd955p5FkPv74Y+fzs7OzTdOmTU316tXN1KlTzfLly82LL75oHA6H6dChg3ObXrdunQkMDDTdu3d3vqcUjcmFvPbuvfdeZ21Lliwxr7/+uomKijKJiYku2+elboOeRNjxoKKNsaSbt7e3s99zzz1nJJ3zg2vDhg3F3kCKlBZ2AgMDTXp6urNt8+bNRpKJi4sz2dnZzvYFCxYYSWbhwoWlLj8/P98cP37cBAcHmxdffNHZ/tFHH5UYBrKzs01ERITp1auXS3tBQYG54oorXD4oWrZsaeLj401OTo6zLSsry0RERJw37GzcuNFIMgsWLCi1z5IlS4wkM2XKFJf2Dz74wEgyb7zxhrPtYsOOMcakpaWVWu/ZYafog+frr7926Td06FBjWZbZsWOHy3IaN27sEpC/+eYbI8nlzbskZQ07c+fONZLM5s2bzzm/0sLOsGHDXPpNmTLFSDL79+83xhjz448/GklmzJgxLv1mz55tJJU57JR0e/PNN40xFz6mderUMXl5eS5933rrLSPJ7NmzxxhjzFNPPWUaNGhgevfube68805jjDF5eXkmODjYPPLII6XWWtrrpWi87rjjDpf+R44cMQEBAebGG290af/qq6+MpHIJO6+99pqRZD744ANn29l/z6KxefbZZ12eW/Q6+Oijj1zaGzRoYJo1a2ZOnTrl0t6zZ08TFxdnCgoKzrnee/bsMT4+Pub+++93aT927JiJjY01/fr1c7YNHjzYSDIffvihS9/u3bub+vXrOx/PnDnTZbsoybp164wk8/zzz7u079271wQGBprRo0eX+lxj/v/r6uznN23a1Egy8+bNc7adOnXKREVFmZtuusnZNmnSJOPl5WU2bNjg8vyi1+HixYudbcHBwSW+Psr62tu+fXuJ/b7++msjybkdl8c26EkcxqoEZs6cqQ0bNrjcvv76a+f0okNU/fr104cffqjffvutXJbbtGlTJSQkOB83bNhQ0ukz64OCgoq1n7nL/fjx4xozZowuu+wy+fj4yMfHRyEhIcrOztb27dvPu+y1a9fq8OHDGjx4sPLz8523wsJCde3aVRs2bFB2drays7O1YcMG3XTTTQoICHA+PzQ0VL169Trvci677DKFh4drzJgxev3117Vt27ZifVasWCFJxQ6V3HLLLQoODi7xsJq7rVixQo0aNdLVV1/t0j5kyBAZY5w1F+nRo4e8vb2dj5s0aSJJxQ6TXKymTZvKz89P9957r959990y7co/U+/evV0en13f6tWrJZ3exs/Ut29f+fiU/dTCfv36FXstFZ24eaFj2rt372InN3fq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df/996t69eoKDg5W7969lZ6eXpGrAgAAKimPhp3Vq1crLS1N69ev17Jly5Sfn6/OnTsrOzvb2WfKlCmaOnWqXn75ZW3YsEGxsbG6/vrrdezYMWef4cOHa/78+ZozZ47WrFmj48ePq2fPniooKPDEagEAgErEMsYYTxdR5ODBg4qOjtbq1at13XXXyRij+Ph4DR8+XGPGjJF0ei9OTEyMJk+erL/+9a/KzMxUVFSUZs2apf79+0uS9u3bp8TERC1evFhdunQ573KzsrLkcDiUmZmpsLAwt64jAAAoH2X9/K5U5+xkZmZKkiIiIiRJu3btUkZGhjp37uzs4+/vr3bt2mnt2rWSpE2bNunUqVMufeLj45WSkuLsc7bc3FxlZWW53AAAgD1VmrBjjNGIESPUtm1bpaSkSJIyMjIkSTExMS59Y2JinNMyMjLk5+en8PDwUvucbdKkSXI4HM5bYmJiea8OAACoJCpN2Lnvvvu0ZcsWzZ49u9g0y7JcHhtjirWd7Vx9Hn74YWVmZjpve/fuvfjCAQBApVYpws7999+vhQsXauXKlapRo4azPTY2VpKK7aE5cOCAc29PbGys8vLydOTIkVL7nM3f319hYWEuNwAAYE8eDTvGGN13332aN2+eVqxYoVq1arlMr1WrlmJjY7Vs2TJnW15enlavXq3WrVtLkpo3by5fX1+XPvv379fWrVudfQAAwJ+XjycXnpaWpn/+85/617/+pdDQUOceHIfDocDAQFmWpeHDh2vixImqW7eu6tatq4kTJyooKEiDBg1y9r377rs1cuRIRUZGKiIiQqNGjVLjxo3VqVMnT64eAACoBDwadl577TVJUvv27V3ap0+friFDhkiSRo8erZycHA0bNkxHjhxRy5YttXTpUoWGhjr7v/DCC/Lx8VG/fv2Uk5Ojjh07asaMGfL29q6oVQEAAJVUpfqeHU/he3YAAKh6quT37AAAAJQ3wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg5sYUv6UQ18Y722pB/1dCkAgEqGsANbmPftb1q385Dmffubp0sBAFQyPp4uALhY6UdO6Ej2KVmW9Mn3+ySdvu/bvIaMkcKDfVUjPMjDVQIAPI2wgyqr7eSVzn9b/70/nJ2nni+tcbbvfqZHBVcFAKhsOIyFKmta/6by8Todc8x/24rufbwsTevf1BNlAQAqGfbsoMrq0yxBl0WHuOzJKbIgrY1SEhweqAoAUNmwZwe2YFmu9wAAFGHPDqq0yBA/RYX4K65agPpflagPNuzV/qMnFRni5+nSAACVhGWMMefvZm9ZWVlyOBzKzMxUWFiYp8vBBcrNL5Cft5csy5IxRnkFhfL38fZ0WQAANyvr5zd7dlDlnRlsLMsi6AAAXHDODgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDWPhp1///vf6tWrl+Lj42VZlhYsWOAyfciQIbIsy+XWqlUrlz65ubm6//77Vb16dQUHB6t3795KT0+vwLUAAACVmUfDTnZ2tq644gq9/PLLpfbp2rWr9u/f77wtXrzYZfrw4cM1f/58zZkzR2vWrNHx48fVs2dPFRQUuLt8AABQBfh4cuHdunVTt27dztnH399fsbGxJU7LzMzU22+/rVmzZqlTp06SpPfee0+JiYlavny5unTpUu41AwCAqqXSn7OzatUqRUdHq169errnnnt04MAB57RNmzbp1KlT6ty5s7MtPj5eKSkpWrt2rSfKBQAAlYxH9+ycT7du3XTLLbcoKSlJu3bt0mOPPaYOHTpo06ZN8vf3V0ZGhvz8/BQeHu7yvJiYGGVkZJQ639zcXOXm5jofZ2VluW0dAACAZ1XqsNO/f3/nv1NSUtSiRQslJSXp008/1U033VTq84wxsiyr1OmTJk3ShAkTyrVWAABQOVX6w1hniouLU1JSkn766SdJUmxsrPLy8nTkyBGXfgcOHFBMTEyp83n44YeVmZnpvO3du9etdQMAAM+pUmHn0KFD2rt3r+Li4iRJzZs3l6+vr5YtW+bss3//fm3dulWtW7cudT7+/v4KCwtzuQEAAHvy6GGs48eP6+eff3Y+3rVrlzZv3qyIiAhFRERo/PjxuvnmmxUXF6fdu3frkUceUfXq1XXjjTdKkhwOh+6++26NHDlSkZGRioiI0KhRo9S4cWPn1VkAAODPzaNhZ+PGjUpNTXU+HjFihCRp8ODBeu211/TDDz9o5syZOnr0qOLi4pSamqoPPvhAoaGhzue88MIL8vHxUb9+/ZSTk6OOHTtqxowZ8vb2rvD1AQAAlY9ljDGeLsLTsrKy5HA4lJmZySEtAACqiLJ+flepc3YAAAAuFGEHAADYGmEHAADYGmEHAADYGmEHAADYWpnDzl133aVjx465sxYAAIByV+aw8+677yonJ8edtQAAAJS7Mocdvo4HAABURRd0zs65fkkcAACgMrqgn4uoV6/eeQPP4cOHL6kgAACA8nRBYWfChAlyOBzuqgUAAKDcXVDYGTBggKKjo91VCwAAQLkr8zk7nK8DAACqIq7GAgAAtlbmw1iFhYXurAMAAMAt+LkIAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAGW2Jf2oBr6xXlvSj3q6FAAoM8IOgDKb9+1vWrfzkOZ9+5unSwGAMvPxdAEAKrf0Iyd0JPuULEv65Pt9kk7f921eQ8ZI4cG+qhEe5OEqAaB0hB0A59R28krnv63/3h/OzlPPl9Y423c/06OCqwKAsuMwFoBzmta/qXy8Tscc89+2onsfL0vT+jf1RFkAUGbs2QFwTn2aJeiy6BCXPTlFFqS1UUqCwwNVAUDZsWcHQJlZlus9AFQF7NkBcF6RIX6KCvFXXLUA9b8qUR9s2Kv9R08qMsTP06UBwHlZxhhz/m72lpWVJYfDoczMTIWFhXm6HKBSys0vkJ+3lyzLkjFGeQWF8vfx9nRZAP7Eyvr5zZ4dAGVyZrCxLIugA6DK4JwdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABgax4NO//+97/Vq1cvxcfHy7IsLViwwGW6MUbjx49XfHy8AgMD1b59e/34448ufXJzc3X//ferevXqCg4OVu/evZWenl6BawEAACozj4ad7OxsXXHFFXr55ZdLnD5lyhRNnTpVL7/8sjZs2KDY2Fhdf/31OnbsmLPP8OHDNX/+fM2ZM0dr1qzR8ePH1bNnTxUUFFTUagAAgErMMsYYTxchSZZlaf78+erTp4+k03t14uPjNXz4cI0ZM0bS6b04MTExmjx5sv76178qMzNTUVFRmjVrlvr37y9J2rdvnxITE7V48WJ16dKlTMvOysqSw+FQZmamwsLC3LJ+AACgfJX187vSnrOza9cuZWRkqHPnzs42f39/tWvXTmvXrpUkbdq0SadOnXLpEx8fr5SUFGefkuTm5iorK8vlBgAA7KnShp2MjAxJUkxMjEt7TEyMc1pGRob8/PwUHh5eap+STJo0SQ6Hw3lLTEws5+oBAEBlUWnDThHLslweG2OKtZ3tfH0efvhhZWZmOm979+4tl1oBAEDlU2nDTmxsrCQV20Nz4MAB596e2NhY5eXl6ciRI6X2KYm/v7/CwsJcbgAAwJ4qbdipVauWYmNjtWzZMmdbXl6eVq9erdatW0uSmjdvLl9fX5c++/fv19atW519AADAn5uPJxd+/Phx/fzzz87Hu3bt0ubNmxUREaGaNWtq+PDhmjhxourWrau6detq4sSJCgoK0qBBgyRJDodDd999t0aOHKnIyEhFRERo1KhRaty4sTp16uSp1QIAAJWIR8POxo0blZqa6nw8YsQISdLgwYM1Y8YMjR49Wjk5ORo2bJiOHDmili1baunSpQoNDXU+54UXXpCPj4/69eunnJwcdezYUTNmzJC3t3eFrw8AAKh8Ks337HgS37MDAEDVU+W/ZwcAAKA8EHYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAoJLZkn5UA99Yry3pRz1dCmALhB0AqGTmffub1u08pHnf/ubpUgBb8PF0AQAAKf3ICR3J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"/>
-</div>
-</div>
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
-<pre>The estimated temperature at the nodes are: ['250.00', '168.77', '115.29', '78.86', '52.21', '30.00'] [C]
-The temperature at x=0.02 is: 168.77 [C]
-</pre>
-</div>
-</div>
-</div>
-</div>
 </div>
 <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=bac6bb0f">
 <div class="jp-Cell-inputWrapper" tabindex="0">
@@ -8246,9 +8157,9 @@ The temperature at x=0.02 is: 168.77 [C]
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px">
 <p>
-<b>Task 9:</b>
+<b>Task 2.4:</b>
 <p>How much finer does your grid has to be in the forward difference implementation to get a similar value at x = 0.02 as in the central difference implementation? Vary your dx.</p>
 </p>
 </div>
@@ -8256,12 +8167,13 @@ The temperature at x=0.02 is: 168.77 [C]
 </div>
 </div>
 </div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=db91d68b">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=dd2ead47">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
+<p><em>Your answer here.</em></p>
 </div>
 </div>
 </div>
@@ -8272,10 +8184,10 @@ The temperature at x=0.02 is: 168.77 [C]
 </div>
 <div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
 </div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
-<div style="background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
+<div style="background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px">
 <p>
-<b>Bonus note:</b>
-<p>The matrix inversion using numpy is one way to solve the system, another is the gauss_jordan written below and another one is the sparse matrix based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change dx to 0.0002 of the original code that solves the second degree ODE and test the time it takes by each method.</p>
+<b>Bonus Task</b>
+<p>The matrix inversion using numpy is one way to solve the system, another is the <code>gauss_jordan</code> method, written below, and another one is the sparse matrix-based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change <code>dx</code> to 0.0002 of the original code that solves the second degree ODE and test the time it takes by each method.</p>
 </p>
 </div>
 </div>
@@ -8330,12 +8242,12 @@ The temperature at x=0.02 is: 168.77 [C]
 </div>
 </div>
 </div>
-</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=fbd32c69">
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=fbd32c69">
 <div class="jp-Cell-inputWrapper" tabindex="0">
 <div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
 </div>
 <div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [106]:</div>
+<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
 <div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
 <div class="cm-editor cm-s-jupyter">
 <div class="highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">time</span>
@@ -8372,21 +8284,6 @@ The temperature at x=0.02 is: 168.77 [C]
 </div>
 </div>
 </div>
-<div class="jp-Cell-outputWrapper">
-<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
-</div>
-<div class="jp-OutputArea jp-Cell-outputArea">
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
-<pre>The time used by direct matrix inversion solution is  2.037e-02 sec
-The time used by Gauss-jordan solution is  2.169e+00 sec
-The time used by the sparse matrix solver is  7.204e-03 sec
-</pre>
-</div>
-</div>
-</div>
-</div>
 </div>
 <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=2921b3f2">
 <div class="jp-Cell-inputWrapper" tabindex="0">
@@ -8403,14 +8300,14 @@ The time used by the sparse matrix solver is  7.204e-03 sec
         article { position: relative }
     </style>
 <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license">
-<img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width:; width:88px; height:auto; padding-top:10px">
-</img></a>
+<img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width:; width:88px; height:auto; padding-top:10px"/>
+</a>
 <a href="https://www.tudelft.nl/en/ceg" rel="TU Delft">
-<img alt="TU Delft" src="https://gitlab.tudelft.nl/mude/public/-/raw/main/tu-logo/TU_P1_full-color.png" style="border-width:0; width:100px; height:auto; padding-bottom:0px">
-</img></a>
+<img alt="TU Delft" src="https://gitlab.tudelft.nl/mude/public/-/raw/main/tu-logo/TU_P1_full-color.png" style="border-width:0; width:100px; height:auto; padding-bottom:0px"/>
+</a>
 <a href="http://mude.citg.tudelft.nl/" rel="MUDE">
-<img alt="MUDE" src="https://gitlab.tudelft.nl/mude/public/-/raw/main/mude-logo/MUDE_Logo-small.png" style="border-width:0; width:100px; height:auto; padding-bottom:0px">
-</img></a>
+<img alt="MUDE" src="https://gitlab.tudelft.nl/mude/public/-/raw/main/mude-logo/MUDE_Logo-small.png" style="border-width:0; width:100px; height:auto; padding-bottom:0px"/>
+</a>
 </h3>
 <span style="font-size: 75%">
 © Copyright 2023 <a href="https://studiegids.tudelft.nl/a101_displayCourse.do?course_id=65595" rel="MUDE Team">MUDE Teaching Team</a> TU Delft. This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.
@@ -8419,7 +8316,7 @@ The time used by the sparse matrix solver is  7.204e-03 sec
 </div>
 </div>
 </div>
-</div></main>
+</div></div></div></div></div></div></div></main>
 </body>
 <script type="application/vnd.jupyter.widget-state+json">
 {"state": {}, "version_major": 2, "version_minor": 0}
diff --git a/src/teachers/Week_1_6/WS_1_6_student.ipynb b/src/teachers/Week_1_6/WS_1_6_student.ipynb
index d0f829a5..6feca725 100644
--- a/src/teachers/Week_1_6/WS_1_6_student.ipynb
+++ b/src/teachers/Week_1_6/WS_1_6_student.ipynb
@@ -34,14 +34,12 @@
     "\n",
     "This assignment is aimed to develop an understanding of the **Ordinary Differential Equation (ODE)**. There will be two sections about cooling and heating scenerios, corresponding to the first-order and the second-order ODEs. Please go through the text that follows and perform all steps outlined therein.\n",
     "\n",
-    "## Section 1: First-order ODE\n",
-    "### 1.1 Linear ODE\n",
+    "## Part 1: First-order ODE\n",
+    "\n",
     "In the study of heat transfer, **Newton's law of cooling** is a physical law which states that the rate of heat loss of a body is directly proportional to the difference in the temperatures between the body and its environment. It can be expressed in the form of ODE, as below:\n",
     "\n",
     "$$\\frac{dT}{dt}=-k(T - T_s)$$\n",
     "\n",
-    "\n",
-    "\n",
     "where $T$ is the temperature of the object at time $t$, $T_s$ is the temperature of the surrounding and assumed to be constant, and $k$ is the constant that characterizes the ability of the object to exchange the\n",
     "heat energy (unit 1/s), which depends on the specific material properties.\n",
     "\n",
@@ -54,9 +52,9 @@
    "id": "73781a3c",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 1:</b>\n",
+    "<b>Task 1.1:</b>\n",
     " \n",
     "Suppose the considered period of time is long enough (bring it to steady state), what will be the final temperature of the object? \n",
     "    \n",
@@ -85,9 +83,9 @@
    "id": "18cbde20",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 2:</b>\n",
+    "<b>Task 1.2:</b>\n",
     "\n",
     "Write the algebraic representation of the ODE using Explicit Euler.\n",
     " \n",
@@ -106,32 +104,28 @@
    "id": "579a9440",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3:</b>\n",
+    "<b>Task 1.3:</b>\n",
     "\n",
     "Compute the temperature evolution in the next 60 seconds.\n",
     "\n",
-    "**Please complete the missing parts of the code in each step below**\n",
+    "**Please complete the missing parts of the code in each step below, which is divided into 5 substeps (a through e).**\n",
     " \n",
     "</p>\n",
     "</div>"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "id": "ec6e3109",
-   "metadata": {},
-   "source": []
-  },
   {
    "cell_type": "markdown",
    "id": "88b861bc",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.1:</b> The time step of 5 seconds is constant. Discretize the time points, the solution vector $T$ and define the initial condition.\n",
+    "<b>Task 1.3a:</b> \n",
+    "\n",
+    "The time step of 5 seconds is constant. Discretize the time points, the solution vector $T$ and define the initial condition.\n",
     " \n",
     "</p>\n",
     "</div>"
@@ -164,9 +158,11 @@
    "id": "4586d4b6",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.2:</b> Implement your time discretization and find the solution from $t=0$ until $t=60$ sec. \n",
+    "<b>Task 1.3b:</b> \n",
+    "\n",
+    "Implement your time discretization and find the solution from $t=0$ until $t=60$ sec. \n",
     " \n",
     "</p>\n",
     "</div>"
@@ -174,23 +170,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": null,
    "id": "0bf8247e",
    "metadata": {
     "scrolled": false
    },
-   "outputs": [
-    {
-     "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAGwCAYAAABcnuQpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8DklEQVR4nO3de3xU9Z3/8fckmUwyuSmEMJOS0shNMaBCEIJWqBpEWhYL3a0iFupuqxRbs9aVKusSdgXEba20tLRS6+LPUtj+xNuvCsmuErwEudcAiimGSzExcktCApNJcn5/hBkISeAMmZkzk7yej0ceNec2n3yI8u73+z3n2AzDMAQAABClYqwuAAAAoCsIMwAAIKoRZgAAQFQjzAAAgKhGmAEAAFGNMAMAAKIaYQYAAES1OKsLCLWWlhZ99tlnSklJkc1ms7ocAABggmEYqqurU2ZmpmJiLjz20u3DzGeffaasrCyrywAAAJfg0KFD6tev3wWP6fZhJiUlRVJrM1JTU4N6ba/Xq6KiIk2YMEF2uz2o1+5u6JV59Mo8emUevTKPXpkXyl7V1tYqKyvL//f4hXT7MOObWkpNTQ1JmHE6nUpNTeUX/iLolXn0yjx6ZR69Mo9emReOXplZIsICYAAAENUIMwAAIKoRZgAAQFQjzAAAgKhGmAEAAFGNMAMAAKIaYQYAAEQ1wgwAAIhqhBkAABDVCDOXqLnF0AcVx7TtiE0fVBxTc4thdUkAAPRIloaZwsJC2Wy2Nl8ul8u/3zAMFRYWKjMzU4mJiRo/frx2795tYcWt1u2q1I1L3tKM32/VC+WxmvH7rbpxyVtat6vS6tIAAOhxLB+Zufrqq1VZWen/Kisr8+976qmn9PTTT2vZsmXasmWLXC6X8vPzVVdXZ1m963ZVavaL21VZc7rN9qqa05r94nYCDQAAYWZ5mImLi5PL5fJ/9enTR1LrqMwzzzyjefPmaerUqcrJydHKlSvV0NCgVatWWVJrc4uhBa/vUUcTSr5tC17fw5QTAABhZPlbs8vLy5WZmSmHw6HRo0dr0aJFuuKKK1RRUaGqqipNmDDBf6zD4dC4ceP0/vvv67777uvweh6PRx6Px/99bW2tpNY3e3q93i7V+kHFsXYjMucyJFXWnFbpX6s1OrtXlz6ru/H1vqt/Bj0BvTKPXplHr8yjV+aFsleBXNNmGIZlwwhvvvmmGhoaNHjwYH3++ed64okn9PHHH2v37t3au3evbrjhBh0+fFiZmZn+c77//e/rwIEDWr9+fYfXLCws1IIFC9ptX7VqlZxOZ5fq3XbEphfKYy963HcGNWtkOqMzAABcqoaGBk2fPl01NTVKTU294LGWhpnz1dfXa8CAAXrkkUc0ZswY3XDDDfrss8/kdrv9x3zve9/ToUOHtG7dug6v0dHITFZWlo4cOXLRZlzMBxXHNOP3Wy963Iv35jIycx6v16vi4mLl5+fLbrdbXU5Eo1fm0Svz6JV59Mq8UPaqtrZW6enppsKM5dNM50pKStKwYcNUXl6uO+64Q5JUVVXVJsxUV1erb9++nV7D4XDI4XC0226327vc6LyBGXKnJaiq5nSH62ZsklxpCcobmKHYGFuXPqu7CsafQ09Br8yjV+bRK/PolXmh6FUg17N8AfC5PB6PPvroI7ndbmVnZ8vlcqm4uNi/v7GxUSUlJRo7dqwl9cXG2DR/8tAO9/miy/zJQwkyAACEkaVh5uGHH1ZJSYkqKir0wQcf6Fvf+pZqa2s1c+ZM2Ww2FRQUaNGiRXr55Ze1a9cuzZo1S06nU9OnT7es5ok5bi2fMUK9kuLbbHelJWj5jBGamOPu5EwAABAKlk4z/e1vf9Ndd92lI0eOqE+fPhozZow2bdqk/v37S5IeeeQRnTp1Sj/4wQ90/PhxjR49WkVFRUpJSbGybE3McatXUrz+4beblBxn6DffGcXUEgAAFrE0zKxevfqC+202mwoLC1VYWBieggKQknBmLs8mjc7uRZABAMAiEbVmJpo441tv0W5strgQAAB6OMLMJXLGtw5qeVukFp74CwCAZQgzl8g3MmPIptNNDM8AAGAVwswlSrSffRLwKeaaAACwDGHmEsXE2JRob21fPWEGAADLEGa6wLduhpEZAACsQ5jpgsQz62YaCDMAAFiGMNMFSb4w4yXMAABgFcJMF/hHZjyEGQAArEKY6QKnnZEZAACsRpjpAqd/zUyTxZUAANBzEWa6wDfNxN1MAABYhzDTBb5bs7mbCQAA6xBmusDJrdkAAFiOMNMFvjBzigXAAABYhjDTBb73M/E6AwAArEOY6YIkBwuAAQCwGmGmC3wjM9yaDQCAdQgzXcACYAAArEeY6QLCDAAA1iPMdAEPzQMAwHqEmS5I4qF5AABYjjDTBYm8aBIAAMsRZrrAec6t2YZhWFwNAAA9E2GmC5xnRmaaWgw1NrdYXA0AAD0TYaYLfAuAJRYBAwBgFcJMF9hjYxRra51e4pUGAABYgzDTRWeWzegUTwEGAMAShJkuij/TwXoPIzMAAFiBMNNFvpEZnjUDAIA1CDNd5BuZ4WWTAABYgzDTRYzMAABgLcJMF8XHtN7NxMgMAADWIMx0ESMzAABYizDTRWfXzBBmAACwAmGmi86OzDDNBACAFQgzXRTPNBMAAJYizHSRw7cAmIfmAQBgCcJMF/lHZryEGQAArECY6SKHbwGwhzUzAABYgTDTRayZAQDAWoSZLnLwOgMAACxFmOkiRmYAALAWYaaL/HczEWYAALAEYaaL4nloHgAAloqYMLN48WLZbDYVFBT4t82aNUs2m63N15gxY6wrsgO8mwkAAGvFWV2AJG3ZskXPPvushg8f3m7fxIkT9fzzz/u/j4+PD2dpF+V7N5OnqUXNLYZiY2zWFgQAQA9j+cjMyZMndffdd2vFihW6/PLL2+13OBxyuVz+r169ellQZed8IzMSU00AAFjB8pGZOXPm6Otf/7puvfVWPfHEE+32b9iwQRkZGbrssss0btw4LVy4UBkZGZ1ez+PxyOPx+L+vra2VJHm9Xnm93qDW7vV6FWeTYmxSiyHV1J9WQuzFz+uJfL0P9p9Bd0SvzKNX5tEr8+iVeaHsVSDXtBmGYQS9ApNWr16thQsXasuWLUpISND48eN17bXX6plnnpEkrVmzRsnJyerfv78qKir0+OOPq6mpSdu2bZPD4ejwmoWFhVqwYEG77atWrZLT6QzJz/HI5lh5mm2ad22TMhJD8hEAAPQoDQ0Nmj59umpqapSamnrBYy0LM4cOHVJubq6Kiop0zTXXSFK7MHO+yspK9e/fX6tXr9bUqVM7PKajkZmsrCwdOXLkos0IlNfrVXFxsZ4oc+qLk416ZfYYXZ0Z3M/oLny9ys/Pl91ut7qciEavzKNX5tEr8+iVeaHsVW1trdLT002FGcummbZt26bq6mqNHDnSv625uVkbN27UsmXL5PF4FBvbds7G7Xarf//+Ki8v7/S6Doejw1Ebu90esl9KZ3ycpEZ5DRu/+BcRyj+H7oZemUevzKNX5tEr80LRq0CuZ1mYueWWW1RWVtZm23e/+11deeWVmjt3brsgI0lHjx7VoUOH5Ha7w1WmKc4zD5up52WTAACEnWVhJiUlRTk5OW22JSUlqXfv3srJydHJkydVWFioadOmye12a//+/XrssceUnp6ub37zmxZV3TFfmDnFs2YAAAg7y+9m6kxsbKzKysr0wgsv6MSJE3K73fra176mNWvWKCUlxery2vCPzBBmAAAIu4gKMxs2bPD/c2JiotavX29dMQFI9I/MMM0EAEC4Wf7QvO4g6UyY4ZUGAACEH2EmCBKZZgIAwDKEmSBovTWbaSYAAKxAmAkCp52RGQAArEKYCYJEbs0GAMAyhJkg4KF5AABYhzATBP6H5nkZmQEAINwIM0HAyAwAANYhzARBIs+ZAQDAMoSZIEg6c2s2YQYAgPAjzARBop2RGQAArEKYCQKng3czAQBgFcJMEPgemtfgbZZhGBZXAwBAz0KYCQLf3UyGIZ32tlhcDQAAPQthJgh8a2YkqZ6pJgAAwoowEwQxMTYl2FtbySsNAAAIL8JMkPhuz2ZkBgCA8CLMBAkPzgMAwBqEmSDxPzjPQ5gBACCcCDNBcnZkhmkmAADCiTATJEkOppkAALACYSZIEu28nwkAACsQZoLk7MgM00wAAIQTYSZInNzNBACAJQgzQcI0EwAA1iDMBAnTTAAAWIMwEyQ8NA8AAGsQZoLE/9A8RmYAAAgrwkyQMDIDAIA1CDNBwusMAACwBmEmSPy3ZnuZZgIAIJwIM0HiDzOMzAAAEFaEmSBxxvOcGQAArECYCRInz5kBAMAShJkg4XUGAABYgzATJM4zrzNoajHU2NRicTUAAPQchJkg8T1nRmKqCQCAcCLMBEl8XIzssTZJTDUBABBOhJkgcvJKAwAAwo4wE0QsAgYAIPwIM0HkCzP1PDgPAICwIcwEkW+a6RSvNAAAIGwIM0HEyAwAAOFHmAkiX5g5xZoZAADChjATRE4HdzMBABBuERNmFi9eLJvNpoKCAv82wzBUWFiozMxMJSYmavz48dq9e7d1RV6E035mmomRGQAAwiYiwsyWLVv07LPPavjw4W22P/XUU3r66ae1bNkybdmyRS6XS/n5+aqrq7Oo0gtjmgkAgPCzPMycPHlSd999t1asWKHLL7/cv90wDD3zzDOaN2+epk6dqpycHK1cuVINDQ1atWqVhRV3zjfNVM80EwAAYRNndQFz5szR17/+dd1666164okn/NsrKipUVVWlCRMm+Lc5HA6NGzdO77//vu67774Or+fxeOTxePzf19bWSpK8Xq+8Xm9Qa/ddz/e/jjOvM6g/HfzPinbn9wqdo1fm0Svz6JV59Mq8UPYqkGtaGmZWr16t7du3a8uWLe32VVVVSZL69u3bZnvfvn114MCBTq+5ePFiLViwoN32oqIiOZ3OLlbcseLiYknSgUqbpFj9df8hvfFG5zX2ZL5e4eLolXn0yjx6ZR69Mi8UvWpoaDB9rGVh5tChQ3rwwQdVVFSkhISETo+z2WxtvjcMo922cz366KN66KGH/N/X1tYqKytLEyZMUGpqatcLP4fX61VxcbHy8/Nlt9tVt/Vvenn/Hl2W3leTJl0X1M+Kduf3Cp2jV+bRK/PolXn0yrxQ9so3s2KGZWFm27Ztqq6u1siRI/3bmpubtXHjRi1btkx79+6V1DpC43a7/cdUV1e3G605l8PhkMPhaLfdbreH7JfSd+2UxHhJ0ilvC/8CdCKUfw7dDb0yj16ZR6/Mo1fmhaJXgVzPsgXAt9xyi8rKyrRz507/V25uru6++27t3LlTV1xxhVwuV5uhq8bGRpWUlGjs2LFWlX1B/rdme7mbCQCAcLFsZCYlJUU5OTlttiUlJal3797+7QUFBVq0aJEGDRqkQYMGadGiRXI6nZo+fboVJV9Uku+t2R7uZgIAIFwsv5vpQh555BGdOnVKP/jBD3T8+HGNHj1aRUVFSklJsbq0DiX6wgzPmQEAIGwiKsxs2LChzfc2m02FhYUqLCy0pJ5AnX1rNmEGAIBwsfyhed3J2bdmM80EAEC4EGaCyBdmPE0tam4xLK4GAICegTATREmOs7N2vDkbAIDwIMwEkSMuRr7n+fGySQAAwoMwE0Q2m01J8b6XTRJmAAAIB8JMkJ29PZtpJgAAwoEwE2RJPGsGAICwIswEWaLvlQaEGQAAwoIwE2S80gAAgPAizAQZrzQAACC8CDNB5ntwHm/OBgAgPAgzQea7NZtpJgAAwoMwE2RMMwEAEF6EmSDzvdKA58wAABAehJkgS7QzMgMAQDgRZoIsyUGYAQAgnAgzQXb2oXlMMwEAEA6EmSDjdQYAAIQXYSbInIQZAADCijATZL5ppnqeMwMAQFgQZoLMN810iicAAwAQFoSZIOOheQAAhBdhJsh4nQEAAOFFmAmyc180aRiGxdUAAND9EWaCzHnmdQaGIZ32tlhcDQAA3R9hJsh8rzOQeHAeAADhQJgJstgYmxLsrW1lETAAAKEXF8jBe/fu1R//+Ee988472r9/vxoaGtSnTx9dd911uu222zRt2jQ5HI5Q1Ro1nPFxOu1tJMwAABAGpkZmduzYofz8fF1zzTXauHGjRo0apYKCAv3Hf/yHZsyYIcMwNG/ePGVmZmrJkiXyeDyhrjui+RYB1zPNBABAyJkambnjjjv0L//yL1qzZo169erV6XGlpaX6+c9/rp/97Gd67LHHglZktPGFmVOMzAAAEHKmwkx5ebni4+MvelxeXp7y8vLU2NjY5cKiGa80AAAgfExNM5kJMl05vrvhlQYAAIRPQAuAJekXv/hFh9ttNpsSEhI0cOBA3XTTTYqNje3wuJ6AN2cDABA+AYeZn//85/riiy/U0NCgyy+/XIZh6MSJE3I6nUpOTlZ1dbWuuOIKvf3228rKygpFzRHPyTQTAABhE/BzZhYtWqRRo0apvLxcR48e1bFjx/TJJ59o9OjRWrp0qQ4ePCiXy6V//ud/DkW9UYEFwAAAhE/AIzP/+q//qpdeekkDBgzwbxs4cKB++tOfatq0afr000/11FNPadq0aUEtNJr4R2YIMwAAhFzAIzOVlZVqamo/fdLU1KSqqipJUmZmpurq6rpeXZQ6OzLDNBMAAKEWcJj52te+pvvuu087duzwb9uxY4dmz56tm2++WZJUVlam7Ozs4FUZZZwO30PzGJkBACDUAg4zzz33nHr16qWRI0fK4XDI4XAoNzdXvXr10nPPPSdJSk5O1s9+9rOgFxstnHbWzAAAEC4Br5lxuVwqLi7Wxx9/rE8++USGYejKK6/UkCFD/Md87WtfC2qR0cbp8K2ZYZoJAIBQCzjM+FxxxRWy2WwaMGCA4uIu+TLdEs+ZAQAgfAKeZmpoaNA//uM/yul06uqrr9bBgwclST/60Y/05JNPBr3AaHQ2zDAyAwBAqAUcZh599FH95S9/0YYNG5SQkODffuutt2rNmjVBLS5a+W7NZmQGAIDQC3h+6JVXXtGaNWs0ZswY2Ww2//ahQ4dq3759QS0uWvHQPAAAwifgkZkvvvhCGRkZ7bbX19e3CTc9mSOuNcycaGhU6b6jam4xLK4IAIDuK+AwM2rUKP35z3/2f+8LMCtWrFBeXl5A11q+fLmGDx+u1NRUpaamKi8vT2+++aZ//6xZs2Sz2dp8jRkzJtCSw2rdrkrd89wHkqRT3hbdtWKTblzyltbtqrS4MgAAuqeAp5kWL16siRMnas+ePWpqatLSpUu1e/dulZaWqqSkJKBr9evXT08++aQGDhwoSVq5cqWmTJmiHTt26Oqrr5YkTZw4Uc8//7z/nPj4+EBLDpt1uyo1+8XtOn8cpqrmtGa/uF3LZ4zQxBy3JbUBANBdBTwyM3bsWL333ntqaGjQgAEDVFRUpL59+6q0tFQjR44M6FqTJ0/WpEmTNHjwYA0ePFgLFy5UcnKyNm3a5D/G4XDI5XL5v3r16hVoyWHR3GJowet72gUZSf5tC17fw5QTAABBdkkPiBk2bJhWrlwZ1EKam5v1pz/9SfX19W2mqzZs2KCMjAxddtllGjdunBYuXNjhmh0fj8cjj8fj/762tlaS5PV65fV6g1qz73per1fbK46psuZ0p8cakiprTqv0r9UanR2ZgSyUzu0VLoxemUevzKNX5tEr80LZq0CuaTMM46JDBb5AYEZqaqrpY6XW9zjl5eXp9OnTSk5O1qpVqzRp0iRJ0po1a5ScnKz+/furoqJCjz/+uJqamrRt2zY5HI4Or1dYWKgFCxa0275q1So5nc6AagvEtiM2vVAee9HjvjOoWSPTGZ0BAOBCGhoaNH36dNXU1Fw0W5gKMzExMabvVGpuDux25MbGRh08eFAnTpzQSy+9pN/97ncqKSnR0KFD2x1bWVmp/v37a/Xq1Zo6dWqH1+toZCYrK0tHjhwJOGhdjNfrVXFxsfLz87X9b3Wa8futFz3nxXtze+zIjK9Xdrvd6nIiGr0yj16ZR6/Mo1fmhbJXtbW1Sk9PNxVmTE0zvf322/5/3r9/v37yk59o1qxZ/umg0tJSrVy5UosXLw642Pj4eP8C4NzcXG3ZskVLly7Vb3/723bHut1u9e/fX+Xl5Z1ez/fyy/PZ7faQ/VLa7XblDcyQOy1BVTWnO1w3Y5PkSktQ3sAMxcb03FvYQ/nn0N3QK/PolXn0yjx6ZV4oehXI9UyFmXHjxvn/+d///d/19NNP66677vJv+7u/+zsNGzZMzz77rGbOnBlAqe0ZhtFmZOVcR48e1aFDh+R2R94dQbExNs2fPFSzX9wum9Qm0Piiy/zJQ3t0kAEAIBQCvpuptLRUubm57bbn5uZq8+bNAV3rscce0zvvvKP9+/errKxM8+bN04YNG3T33Xfr5MmTevjhh1VaWqr9+/drw4YNmjx5stLT0/XNb34z0LLDYmKOW8tnjJArLaHNdldaArdlAwAQIgGHmaysLP3mN79pt/23v/2tsrKyArrW559/rnvuuUdDhgzRLbfcog8++EDr1q1Tfn6+YmNjVVZWpilTpmjw4MGaOXOmBg8erNLSUqWkpARadthMzHHr3bk3665Rrb346sB0vTv3ZoIMAAAhEvCt2T//+c81bdo0rV+/3v803k2bNmnfvn166aWXArrWc8891+m+xMRErV+/PtDyIkJsjE0j+l+uP245JNnE1BIAACEU8MjMpEmTVF5erilTpujYsWM6evSopkyZok8++cR/SzWk9JTWRchHTjZaXAkAAN3bJT00r1+/flq4cGGwa+lW+iT7wkzHi5kBAEBwmBqZOXjwYEAXPXz48CUV052knwkzx+ob1cIrDAAACBlTYWbUqFH63ve+d8G7lWpqarRixQrl5ORo7dq1QSswWvVObn0hZnOLoeMNTDUBABAqpqaZPvroIy1atEgTJ06U3W5Xbm6uMjMzlZCQoOPHj2vPnj3avXu3cnNz9Z//+Z+6/fbbQ113xLPHxugyp10nGrw6crJRvZM7fv0CAADoGlMjM7169dJPf/pTffbZZ1q+fLkGDx6sI0eO+J/Ee/fdd2vbtm167733CDLnSGfdDAAAIRfQAuCEhARNnTq10/cioa305Hj9tZowAwBAKAV8azbM653M7dkAAIQaYSaEuD0bAIDQI8yEUPqZO5qO1BFmAAAIFcJMCLEAGACA0DMdZu69917V1dWFspZuJ501MwAAhJzpMLNy5UqdOnUqlLV0O2ffz8TIDAAAoWI6zBgGj+QPlG/NzNGTjfQPAIAQCWjNjM1mC1Ud3ZJvmqmxuUW1p5osrgYAgO4poIfmDR48+KKB5tixY10qqDtJsMcqxRGnOk+TvjjpUZrTbnVJAAB0OwGFmQULFigtLS1UtXRL6SkO1XmadPSkRwMzkq0uBwCAbiegMHPnnXcqIyMjVLV0S+nJ8ao4Us8dTQAAhIjpNTOsl7k0vZO4owkAgFDibqYQS0858xRgwgwAACFhepqppaUllHV0WzwFGACA0OJ1BiHmCzNf1LFmBgCAUCDMhBgjMwAAhBZhJsT6sGYGAICQIsyE2LkjMyyiBgAg+AgzIeYLM6e9LapvbLa4GgAAuh/CTIglOeKUaI+VJB1lqgkAgKAjzIQBz5oBACB0CDNhwO3ZAACEDmEmDHilAQAAoUOYCQNuzwYAIHQIM2HAg/MAAAgdwkwY+MMMa2YAAAg6wkwYMDIDAEDoEGbCID2ZNTMAAIQKYSYM0lN8IzNMMwEAEGyEmTDwTTOd9DTptJdXGgAAEEyEmTBITYhTfGxrq5lqAgAguAgzYWCz2c5ZN8NUEwAAwUSYCRP/upk6RmYAAAgmwkyY9E7ijiYAAEKBMBMmPGsGAIDQIMyECbdnAwAQGoSZMPGNzHzByAwAAEFFmAkT/91MLAAGACCoLA0zy5cv1/Dhw5WamqrU1FTl5eXpzTff9O83DEOFhYXKzMxUYmKixo8fr927d1tY8aXrw5oZAABCwtIw069fPz355JPaunWrtm7dqptvvllTpkzxB5annnpKTz/9tJYtW6YtW7bI5XIpPz9fdXV1VpZ9SXxrZo7Ws2YGAIBgsjTMTJ48WZMmTdLgwYM1ePBgLVy4UMnJydq0aZMMw9AzzzyjefPmaerUqcrJydHKlSvV0NCgVatWWVn2JfGtmTnR4JW3ucXiagAA6D7irC7Ap7m5WX/6059UX1+vvLw8VVRUqKqqShMmTPAf43A4NG7cOL3//vu67777OryOx+ORx3N2Kqe2tlaS5PV65fV6g1qz73pmrpsUJ8XG2NTcYqjqRL1cqQlBrSXSBdKrno5emUevzKNX5tEr80LZq0CuaTMMwwh6BQEoKytTXl6eTp8+reTkZK1atUqTJk3S+++/rxtuuEGHDx9WZmam//jvf//7OnDggNavX9/h9QoLC7VgwYJ221etWiWn0xmyn8OMx7fGqtZr08PDmpSVbGkpAABEtIaGBk2fPl01NTVKTU294LGWj8wMGTJEO3fu1IkTJ/TSSy9p5syZKikp8e+32WxtjjcMo922cz366KN66KGH/N/X1tYqKytLEyZMuGgzAuX1elVcXKz8/HzZ7faLHv+bilLVVtXpymtHadzgPkGtJdIF2quejF6ZR6/Mo1fm0SvzQtkr38yKGZaHmfj4eA0cOFCSlJubqy1btmjp0qWaO3euJKmqqkput9t/fHV1tfr27dvp9RwOhxwOR7vtdrs9ZL+UZq+dnuKQqup0/FRzj/0XJJR/Dt0NvTKPXplHr8yjV+aFoleBXC/injNjGIY8Ho+ys7PlcrlUXFzs39fY2KiSkhKNHTvWwgov3dnbs7mjCQCAYLF0ZOaxxx7T7bffrqysLNXV1Wn16tXasGGD1q1bJ5vNpoKCAi1atEiDBg3SoEGDtGjRIjmdTk2fPt3Ksi/Z2Vca8KwZAACCxdIw8/nnn+uee+5RZWWl0tLSNHz4cK1bt075+fmSpEceeUSnTp3SD37wAx0/flyjR49WUVGRUlJSrCz7kvmfAkyYAQAgaCwNM88999wF99tsNhUWFqqwsDA8BYUYb84GACD4Im7NTHfmCzNHWTMDAEDQEGbCiJEZAACCjzATRukprWtmjtU3qrnF0mcVAgDQbRBmwqiXM142m9RitAYaAADQdYSZMIqLjVEvJ3c0AQAQTISZMGPdDAAAwUWYCbPePGsGAICgIsyEmX9kpo41MwAABANhJsyYZgIAILgIM2Hmuz37C8IMAABBQZgJM54CDABAcBFmwqwP00wAAAQVYSbMWDMDAEBwEWbCzLdm5ujJRrXwSgMAALqMMBNmvZNaR2aaWgzVnPJaXA0AANGPMBNm8XExSku0S2KqCQCAYCDMWKB3UmuYeXXnYZXuO8obtAEA6ALCTJit21Wpvx0/JUla9vY+3bVik25c8pbW7aq0uDIAAKITYSaM1u2q1OwXt6uxue1ITFXNac1+cTuBBgCAS0CYCZPmFkMLXt+jjiaUfNsWvL6HKScAAAJEmAmTzRXHVFlzutP9hqTKmtPaXHEsfEUBANANEGbCpLqu8yBzKccBAIBWhJkwyUhJCOpxAACgFWEmTK7P7iV3WoJsney3SXKnJej67F7hLAsAgKhHmAmT2Bib5k8eKkntAo3v+/mThyo2prO4AwAAOkKYCaOJOW4tnzFCrrS2U0mutAQtnzFCE3PcFlUGAED0IsyE2cQct96de7Puuj5LkjTmil56d+7NBBkAAC4RYcYCsTE23Xa1S5J05GQjU0sAAHQBYcYiV7lTJUmffnFSp73NFlcDAED0IsxYJCPFocuddrUY0l+rT1pdDgAAUYswYxGbzaYrXa2jMx9V1lpcDQAA0YswY6Er3SmSpL1VdRZXAgBA9CLMWOhKV2uY+ZgwAwDAJSPMWMg3zfRxFdNMAABcKsKMhQb3TZHN1np79hd1HqvLAQAgKhFmLJQYH6vs3kmSGJ0BAOBSEWYs5lsE/HEl62YAALgUhBmLDenrWzdDmAEA4FIQZizmH5lhmgkAgEtCmLHYVWfuaCr//KSamlssrgYAgOhDmLFYv8sTlRQfq8bmFlUcqbe6HAAAog5hxmIxMTYNOfPwvI9YNwMAQMAIMxFgyJmppr2smwEAIGCEmQhwFbdnAwBwyQgzEeDsaw0IMwAABMrSMLN48WKNGjVKKSkpysjI0B133KG9e/e2OWbWrFmy2WxtvsaMGWNRxaHhWzNz+MQp1ZzyWlwNAADRxdIwU1JSojlz5mjTpk0qLi5WU1OTJkyYoPr6tnf1TJw4UZWVlf6vN954w6KKQyMt0a4vXZYoSdrL6AwAAAGJs/LD161b1+b7559/XhkZGdq2bZtuuukm/3aHwyGXyxXu8sLqSleKDp84pb1Vtbo+u5fV5QAAEDUsDTPnq6mpkST16tX2L/MNGzYoIyNDl112mcaNG6eFCxcqIyOjw2t4PB55PGffQF1b23qHkNfrldcb3Ckc3/WCcd1BGUn634+l3Z/VBL3OSBDMXnV39Mo8emUevTKPXpkXyl4Fck2bYRhG0Cu4BIZhaMqUKTp+/Ljeeecd//Y1a9YoOTlZ/fv3V0VFhR5//HE1NTVp27Ztcjgc7a5TWFioBQsWtNu+atUqOZ3OkP4MXbH9iE0ry2P1lWRD/zys2epyAACwVENDg6ZPn66amhqlpqZe8NiICTNz5szRn//8Z7377rvq169fp8dVVlaqf//+Wr16taZOndpuf0cjM1lZWTpy5MhFmxEor9er4uJi5efny263d+la5dUnNemX7yspPlbb592smBhbkKqMDMHsVXdHr8yjV+bRK/PolXmh7FVtba3S09NNhZmImGb64Q9/qNdee00bN268YJCRJLfbrf79+6u8vLzD/Q6Ho8MRG7vdHrJfymBce7ArTfGxMapvbNbnJ5v05d6RO4rUFaH8c+hu6JV59Mo8emUevTIvFL0K5HqW3s1kGIYeeOABrV27Vm+99Zays7Mves7Ro0d16NAhud3uMFQYPnGxMRrUN1kSb9AGACAQloaZOXPm6MUXX9SqVauUkpKiqqoqVVVV6dSpU5KkkydP6uGHH1Zpaan279+vDRs2aPLkyUpPT9c3v/lNK0sPCd/zZnh4HgAA5lkaZpYvX66amhqNHz9ebrfb/7VmzRpJUmxsrMrKyjRlyhQNHjxYM2fO1ODBg1VaWqqUlBQrSw+Jq/xPAmZkBgAAsyxdM3OxtceJiYlav359mKqx3pW8owkAgIDxbqYI4ntHU8XRep1q5PZsAADMIMxEkD4pDqUnx8swpE8+Z3QGAAAzCDMRZvCZO5pWbzmo0n1H1dwSEY8BAgAgYkXEc2bQat2uSv3lUOsrHf64+ZD+uPmQ3GkJmj95qCbmdK9b0QEACBZGZiLEul2Vmv3idtWft1amqua0Zr+4Xet2VVpUGQAAkY0wEwGaWwwteH2POppQ8m1b8PoeppwAAOgAYSYCbK44psqa053uNyRV1pzW5opj4SsKAIAoQZiJANV1nQeZSzkOAICehDATATJSEoJ6HAAAPQlhJgJcn91L7rQE2TrZb5PkTkvQ9dm9wlkWAABRgTATAWJjbJo/eagkdRpo5k8eqtiYzvYCANBzEWYixMQct5bPGCFXWtuppFibTb++ewTPmQEAoBM8NC+CTMxxK3+oS5srjulvxxv0r6/skqepRX3TWCsDAEBnGJmJMLExNuUN6K2/z83SpGGtozGv7DhscVUAAEQuwkwEm3JtpiTp/31YKW9zi8XVAAAQmQgzEezGgelKT47XsfpGvVP+hdXlAAAQkQgzESwuNkaTr2kdnXl5x2cWVwMAQGQizES4O679kiSpeE+VTnqaLK4GAIDIQ5iJcMP7pemK9CSd9rZo/a4qq8sBACDiEGYinM1m05QzozOv7OSuJgAAzkeYiQJ3XNe6bua9vx5RdS0vmwQA4FyEmSjQv3eSRnz5MrUY0mt/YSEwAADnIsxEiTuuY6oJAICOEGaixNeHuRUXY9Ouw7X6v9sO6dWdh1W676iaWwyrSwMAwFK8mylK9E526Cp3isoO1+rhP33o3+5OS9D8yUN5ESUAoMdiZCZKrNtVqbLDte22V9Wc1uwXt2vdrkoLqgIAwHqEmSjQ3GJowet7Otznm2Ra8PoeppwAAD0SYSYKbK44psqazm/JNiRV1pzW5opj4SsKAIAIQZiJAtV15p4tY/Y4AAC6E8JMFMhISQjqcQAAdCeEmShwfXYvudMSZOtkv02tdzVdn90rnGUBABARCDNRIDbGpvmTh0pSh4HGkDR/8lDFxnQWdwAA6L4IM1FiYo5by2eMkCut/VRSjE1ypSVaUBUAANbjoXlRZGKOW/lDXdpccUzVdaeVkeLQ/9l0QG+UVenB1Tv02gM3as9ntWf2tU47MVoDAOjuCDNRJjbGprwBvf3fD3Wn6S+HanTgaIPGLPpfnfI2+/fxdGAAQE/ANFOUS3PadeeoLElqE2Qkng4MAOgZCDNRrrnF0KrNBzvcx9OBAQA9AWEmyvF0YABAT0eYiXI8HRgA0NOxADjKBfJ04OYW45w7objbCQDQPRBmopzv6cBVNafV2aoYe6xNH1XW6qH/3tlmSoq7nQAA3QHTTFHuYk8HliRvs6F//3972q2tOfdup+YWQ6X7jurVnYdVuu8oC4YBAFGDkZluwPd04AWv72k38vLAzQO04LWP1Njc0u48Q60B6Cdry1T42h5V1TJqAwCIPoSZbqL904Fb18RsrjjWYZDxMSSdaPBK8rbZ7hu1WT5jhCbmuC+43oa1OAAAKxFmupHznw4sXfpdTL5RmwWv71FLi/Qff24/6uOb3upoROjcUZ3mFkMfVBzTtiM29a44pryBGaaDUFdCVLSeS6/MX7uzXkXqz2TlufSKXoW7V+FkMwzDssURixcv1tq1a/Xxxx8rMTFRY8eO1ZIlSzRkyBD/MYZhaMGCBXr22Wd1/PhxjR49Wr/61a909dVXm/qM2tpapaWlqaamRqmpqUGt3+v16o033tCkSZNkt9uDeu1gKd13VHet2BT069qkThcc+36Vl88YIanzsHOhfRNz3Fq3q5Jze+i5kVoX53Iu55r/P7JdFcjf35aGmYkTJ+rOO+/UqFGj1NTUpHnz5qmsrEx79uxRUlKSJGnJkiVauHCh/uu//kuDBw/WE088oY0bN2rv3r1KSUm56Gf09DDT3GLoxiVvXfBup1CwqfVVCzUN3nafayYIff+mbD27sYJze+C5kVoX53Iu55r/P7LBCDRRE2bO98UXXygjI0MlJSW66aabZBiGMjMzVVBQoLlz50qSPB6P+vbtqyVLlui+++676DV7epiRpHW7KjX7xe2SOv8ljDQxNulSb6ji3Og/N1Lr4lzO5dwLs0lypSXo3bk3d3nKKZC/vyNqzUxNTY0kqVevXpKkiooKVVVVacKECf5jHA6Hxo0bp/fff7/DMOPxeOTxePzf19bWSmoNHl6vt93xXeG7XrCvG2y3DEnXL++8Rk+88bGqas/2xpUar9NeQzWn2o+eWK0rd4ZzbvSfG6l1cS7ncu6F+V6hU/rXao3O7nXpBSiwv1sjJswYhqGHHnpIN954o3JyciRJVVVVkqS+ffu2ObZv3746cOBAh9dZvHixFixY0G57UVGRnE5nkKtuVVxcHJLrBtvcodK+WptqvVKqXRqQ2qCyYzb9/hPf44bOTdFGB9sAALi4onc+0NGPuvZ/kxsaGkwfGzFh5oEHHtCHH36od999t90+m63tX6iGYbTb5vPoo4/qoYce8n9fW1urrKwsTZgwISTTTMXFxcrPz4/oaaYL+YakEbs/bzdq405L0KO3DdGidXv1ea0n4kZuAACRa8JXR3d5ZMY3s2JGRISZH/7wh3rttde0ceNG9evXz7/d5XJJah2hcbvPLiaqrq5uN1rj43A45HA42m232+0hCxyhvHY4fOPafrp9+Jc6vP0uPj5Os1/c3m7R17nfd7bvsk4WAJsRY5MM49LW+HBu9J8bqXVxLudy7oX51swE4zbtQP5etfR1BoZh6IEHHtDatWv11ltvKTs7u83+7OxsuVyuNtM4jY2NKikp0dixY8Ndbrfme0bNlGu/pLwBvf2/hL6nC7vS2r7Q0pWWoN/MGKHfXGDfk1OHSWo/UWXr5J9939skfe+r2ZzbQ8+N1Lo4l3M59+LnStL8yUPD/rwZS0dm5syZo1WrVunVV19VSkqKf41MWlqaEhMTZbPZVFBQoEWLFmnQoEEaNGiQFi1aJKfTqenTp1tZeo/S2dOFfb+sF9rX0WsWXBd4ToHrnOcUXPflyzm3h54bqXVxLudyrrlzw83SW7M7W/fy/PPPa9asWZLOPjTvt7/9bZuH5vkWCV8Mt2Zbr7nFUOlfq1X0zgea8NXRPfqptmbOpVfmr91ZryL1Z7LyXHpFr8Ldq66K2ufMhAJhJjLQK/PolXn0yjx6ZR69Mi+UvQrk729L18wAAAB0FWEGAABENcIMAACIaoQZAAAQ1QgzAAAgqhFmAABAVCPMAACAqEaYAQAAUY0wAwAAolpEvDU7lHwPOA7kVeJmeb1eNTQ0qLa2lqdEXgS9Mo9emUevzKNX5tEr80LZK9/f22ZeVNDtw0xdXZ0kKSsry+JKAABAoOrq6pSWlnbBY7r9u5laWlr02WefKSUlpdMXW16q2tpaZWVl6dChQ0F/71N3Q6/Mo1fm0Svz6JV59Mq8UPbKMAzV1dUpMzNTMTEXXhXT7UdmYmJi1K9fv5B+RmpqKr/wJtEr8+iVefTKPHplHr0yL1S9utiIjA8LgAEAQFQjzAAAgKhGmOkCh8Oh+fPny+FwWF1KxKNX5tEr8+iVefTKPHplXqT0qtsvAAYAAN0bIzMAACCqEWYAAEBUI8wAAICoRpgBAABRjTBziX79618rOztbCQkJGjlypN555x2rS7Lcxo0bNXnyZGVmZspms+mVV15ps98wDBUWFiozM1OJiYkaP368du/ebU2xFlu8eLFGjRqllJQUZWRk6I477tDevXvbHEO/Wi1fvlzDhw/3P5QrLy9Pb775pn8/ferc4sWLZbPZVFBQ4N9Gv84qLCyUzWZr8+Vyufz76VVbhw8f1owZM9S7d285nU5de+212rZtm3+/lf0izFyCNWvWqKCgQPPmzdOOHTv01a9+VbfffrsOHjxodWmWqq+v1zXXXKNly5Z1uP+pp57S008/rWXLlmnLli1yuVzKz8/3vz+rJykpKdGcOXO0adMmFRcXq6mpSRMmTFB9fb3/GPrVql+/fnryySe1detWbd26VTfffLOmTJni/48kferYli1b9Oyzz2r48OFtttOvtq6++mpVVlb6v8rKyvz76NVZx48f1w033CC73a4333xTe/bs0c9+9jNddtll/mMs7ZeBgF1//fXG/fff32bblVdeafzkJz+xqKLII8l4+eWX/d+3tLQYLpfLePLJJ/3bTp8+baSlpRm/+c1vLKgwslRXVxuSjJKSEsMw6NfFXH755cbvfvc7+tSJuro6Y9CgQUZxcbExbtw448EHHzQMg9+r882fP9+45pprOtxHr9qaO3euceONN3a63+p+MTIToMbGRm3btk0TJkxos33ChAl6//33Laoq8lVUVKiqqqpN3xwOh8aNG0ffJNXU1EiSevXqJYl+daa5uVmrV69WfX298vLy6FMn5syZo69//eu69dZb22ynX+2Vl5crMzNT2dnZuvPOO/Xpp59Kolfne+2115Sbm6u///u/V0ZGhq677jqtWLHCv9/qfhFmAnTkyBE1Nzerb9++bbb37dtXVVVVFlUV+Xy9oW/tGYahhx56SDfeeKNycnIk0a/zlZWVKTk5WQ6HQ/fff79efvllDR06lD51YPXq1dq+fbsWL17cbh/9amv06NF64YUXtH79eq1YsUJVVVUaO3asjh49Sq/O8+mnn2r58uUaNGiQ1q9fr/vvv18/+tGP9MILL0iy/ner2781O1RsNlub7w3DaLcN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",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "for i in range(n-1):\n",
     "    T[i+1] = YOUR_CODE_HERE\n",
@@ -206,9 +191,9 @@
    "id": "ffb4547f",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.3:</b>\n",
+    "<b>Task 1.3c:</b>\n",
     "\n",
     "Try different time steps to check the stability of the calculation. At which value the solution is stable?\n",
     " \n",
@@ -227,9 +212,9 @@
    "id": "8a907a09",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.4:</b>\n",
+    "<b>Task 1.3d:</b>\n",
     "\n",
     "Obtain the mathematical expression that proves your stability criteria.\n",
     " \n",
@@ -248,9 +233,9 @@
    "id": "1ff1e4fe",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 3.5:</b>\n",
+    "<b>Task 1.3e:</b>\n",
     "\n",
     "Now, discretize the equation using Implicit (Backward) Euler. Can you find a time step that makes the problem unstable?\n",
     " \n",
@@ -260,21 +245,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": null,
    "id": "18c73272",
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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a9cuTZ48WVFRUUpKStI999yj8vJy936Xy6WXXnpJGRkZstvtuvrqqzV37lz3/sGDBys5OVnvv/++9795AD5FmAHQIRYuXKisrCz95Cc/UUlJiUpKSpSWltbmsWvWrFFmZmaLbTNnzpTD4dCaNWtUWFiol156SVFRUZKkkpISjR8/Xtdff722bt2qFStW6OjRo/rHf/xH99c/88wzeumll/Tcc89p165dWrp0qZKSklp8xsiRI7V27Vovf+cAfC3E6gIAdA2xsbEKDQ1VRESEkpOTL3rsgQMHNHz48BbbDh06pDvuuEODBw+WJPXu3du9b/Hixbrhhhs0b94897Y333xTaWlp2rNnj1JSUrRw4UItWrRI9957rySpT58+ys7ObvEZV111lbZv335F3yeAjkeYAeB3Tp8+rbCwsBbbHn30UT344INatWqVbrnlFt1xxx0aMmSIJKmgoECffPKJ+0zNufbt26cTJ07I4XDo5ptvvujnhoeHq7a21nvfCIAOwWUmAH4nPj6+1UTcf/7nf9b+/ft1zz33qLCwUJmZmfqv//ovSU3zYaZMmaIdO3a0eBUVFenGG29UeHi4R597/PhxJSQkeP37AeBbhBkAHSY0NFSNjY2XPG7YsGHatWtXq+1paWl64IEHtHz5cj3xxBN6/fXXJUk33HCDdu7cqWuuuUYZGRktXpGRkerbt6/Cw8P197///aKf+8UXX2jYsGGX980BsAxhBkCHueaaa7R582YdOHBA5eXlcrlcbR536623auPGjS2Cz6xZs7Ry5UoVFxdr27Zt+vjjj3XddddJapocfPz4cd1555369NNPtX//fq1atUr33XefGhsbFRYWpqefflpPPfWU3n77be3bt0+bNm3SG2+84R6/trZWBQUFmjhxom+bAMDrCDMAOsyTTz6p4OBgDRgwQAkJCTp06FCbx02ePFk2m01/+9vf3NsaGxs1c+ZMXXfddZo0aZL69++v3/zmN5Kk1NRUrV+/Xo2Njbr11ls1aNAgPfbYY4qNjVVQUNOvueeee05PPPGE/u3f/k3XXXedfvCDH6isrMw9/p///GddffXVGjdunA87AMAXDNM0TauLAIDz/eY3v9Gf//xnrVy5skM+b+TIkZo1a5amT5/eIZ8HwHtYzQTAL/30pz9VZWWlampqfP5Ig7KyMn3ve9/TnXfe6dPPAeAbnJkBAAABjTkzAAAgoBFmAABAQCPMAACAgEaYAQAAAY0wAwAAAhphBgAABDTCDAAACGiEGQAAENAIMwAAIKD9f5vnHFMSgRK4AAAAAElFTkSuQmCC",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
+   "outputs": [],
    "source": [
     "dt = YOUR_CODE_HERE                          \n",
     "t_end = 60  \n",
@@ -300,15 +274,15 @@
    "id": "2109f010",
    "metadata": {},
    "source": [
-    "## Section 2: Second-order ODE\n",
-    "### Background\n",
+    "## Part 2: Second-order ODE\n",
+    "\n",
     "The following 1D equation describes the steady state solution of the temperature along a pin that sticks out of a furnace. The rest of the pin is exposed to the ambient. \n",
     "\n",
     "$$\n",
     "\\frac{d^2T}{dx^2} -\\alpha(T-T_s)=0\n",
     "$$\n",
     "\n",
-    "The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is $250^o$ C. The length of the pint is 0.1m. Your grid should have a spatial step of 0.02 m. Finally, $\\alpha=500$."
+    "The ambient temperature is $T_s= 30^o$ C and the temperature at the wall is $250^o$ C. The length of the pin is 0.1m. Your grid should have a spatial step of 0.02 m. Finally, $\\alpha=500$."
    ]
   },
   {
@@ -328,63 +302,94 @@
   },
   {
    "cell_type": "markdown",
-   "id": "c739aaf1",
+   "id": "babd0424",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 5:</b>\n",
+    "<b>Task 2.1:</b>\n",
     "\n",
-    "Below we provide the code already implemented of the equation with the above Dirichlet conditions and using a central difference approximation of the second derivative. **Write in paper (add the image) the matrix A, and the vectors T and b.**\n",
+    "This task has three parts: a) discretize the analytic expression into a system of equations using central differences, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.\n",
+    "\n",
+    "<em>Parts 2.1b and 2.1c do not need to be completed in order; in fact, it may be useful to go back and forth between the two in order to understand the problem.</em> \n",
     "    \n"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "4133c6e2",
+   "id": "1f70b8e9",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p> Answer\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "    \n",
-    "Add the image.\n",
+    "<b>Task 2.1a:</b>\n",
     "\n",
-    "</p>\n",
-    "</div>"
+    "Discretize the analytic expression into a system of equations for a grid with 6 points using central differences.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "81a5f165",
+   "metadata": {},
+   "source": [
+    "_Your answer here._"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c513ff65",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1b:</b>\n",
+    "\n",
+    "Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "cb9ff085",
+   "metadata": {},
+   "source": [
+    "_Your answer here._"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fae61d18",
+   "metadata": {},
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.1c:</b>\n",
+    "\n",
+    "Implement the discretized system of equations in a code cell.\n",
+    "\n",
+    "<em>We have already done this for you! Your task is to read the cell and make sure you understand how the matrices are implemented. Reading the code should help you formulate the matrices in Task 2.1b.</em>\n",
+    "    \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "89fd190c",
+   "metadata": {},
+   "source": [
+    "_Add your image here._"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": null,
    "id": "53fb4f99",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "(4, 4)\n"
-     ]
-    },
-    {
-     "data": {
-      "image/png": "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OL/OnTtj0qRJ+PLLL9GwYUO8++67yMnJKbd+t+vb//u//8OgQYNw//33o0uXLti0aROSkpKwffv26nV4TROS3NxcASC5ubmWLoWI6K4VFBTIsWPHpKCg4K7nda24RMrKykREpKysTK4Vl9z1PG9lxIgRguuHB5kMoaGhIiKyfv16adu2rbi6uopOp5N27drJ9u3bjY9PTU2VZs2aiVarFcMmbunSpaLX641tZsyYIc2bNy+33IceeshkXHR0tIwfP954/5133hE/Pz9xdHSU2NhYWb58uQCQ7OxsY5vnn39ePDw8BIDMmDFDRESKiork1VdflZCQELG3txdfX18ZMGCAHD582Pi4JUuWSGBgoDg6Okrfvn1l7ty5JjXfbPHixRIZGSk6nU5cXV2lS5cucuDAAeP0s2fPSr9+/USn04mLi4s8+uijkpWVVWkfFBUVyejRo8Xd3V28vb0lMTFRHnroIRkxYkS1+lZE5P3335d77rlH7O3tpXHjxrJ8+XKT6QBk/fr1JuP0er0sXbq0wnW91eu5qttv5a8F/63l5eVBr9cjNzfXbAcrExHVlmvXruH06dNo0KABHBwcLF0O0V251eu5qttvqzgbi4iIiMhcGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiFSK55+QGtTE65hhh4hIZQxXp7161TI/1klUkwyv45uvulwdVvNDoEREVDNsbW1Rr149428NOTk5VfozAUTWSkRw9epVnD9/HvXq1burCwUz7BARqZDhl6nN+eOKRLWhXr16t/0V+9th2CEiUiFFUeDn5wdvb+87/kFHIkuzt7evkZ9+YtghIlIxW1tbi/5OIJE14AHKREREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkahYNO4mJiWjdujVcXFzg7e2N/v3748SJEyZtRATx8fHw9/eHo6MjOnXqhKNHj5q0KSwsxLhx4+Dp6QmdTod+/fohIyOjNleFiIiIrJRFw05KSgri4uKwd+9ebNu2DSUlJejevTvy8/ONbebMmYN33nkHCxYsQFpaGnx9fdGtWzdcvnzZ2GbChAlYv349Vq1ahd27d+PKlSvo06cPSktLLbFaREREZEUUERFLF2Fw4cIFeHt7IyUlBQ8++CBEBP7+/pgwYQKmTZsG4PpeHB8fH8yePRvPPfcccnNz4eXlhRUrVmDw4MEAgHPnziEoKAjJycmIjY297XLz8vKg1+uRm5sLV1dXs64jERER1Yyqbr+t6pid3NxcAIC7uzsA4PTp08jKykL37t2NbbRaLaKjo7Fnzx4AwP79+1FcXGzSxt/fH+Hh4cY2NyssLEReXp7JQEREROpkNWFHRDBp0iR06NAB4eHhAICsrCwAgI+Pj0lbHx8f47SsrCxoNBq4ublV2uZmiYmJ0Ov1xiEoKKimV4eIiIishNWEnbFjx+Lw4cNYuXJluWmKopjcF5Fy4252qzYvvvgicnNzjUN6evqdF05ERERWzSrCzrhx47Bx40bs3LkTgYGBxvG+vr4AUG4Pzfnz5417e3x9fVFUVITs7OxK29xMq9XC1dXVZCAiIiJ1smjYERGMHTsWSUlJ2LFjBxo0aGAyvUGDBvD19cW2bduM44qKipCSkoL27dsDAFq2bAl7e3uTNpmZmThy5IixDREREf192Vly4XFxcfj888/x73//Gy4uLsY9OHq9Ho6OjlAUBRMmTEBCQgIaNWqERo0aISEhAU5OThg2bJix7ahRozB58mR4eHjA3d0dU6ZMQUREBLp27WrJ1SMiIiIrYNGws2jRIgBAp06dTMYvXboUI0eOBABMnToVBQUFGDNmDLKzs9G2bVts3boVLi4uxvbvvvsu7OzsMGjQIBQUFKBLly5YtmwZbG1ta2tViIiIyEpZ1XV2LIXX2SEiIqp76uR1doiIiIhqGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOqcLhjBwMXbwXhzNyLF0KERFZGYYdUoWkA78j9dRFJB343dKlEBGRlbGzdAFEdyoj+yqy84uhKMCmQ+cAXL8d2DIQIoCbzh6Bbk4WrpKIiCyNYYfqrA6zdxr/Vv66vZRfhD7zdxvHn3mzdy1XRURE1oZfY1GdNW9wJOxsrscc+Wuc4dbORsG8wZGWKIuIiKwM9+xQndW/RQDu9XY22ZNjsCEuCuEBegtURURE1oZ7dkgVFMX0loiIyIB7dqhO83DWwMtZC796DhjcOgir09KRmXMNHs4aS5dGRERWQhERuX0zdcvLy4Ner0dubi5cXV0tXQ5VU2FJKTS2NlAUBSKCotIyaO1sLV0WERGZWVW339yzQ3XejcFGURQGHSIiMsFjdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUYdoiIiEjVGHaIiIhI1Rh2iIiISNUsGnb+85//oG/fvvD394eiKNiwYYPJ9JEjR0JRFJOhXbt2Jm0KCwsxbtw4eHp6QqfToV+/fsjIyKjFtSAiIiJrZtGwk5+fj+bNm2PBggWVtunRowcyMzONQ3Jyssn0CRMmYP369Vi1ahV2796NK1euoE+fPigtLTV3+URERFQH2Fly4T179kTPnj1v2Uar1cLX17fCabm5uViyZAlWrFiBrl27AgA+/fRTBAUFYfv27YiNja3xmomIiKhusfpjdnbt2gVvb280btwYzzzzDM6fP2+ctn//fhQXF6N79+7Gcf7+/ggPD8eePXssUS4RERFZ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T5o0CQAwYsQILFu2DFOnTkVBQQHGjBmD7OxstG3bFlu3boWLi4vxMe+++y7s7OwwaNAgFBQUoEuXLli2bBlsbW1rfX2IiIjI+ljNdXYsidfZISIiqnvq/HV2iIiIiGoCww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhGRlTmckYOhi/ficEaOpUshUgWGHSIiK5N04HeknrqIpAO/W7oUIlWws3QBREQEZGRfRXZ+MRQF2HToHIDrtwNbBkIEcNPZI9DNycJVEtVNDDtERFagw+ydxr+Vv24v5Rehz/zdxvFn3uxdy1URqQO/xiIisgLzBkfCzuZ6zJG/xhlu7WwUzBscaYmyiFSBe3aIiKxA/xYBuNfb2WRPjsGGuCiEB+gtUBWROnDPDhGRlVEU01siujvcs0NEZCU8nDXwctbCr54DBrcOwuq0dGTmXIOHs8bSpRHVaYqIyO2bqVteXh70ej1yc3Ph6upq6XKI6G+ssKQUGlsbKIoCEUFRaRm0draWLovIKlV1+809O0REVuTGYKMoCoMOUQ3gMTtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7RET0t3Q4IwdDF+/F4YwcS5dCZsawQ0REf0tJB35H6qmLSDrwu6VLITOzs3QBREREtSUj+yqy84uhKMCmQ+cAXL8d2DIQIoCbzh6Bbk4WrpJqmlXv2YmPj4eiKCaDr6+vcbqIID4+Hv7+/nB0dESnTp1w9OhRC1ZMRETWrMPsnei7YDf6zN+NS/lFAIBL+UXoM383+i7YjQ6zd1q4QjIHqw47AHDfffchMzPTOPz000/GaXPmzME777yDBQsWIC0tDb6+vujWrRsuX75swYqJiMhazRscCTsbBQAgf40z3NrZKJg3ONISZZGZWX3YsbOzg6+vr3Hw8vICcH2vzrx58/CPf/wDDz/8MMLDw/HJJ5/g6tWr+Pzzzy1cNRERWaP+LQKwIS6qwmkb4qLQv0VALVdEtcHqw87Jkyfh7++PBg0aYMiQITh16hQA4PTp08jKykL37t2NbbVaLaKjo7Fnz55bzrOwsBB5eXkmAxER/b0oiuktqZdVh522bdti+fLl+Prrr/Hhhx8iKysL7du3x8WLF5GVlQUA8PHxMXmMj4+PcVplEhMTodfrjUNQUJDZ1oGIiKyLh7MGXs5aRATo8caAcEQE6OHlrIWHs8bSpZGZKCIit29mHfLz89GwYUNMnToV7dq1Q1RUFM6dOwc/Pz9jm2eeeQbp6enYsmVLpfMpLCxEYWGh8X5eXh6CgoKQm5sLV1dXs64DERFZXmFJKTS2NlAUBSKCotIyaO1sLV0WVVNeXh70ev1tt99WvWfnZjqdDhERETh58qTxrKyb9+KcP3++3N6em2m1Wri6upoMRET096G1s4Xy1/dXiqIw6KhcnQo7hYWFOH78OPz8/NCgQQP4+vpi27ZtxulFRUVISUlB+/btLVglERERWROrvqjglClT0LdvX9SvXx/nz5/H66+/jry8PIwYMQKKomDChAlISEhAo0aN0KhRIyQkJMDJyQnDhg2zdOlERERkJaw67GRkZGDo0KH4888/4eXlhXbt2mHv3r0IDg4GAEydOhUFBQUYM2YMsrOz0bZtW2zduhUuLi4WrpyIiIisRZ06QNlcqnqAExEREVkPVR6gTERERFRdDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREpGoMO0RERKRqDDtERESkagw7REREZDaHM3IwdPFeHM7IsVgNDDtERERkNkkHfkfqqYtIOvC7xWqws9iSiYiISJUysq8iO78YigJsOnQOwPXbgS0DIQK46ewR6OZUa/Uw7BAREVGN6jB7p/Fv5a/bS/lF6DN/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",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The estimated temperature at the nodes are: ['250.00', '168.77', '115.29', '78.86', '52.21', '30.00'] [C]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "import numpy as np \n",
     "import matplotlib.pyplot as plt\n",
@@ -435,9 +440,9 @@
    "source": [
     "\n",
     "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 6:</b>\n",
+    "<b>Task 2.2:</b>\n",
     "\n",
     "The code below is the same as above, modify it to replace the Dirichlet condition at the right BC for a Neumann condition such that there $\\frac{dT}{dx}=0$. How does the temperature profile changes?    \n",
     "\n",
@@ -457,35 +462,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": null,
    "id": "cfcd00f9",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "(4, 4)\n"
-     ]
-    },
-    {
-     "data": {
-      "image/png": "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jsjISGi1Wjz99NP48MMP8euvv97S/AMGDDB7fH19qampAK6+xq81ZMgQODjU7WmGV65cwVdffYXBgwfD2dnZ7PXXp08fXLlyBfv27bul+mtjwIAB1Z4z9Nlnn6FLly5wcXGBg4MDNBoNVqxYUav30V8hInW6vJMnT+Knn37CY489BgBV+jM7OxsnTpwwm+dvf/ub2eNt27ahrKwMo0aNMpvf0dER0dHRVa5MVRSlyvu/devWZs/Hl19+CUdHRzz55JM11r5582YoioLHH3/cbL1+fn5o06ZNra+I7devn9njli1bQlEU9O7d2zTOwcEBd999t1mNmzdvRnh4OCIjI83WHxsbe8tX5N7sNbpr1y4AVT/nOnTogJYtW5o+5/bu3YsrV66Yns9KnTt3RuPGjWtdjy1g2LExLVu2RLt27cyGqKgo0/QHHngAycnJpg+DoKAghIeHY926dbe1Xg8PD7PHWq32huOvXLliGjdixAgsXboUTz31FLZt24bvv/8e+/fvh7e3N4qKim667t9//x3A1Z2ZRqMxGxYsWAARwYULF5CXl4eKigr4+flVWUZ1465nMBiQmpqKyMhIvPjii7jnnnsQEBCA2bNno7S0FADw559/wsHBAd7e3mbzKooCPz8//PnnnzddT137888/4e/vX2V8QECAafq1PD09zR5Xnvham+eiNpo2bYodO3bAx8cHcXFxaNq0KZo2bYq33nqrVvPfrL7K7fH19TVr5+DgUGXe6oSEhAAAMjIybtr2zz//RFlZGZYsWVLltdenTx8AwB9//HFL9ddGdc9nYmIihg4disDAQKxZswZ79+7F/v378eSTT5q93+pS5c6v8rV0uyrfy1OnTq3Sn+PHjwdQtT+v74vKZbRv377KMj755JMq8zs7O5v95we4+pxc22fnz59HQEAA7Oxq3uX9/vvvEBH4+vpWWe++ffuqrLcm1X1mVlejVqs1q/H333/HkSNHqqzb1dUVIlLr9QO1f4/V9LlSOb3y71/9zLUlvBqrARo4cCAGDhyI4uJi7Nu3DwkJCRgxYgRCQ0Nx33331WstRqMRmzdvxuzZszFjxgzT+OLiYly4cKFWy/Dy8gIALFmypMYreHx9fVFaWgpFUZCTk1NlenXjqhMREYH169dDRHDkyBGsWrUKL7/8MpycnDBjxgx4enqirKwM58+fNws8IoKc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ERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREamaVcNOQkIC2rdvD1dXV/j4+GDQoEE4ceKEWRsRwZw5cxAQEAAnJyd069YNP/74o1mb4uJiTJw4EV5eXtDr9RgwYACysrLqc1OIiIjIRlk17KSmpiIuLg779u1DSkoKysrK0LNnTxQWFpravPbaa3jzzTexdOlS7N+/H35+fnjooYdw6dIlU5v4+HgkJSVh/fr12LNnDwoKCtCvXz+Ul5dbY7OIiIjIhigiItYuotL58+fh4+OD1NRUPPDAAxARBAQEID4+HtOnTwdw9SiOr68vFixYgGeeeQZGoxHe3t5YvXo1hg0bBgA4d+4cgoODsWXLFsTGxt50vfn5+TAYDDAajXBzc7PoNhIREVHdqO3+26bO2TEajQAADw8PAEBGRgZycnLQs2dPUxudTofo6GikpaUBAA4ePIjS0lKzNgEBAQgPDze1uV5xcTHy8/PNBiIiIlInmwk7IoLJkyeja9euCA8PBwDk5OQAAHx9fc3a+vr6mqbl5ORAq9XC3d29xjbXS0hIgMFgMA3BwcF1vTlERERkI2wm7EyYMAFHjhzBunXrqkxTFMXssYhUGXe9G7WZOXMmjEajacjMzPzrhRMREZFNs4mwM3HiRGzcuBG7du1CUFCQabyfnx8AVDlCk5ubazra4+fnh5KSEuTl5dXY5no6nQ5ubm5mAxEREamTVcOOiGDChAlITEzEzp070aRJE7PpTZo0gZ+fH1JSUkzjSkpKkJqais6dOwMAoqKioNFozNpkZ2fj6NGjpjZERER053Kw5srj4uKwdu1afPHFF3B1dTUdwTEYDHBycoKiKIiPj8f8+fPRrFkzNGvWDPPnz4ezszNGjBhhajt27FhMmTIFnp6e8PDwwNSpUxEREYEePXpYc/OIiIjIBlg17CxfvhwA0K1bN7PxK1euxJgxYwAAL7zwAoqKijB+/Hjk5eWhY8eO2L59O1xdXU3tFy1aBAcHBwwdOhRFRUXo3r07Vq1aBXt7+/raFCIiIrJRNnWfHWvhfXaIiIgangZ5nx0iIiKiusawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqsawQ0RERKrGsENERESqxrBDREREqmbVsPP111+jf//+CAgIgKIoSE5ONpteUFCACRMmICgoCE5OTmjZsiWWL19u1qa4uBgTJ06El5cX9Ho9BgwYgKysrHrcCiIiIrJlVg07hYWFaNOmDZYuXVrt9EmTJmHr1q1Ys2YNjh8/jkmTJmHixIn44osvTG3i4+ORlJSE9evXY8+ePSgoKEC/fv1QXl5eX5tBRERENkwREbF2EQCgKAqSkpIwaNAg07jw8HAMGzYMs2bNMo2LiopCnz59MG/ePBiNRnh7e2P16tUYNmwYAODcuXMIDg7Gli1bEBsbW6t15+fnw2AwwGg0ws3NrU63i4iIiCyjtvtvmz5np2vXrti4cSPOnj0LEcGuXbvw888/m0LMwYMHUVpaip49e5rmCQgIQHh4ONLS0mpcbnFxMfLz880GIiIiUiebDjv/+te/0KpVKwQFBUGr1aJXr15YtmwZunbtCgDIycmBVquFu7u72Xy+vr7IycmpcbkJCQkwGAymITg42KLbQURERNZj82Fn37592LhxIw4ePIg33ngD48ePx44dO244n4hAUZQap8+cORNGo9E0ZGZm1nXpREREZCMcrF1ATYqKivDiiy8iKSkJffv2BQC0bt0a6enpWLhwIXr06AE/Pz+UlJQgLy/P7OhObm4uOnfuXOOydToddDqdxbeBiIiIrM9mj+yUlpaitLQUdnbmJdrb26OiogLA1ZOVNRoNUlJSTNOzs7Nx9OjRG4YdIiIiunNY9chOQUEBTp48aXqckZGB9PR0eHh4ICQkBNHR0Zg2bRqcnJzQuHFjpKam4qOPPsKbb74JADAYDBg7diymTJkCT09PeHh4YOrUqYiIiECPHj2stVlERERkQ6x66fnu3bsRExNTZfzo0aOxatUq5OTkYObMmdi+fTsuXLiA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Dh1CYmIifv75ZwwYMMCsXXx8PJKSkrB+/Xrs2bMHBQUF6NevH8rLy+trM4iIiMiG2cxvYymKgqSkJAwaNKjGNvv370eHDh1w5swZhISEwGg0wtvbG6tXr8awYcMAAOfOnUNwcDC2bNmC2NjYWq2bv41FRETU8NR2/92gztkxGo1QFAWNGjUCABw8eBClpaXo2bOnqU1AQADCw8ORlpZW43KKi4uRn59vNhAREZE6NZiwc+XKFcyYMQMjRowwpbecnBxotVq4u7ubtfX19UVOTk6Ny0pISIDBYDANwcHBFq2diIiIrKdBhJ3S0lIMHz4cFRUVWLZs2U3biwgURalx+syZM2E0Gk1DZmZmXZZLRERENsTmw05paSmGDh2KjIwMpKSkmH0n5+fnh5KSEuTl5ZnNk5ubC19f3xqXqdPp4ObmZjYQERGROtl02KkMOr/88gt27NgBT09Ps+lRUVHQaDRISUkxjcvOzsbRo0fRuXPn+i6XiIiIbJCDNVdeUFCAkydPmh5nZGQgPT0dHh4eCAgIwJAhQ3Do0CFs3rwZ5eXlpvNwPDw8oNVqYTAYMHbsWEyZMgWenp7w8PDA1KlTERERgR49elhrs4iIiMiGWPXS8927dyMmJqbK+NGjR2POnDlo0qRJtfPt2rUL3bp1A3D1xOVp06Zh7dq1KCoqQvfu3bFs2bJbOumYl54TERE1PLXdf9vMfXasiWGHiIio4VHlfXaIiIiIbhXDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOEZGNOZJ1EY++uw9Hsi5auxQiVWDYISKyMYmHzmLvr38i8dBZa5dCpAoO1i6AiIiArLzLyCsshaIAmw6fA3D175CoIIgA7noNgtydrVwlUcPEsENEZAO6Lthl+rfy/38vFJag35I9pvGnX+1bz1URqYNVv8b6+uuv0b9/fwQEBEBRFCQnJ5tNFxHMmTMHAQEBcHJyQrdu3fDjjz+atSkuLsbE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vP7665g3bx62bt2Kdu3a1X3xDYgl+rlFixb4z3/+g/T0dNMwYMAAxMTEID09HcHBwRbbHltlqddzly5dcPLkSVOYBICff/4Z/v7+d2TQASzX15cvX64SaOzt7SFXL/Cpwy1oGP5KP9eGxfeFdXKa8x2i8nK7FStWyLFjxyQ+Pl70er2cPn1aRERmzJghI0eONLWvvKxx0qRJcuzYMVmxYkWVyxq//fZbsbe3l1dffVWOHz8ur776Ki89t0A/L1iwQLRarWzYsEGys7NNw6VLl+p9+2yFJfr5erwayzL9/Ntvv4mLi4tMmDBBTpw4IZs3bxYfHx/55z//We/bZ0ss0dezZ88WV1dXWbdunfz666+yfft2adq0qQwdOrTet89W3Go/i4j88MMP8sMPP0hUVJSMGDFCfvjhB/nxxx9N0y29L2TYuUVvv/22NG7cWLRardx7772SmppqmjZ69GiJjo42a797925p27ataLVaCQ0NleXLl1dZ5meffSZhYWGi0WikRYsW8vnnn1t6M2xeXfdz48aNBUCVYfbs2fWwNbbLEq/nazHsXGWJfk5LS5OOHTuKTqeTu+66S1555RUpKyuz9KbYvLru69LSUpkzZ440bdpUHB0dJTg4WMaPHy95eXn1sDW261b7ubrP38aNG5u1seS+UPn/IoiIiIhUiefsEBERkaox7BAREZGqMewQERGRqjHsEBERkaox7BAREZGqMewQERGRqjHsEBERkaox7BAREZGqMewQERGRqjHsEBERkaox7BCR6pw/fx5+fn6YP3++adx3330HrVaL7du3W7EyIrIG/jYWEanSli1bMGjQIKSlpaFFixZo27Yt+vbti8WLF1u7NCKqZww7RKRacXFx2LFjB9q3b4/Dhw9j//79cHR0tHZZRFTPGHaISLWKiooQHh6OzMxMHDhwAK1bt7Z2SURkBTxnh4hU69dff8W5c+dQUVGBM2fOWLscIrISHtkhIlUqKSlBhw4dEBkZiRYtWuDNN9/Ef/7zH/j6+lq7NCKqZww7RKRK06ZNw4YNG3D48GG4uLggJiYGrq6u2Lx5s7VLI6J6xq+xiEh1du/ejcWLF2P16tVwc3ODnZ0dVq9ejT179mD58uXWLo+I6hmP7BAREZGq8cgOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGpGsMOERERqRrDDhEREakaww4RERGp2v8BZ4UCmG4iWt8AAAAASUVORK5CYII=",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The estimated temperature at the nodes are: ['250.00', '174.84', '128.64', '102.18', '90.15', '90.15'] [C]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "Ts = 30\n",
     "alpha = 500\n",
@@ -532,155 +512,86 @@
   },
   {
    "cell_type": "markdown",
-   "id": "0b47e9c2",
+   "id": "57632792",
    "metadata": {},
    "source": [
-    "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 7:</b>\n",
+    "<b>Task 2.3:</b>\n",
     "\n",
-    "Now, instead of using the central difference for approximating the second derivative. Use the forward difference to replace the second derivative (first order accurate). Write the algebraic representation of the differential equation below.\n",
-    "\n",
-    "</p>\n",
-    "</div>"
+    "Just as we did in Task 2.1, this task has three parts: a) discretize the analytic expression into a system of equations using <b>forward differences</b>, b) write the system of equations by hand (e.g., the matrices), and c) implement the discretized system of equations in a code cell.\n",
+    "</div>    \n"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "74174f3a",
+   "id": "2d4b9fb9",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p> Answer\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "    \n",
-    "Add the image.\n",
+    "<b>Task 2.3a:</b>\n",
     "\n",
-    "</p>\n",
-    "</div>"
+    "Discretize the analytic expression into a system of equations for a grid with 6 points using <b>forward differences</b>.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "a4e0342e",
+   "id": "1c5ec2f2",
    "metadata": {},
    "source": [
-    "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
-    "<p>\n",
-    "<b>Task 8:</b>\n",
-    "\n",
-    "Now, write the resulting matrix A, the vector T and the vector b.\n",
-    "    \n",
-    "</p>\n",
-    "</div>"
+    "_Your answer here._"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "b9ca660d",
+   "id": "361f1638",
    "metadata": {},
-   "source": []
+   "source": [
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<p>\n",
+    "<b>Task 2.3b:</b>\n",
+    "\n",
+    "Write the system of equations by hand for a grid with 6 points. In other words, construct the matrix A and vectors T and b.\n",
+    "\n",
+    "<em>Write your answer by hand using paper/tablet and include the image below.</em>\n",
+    "    \n"
+   ]
   },
   {
    "cell_type": "markdown",
-   "id": "8cb492f8",
+   "id": "047a38d3",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
-    "<p> Answer\n",
-    "<p>\n",
-    "    \n",
-    "Add the image.\n",
-    "\n",
-    "</p>\n",
-    "</div>"
+    "_Your answer here._"
    ]
   },
   {
    "cell_type": "markdown",
-   "id": "0640b43e",
+   "id": "3996b611",
    "metadata": {},
    "source": [
-    "\n",
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%;vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 9:</b>\n",
+    "<b>Task 2.3c:</b>\n",
     "\n",
-    "The original code is copied below, modify it accordingly to your new discretization. Keep Dirichlet conditions. \n",
+    "Implement the discretized system of equations in a code cell.\n",
     "\n",
-    "</p>\n",
-    "</div>"
+    "<b>This time we did not do it for you!</b> Copy the code from Task 2.1c and revise it to solve the system of equations using <b>Forward Differences</b>. Keep the Dirichlet conditions.\n",
+    "    \n"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": null,
    "id": "1e783d3e",
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "image/png": "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jz76yDz++ONm/vz5ZvXq1WbOnDmmXbt2Jioqyhw8eNAYY8yBAwfMxIkTjSTzyiuvOOs6cOCAMcaYWbNmGcuyTJ8+fcy8efPMJ598Ynr27Gm8vb3N8uXLnctavny58fb2Nm3btjXz5s0zH330kbnqqqtMzZo1i63X2Y4fP24iIyNNixYtzIcffmhWr15tPvjgA/O3v/3NbNu2zRhjTGFhoenSpYvx8fExjz32mFm6dKl57rnnTHBwsGnWrJk5efKkc37t2rUz7dq1cz5euXKlkWRWrlzpstxdu3YZSWb69OnGGGN+/vln07dvXyPJOQ7r1q1zzjspKckMHjzY+fwDBw6YhIQEExUVZV5//XWzZMkSc9999xlJZujQocWWk5ycbLp27WoWLFhgFixYYBo3bmzCw8PN0aNHzzk+JW0bxvz/bXPXrl3O5QQEBJjrr7/eLFiwwKxatcq8//775vbbbzdHjhxxPk+SGTduXLH51K5d29x///3m888/N2+99ZYJDw83qampLsscOHCg8fLyMmPHjjVLly4106ZNM4mJicbhcLiMTWkkmWHDhhV7LRUWFl7UmCYkJJjU1FQzd+5cs3TpUrNr1y4zYMAAU69ePWff9evXG0kmMDDQvP/++872bt26mauvvtr5uCyvlzPHKyEhwdx7773ms88+M3PnzjX5+fnOv9Xdd99tPvvsM/PGG2+YhIQEExsb67JNliYpKcn06NGj1Oljx441ksyXX37pMqZFf8+9e/eaefPmGUnm/vvvN+vWrTPffvut+fnnn80rr7xiJJmJEyeadevWmR9//NEYY8yKFSuMn5+fufbaa80HH3xglixZYoYMGeLy2jjfej/99NPGsixz1113mUWLFpl58+aZa665xgQHBzuXY4wxgwcPNn5+fqZhw4bmueeeM8uXLzePP/64sSzLTJgwwdnv1KlTJjU11fj4+JhRo0aZxYsXm4ULF5pHHnnEzJ4929nvnnvuMb6+vmbkyJFmyZIl5p///Kdp0KCBiYmJMRkZGecc66K/Vf369c2TTz5pli1bZkaPHm0kmfvuu880aNDA/OMf/zDLli0zd955p5FkPv74Y+fzs7OzTdOmTU316tXN1KlTzfLly82LL75oHA6H6dChg3ObXrdunQkMDDTdu3d3vqcUjcmFvPbuvfdeZ21Lliwxr7/+uomKijKJiYku2+elboOeRNjxoKKNsaSbt7e3s99zzz1nJJ3zg2vDhg3F3kCKlBZ2AgMDTXp6urNt8+bNRpKJi4sz2dnZzvYFCxYYSWbhwoWlLj8/P98cP37cBAcHmxdffNHZ/tFHH5UYBrKzs01ERITp1auXS3tBQYG54oorXD4oWrZsaeLj401OTo6zLSsry0RERJw37GzcuNFIMgsWLCi1z5IlS4wkM2XKFJf2Dz74wEgyb7zxhrPtYsOOMcakpaWVWu/ZYafog+frr7926Td06FBjWZbZsWOHy3IaN27sEpC/+eYbI8nlzbskZQ07c+fONZLM5s2bzzm/0sLOsGHDXPpNmTLFSDL79+83xhjz448/GklmzJgxLv1mz55tJJU57JR0e/PNN40xFz6mderUMXl5eS5933rrLSPJ7NmzxxhjzFNPPWUaNGhgevfube68805jjDF5eXkmODjYPPLII6XWWtrrpWi87rjjDpf+R44cMQEBAebGG290af/qq6+MpHIJO6+99pqRZD744ANn29l/z6KxefbZZ12eW/Q6+Oijj1zaGzRoYJo1a2ZOnTrl0t6zZ08TFxdnCgoKzrnee/bsMT4+Pub+++93aT927JiJjY01/fr1c7YNHjzYSDIffvihS9/u3bub+vXrOx/PnDnTZbsoybp164wk8/zzz7u079271wQGBprRo0eX+lxj/v/r6uznN23a1Egy8+bNc7adOnXKREVFmZtuusnZNmnSJOPl5WU2bNjg8vyi1+HixYudbcHBwSW+Psr62tu+fXuJ/b7++msjybkdl8c26EkcxqoEZs6cqQ0bNrjcvv76a+f0okNU/fr104cffqjffvutXJbbtGlTJSQkOB83bNhQ0ukz64OCgoq1n7nL/fjx4xozZowuu+wy+fj4yMfHRyEhIcrOztb27dvPu+y1a9fq8OHDGjx4sPLz8523wsJCde3aVRs2bFB2drays7O1YcMG3XTTTQoICHA+PzQ0VL169Trvci677DKFh4drzJgxev3117Vt27ZifVasWCFJxQ6V3HLLLQoODi7xsJq7rVixQo0aNdLVV1/t0j5kyBAZY5w1F+nRo4e8vb2dj5s0aSJJxQ6TXKymTZvKz89P9957r959990y7co/U+/evV0en13f6tWrJZ3exs/Ut29f+fiU/dTCfv36FXstFZ24eaFj2rt372InN3fq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df/996t69eoKDg5W7969lZ6eXpGrAgAAKimPhp3Vq1crLS1N69ev17Jly5Sfn6/OnTsrOzvb2WfKlCmaOnWqXn75ZW3YsEGxsbG6/vrrdezYMWef4cOHa/78+ZozZ47WrFmj48ePq2fPniooKPDEagEAgErEMsYYTxdR5ODBg4qOjtbq1at13XXXyRij+Ph4DR8+XGPGjJF0ei9OTEyMJk+erL/+9a/KzMxUVFSUZs2apf79+0uS9u3bp8TERC1evFhdunQ573KzsrLkcDiUmZmpsLAwt64jAAAoH2X9/K5U5+xkZmZKkiIiIiRJu3btUkZGhjp37uzs4+/vr3bt2mnt2rWSpE2bNunUqVMufeLj45WSkuLsc7bc3FxlZWW53AAAgD1VmrBjjNGIESPUtm1bpaSkSJIyMjIkSTExMS59Y2JinNMyMjLk5+en8PDwUvucbdKkSXI4HM5bYmJiea8OAACoJCpN2Lnvvvu0ZcsWzZ49u9g0y7JcHhtjirWd7Vx9Hn74YWVmZjpve/fuvfjCAQBApVYpws7999+vhQsXauXKlapRo4azPTY2VpKK7aE5cOCAc29PbGys8vLydOTIkVL7nM3f319hYWEuNwAAYE8eDTvGGN13332aN2+eVqxYoVq1arlMr1WrlmJjY7Vs2TJnW15enlavXq3WrVtLkpo3by5fX1+XPvv379fWrVudfQAAwJ+XjycXnpaWpn/+85/617/+pdDQUOceHIfDocDAQFmWpeHDh2vixImqW7eu6tatq4kTJyooKEiDBg1y9r377rs1cuRIRUZGKiIiQqNGjVLjxo3VqVMnT64eAACoBDwadl577TVJUvv27V3ap0+friFDhkiSRo8erZycHA0bNkxHjhxRy5YttXTpUoWGhjr7v/DCC/Lx8VG/fv2Uk5Ojjh07asaMGfL29q6oVQEAAJVUpfqeHU/he3YAAKh6quT37AAAAJQ3wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg4AALA1wg5sYUv6UQ18Y722pB/1dCkAgEqGsANbmPftb1q385Dmffubp0sBAFQyPp4uALhY6UdO6Ej2KVmW9Mn3+ySdvu/bvIaMkcKDfVUjPMjDVQIAPI2wgyqr7eSVzn9b/70/nJ2nni+tcbbvfqZHBVcFAKhsOIyFKmta/6by8Todc8x/24rufbwsTevf1BNlAQAqGfbsoMrq0yxBl0WHuOzJKbIgrY1SEhweqAoAUNmwZwe2YFmu9wAAFGHPDqq0yBA/RYX4K65agPpflagPNuzV/qMnFRni5+nSAACVhGWMMefvZm9ZWVlyOBzKzMxUWFiYp8vBBcrNL5Cft5csy5IxRnkFhfL38fZ0WQAANyvr5zd7dlDlnRlsLMsi6AAAXHDODgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDWPhp1///vf6tWrl+Lj42VZlhYsWOAyfciQIbIsy+XWqlUrlz65ubm6//77Vb16dQUHB6t3795KT0+vwLUAAACVmUfDTnZ2tq644gq9/PLLpfbp2rWr9u/f77wtXrzYZfrw4cM1f/58zZkzR2vWrNHx48fVs2dPFRQUuLt8AABQBfh4cuHdunVTt27dztnH399fsbGxJU7LzMzU22+/rVmzZqlTp06SpPfee0+JiYlavny5unTpUu41AwCAqqXSn7OzatUqRUdHq169errnnnt04MAB57RNmzbp1KlT6ty5s7MtPj5eKSkpWrt2rSfKBQAAlYxH9+ycT7du3XTLLbcoKSlJu3bt0mOPPaYOHTpo06ZN8vf3V0ZGhvz8/BQeHu7yvJiYGGVkZJQ639zcXOXm5jofZ2VluW0dAACAZ1XqsNO/f3/nv1NSUtSiRQslJSXp008/1U033VTq84wxsiyr1OmTJk3ShAkTyrVWAABQOVX6w1hniouLU1JSkn766SdJUmxsrPLy8nTkyBGXfgcOHFBMTEyp83n44YeVmZnpvO3du9etdQMAAM+pUmHn0KFD2rt3r+Li4iRJzZs3l6+vr5YtW+bss3//fm3dulWtW7cudT7+/v4KCwtzuQEAAHvy6GGs48eP6+eff3Y+3rVrlzZv3qyIiAhFRERo/PjxuvnmmxUXF6fdu3frkUceUfXq1XXjjTdKkhwOh+6++26NHDlSkZGRioiI0KhRo9S4cWPn1VkAAODPzaNhZ+PGjUpNTXU+HjFihCRp8ODBeu211/TDDz9o5syZOnr0qOLi4pSamqoPPvhAoaGhzue88MIL8vHxUb9+/ZSTk6OOHTtqxowZ8vb2rvD1AQAAlY9ljDGeLsLTsrKy5HA4lJmZySEtAACqiLJ+flepc3YAAAAuFGEHAADYGmEHAADYGmEHAADYGmEHAADYWpnDzl133aVjx465sxYAAIByV+aw8+677yonJ8edtQAAAJS7Mocdvo4HAABURRd0zs65fkkcAACgMrqgn4uoV6/eeQPP4cOHL6kgAACA8nRBYWfChAlyOBzuqgUAAKDcXVDYGTBggKKjo91VCwAAQLkr8zk7nK8DAACqIq7GAgAAtlbmw1iFhYXurAMAAMAt+LkIAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAGW2Jf2oBr6xXlvSj3q6FAAoM8IOgDKb9+1vWrfzkOZ9+5unSwGAMvPxdAEAKrf0Iyd0JPuULEv65Pt9kk7f921eQ8ZI4cG+qhEe5OEqAaB0hB0A59R28krnv63/3h/OzlPPl9Y423c/06OCqwKAsuMwFoBzmta/qXy8Tscc89+2onsfL0vT+jf1RFkAUGbs2QFwTn2aJeiy6BCXPTlFFqS1UUqCwwNVAUDZsWcHQJlZlus9AFQF7NkBcF6RIX6KCvFXXLUA9b8qUR9s2Kv9R08qMsTP06UBwHlZxhhz/m72lpWVJYfDoczMTIWFhXm6HKBSys0vkJ+3lyzLkjFGeQWF8vfx9nRZAP7Eyvr5zZ4dAGVyZrCxLIugA6DK4JwdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABga4QdAABgax4NO//+97/Vq1cvxcfHy7IsLViwwGW6MUbjx49XfHy8AgMD1b59e/34448ufXJzc3X//ferevXqCg4OVu/evZWenl6BawEAACozj4ad7OxsXXHFFXr55ZdLnD5lyhRNnTpVL7/8sjZs2KDY2Fhdf/31OnbsmLPP8OHDNX/+fM2ZM0dr1qzR8ePH1bNnTxUUFFTUagAAgErMMsYYTxchSZZlaf78+erTp4+k03t14uPjNXz4cI0ZM0bS6b04MTExmjx5sv76178qMzNTUVFRmjVrlvr37y9J2rdvnxITE7V48WJ16dKlTMvOysqSw+FQZmamwsLC3LJ+AACgfJX187vSnrOza9cuZWRkqHPnzs42f39/tWvXTmvXrpUkbdq0SadOnXLpEx8fr5SUFGefkuTm5iorK8vlBgAA7KnShp2MjAxJUkxMjEt7TEyMc1pGRob8/PwUHh5eap+STJo0SQ6Hw3lLTEws5+oBAEBlUWnDThHLslweG2OKtZ3tfH0efvhhZWZmOm979+4tl1oBAEDlU2nDTmxsrCQV20Nz4MAB596e2NhY5eXl6ciRI6X2KYm/v7/CwsJcbgAAwJ4qbdipVauWYmNjtWzZMmdbXl6eVq9erdatW0uSmjdvLl9fX5c++/fv19atW519AADAn5uPJxd+/Phx/fzzz87Hu3bt0ubNmxUREaGaNWtq+PDhmjhxourWrau6detq4sSJCgoK0qBBgyRJDodDd999t0aOHKnIyEhFRERo1KhRaty4sTp16uSp1QIAAJWIR8POxo0blZqa6nw8YsQISdLgwYM1Y8YMjR49Wjk5ORo2bJiOHDmili1baunSpQoNDXU+54UXXpCPj4/69eunnJwcdezYUTNmzJC3t3eFrw8AAKh8Ks337HgS37MDAEDVU+W/ZwcAAKA8EHYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAoJLZkn5UA99Yry3pRz1dCmALhB0AqGTmffub1u08pHnf/ubpUgBb8PF0AQAAKf3ICR3JPiXLkj75fp+k0/d9m9eQMVJ4sK9qhAd5uEqgaiLsAEAl0HbySue/rf/eH87OU8+X1jjbdz/To4KrAuyBw1gAUAlM699UPl6nY475b1vRvY+XpWn9m3qiLMAW2LMDAJVAn2YJuiw6xGVPTpEFaW2UkuDwQFWAPbBnBwAqGctyvQdwadizAwCVRGSIn6JC/BVXLUD9r0rUBxv2av/Rk4oM8fN0aUCVZhljzPm72VtWVpYcDocyMzMVFhbm6XIA/Inl5hfIz9tLlmXJGKO8gkL5+3h7uiygUirr5zd7dgCgEjkz2FiWRdABygHn7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAA/pS2pB/VwDfWa0v6UU+XAjcj7AAA/pTmffub1u08pHnf/ubpUuBmPp4uAACAipJ+5ISOZJ+SZUmffL9P0un7vs1ryBgpPNhXNcKDPFwlylul3rMzfvx4WZblcouNjXVON8Zo/Pjxio+PV2BgoNq3b68ff/zRgxUDACqztpNXqtfLa9TzpTU6nJ0nSTqcnaeeL61Rr5fXqO3klR6uEO5QqcOOJF1++eXav3+/8/bDDz84p02ZMkVTp07Vyy+/rA0bNig2NlbXX3+9jh075sGKAQCV1bT+TeXjZUmSzH/biu59vCxN69/UE2XBzSp92PHx8VFsbKzzFhUVJen0Xp1p06bp73//u2666SalpKTo3Xff1YkTJ/TPf/7Tw1UDACqjPs0StCCtTYnTFqS1UZ9mCRVcESpCpQ87P/30k+Lj41WrVi0NGDBAO3fulCTt2rVLGRkZ6ty5s7Ovv7+/2rVrp7Vr155znrm5ucrKynK5AQD+XCzL9R72VanDTsuWLTVz5kx9/vnnevPNN5WRkaHWrVvr0KFDysjIkCTFxMS4PCcmJsY5rTSTJk2Sw+Fw3hITE922DgCAyiUyxE9RIf5qnODQ0zemqHGCQ1Eh/ooM8fN0aXATyxhjzt+tcsjOzladOnU0evRotWrVSm3atNG+ffsUFxfn7HPPPfdo7969WrJkSanzyc3NVW5urvNxVlaWEhMTlZmZqbCwMLeuAwDA83LzC+Tn7SXLsmSMUV5Bofx9vD1dFi5QVlaWHA7HeT+/K/WenbMFBwercePG+umnn5xXZZ29F+fAgQPF9vaczd/fX2FhYS43AMCfh7+Pt6z/Hr+yLIugY3NVKuzk5uZq+/btiouLU61atRQbG6tly5Y5p+fl5Wn16tVq3bq1B6sEAACVSaX+UsFRo0apV69eqlmzpg4cOKCnnnpKWVlZGjx4sCzL0vDhwzVx4kTVrVtXdevW1cSJExUUFKRBgwZ5unQAAFBJVOqwk56eroEDB+qPP/5QVFSUWrVqpfXr1yspKUmSNHr0aOXk5GjYsGE6cuSIWrZsqaVLlyo0NNTDlQMAgMqiSp2g7C5lPcEJAABUHrY8QRkAAOBCEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAICtEXYAAIDbbEk/qoFvrNeW9KMeq4GwAwAA3Gbet79p3c5Dmvftbx6rwcdjSwYAALaUfuSEjmSfkmVJn3y/T9Lp+77Na8gYKTzYVzXCgyqsHsIOAAAoV20nr3T+2/rv/eHsPPV8aY2zffczPSqsHg5jAQCAcjWtf1P5eJ2OOea/bUX3Pl6WpvVvWqH1sGcHAACUqz7NEnRZdIjLnpwiC9LaKCXBUaH1sGcHAAC4jWW53nsCe3YAAEC5iwzxU1SIv+KqBaj/VYn6YMNe7T96UpEhfhVei2WMMefvZm9ZWVlyOBzKzMxUWFiYp8sBAMAWcvML5OftJcuyZIxRXkGh/H28y23+Zf38Zs8OAABwizODjWVZ5Rp0LgTn7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFsj7AAAAFvj5yIkFf08WFZWlocrAQAAZVX0uX2+n/kk7Eg6duyYJCkxMdHDlQAAgAt17NgxORyOUqfzq+eSCgsLtW/fPoWGhsqyrHKbb1ZWlhITE7V3715+Td3NGOuKwThXDMa5YjDOFcOd42yM0bFjxxQfHy8vr9LPzGHPjiQvLy/VqFHDbfMPCwvjhVRBGOuKwThXDMa5YjDOFcNd43yuPTpFOEEZAADYGmEHAADYGmHHjfz9/TVu3Dj5+/t7uhTbY6wrBuNcMRjnisE4V4zKMM6coAwAAGyNPTsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsX6NVXX1WtWrUUEBCg5s2b68svvzxn/9WrV6t58+YKCAhQ7dq19frrrxfr8/HHH6tRo0by9/dXo0aNNH/+fHeVX2WU9zi/+eabuvbaaxUeHq7w8HB16tRJ33zzjTtXoUpwx/ZcZM6cObIsS3369Cnnqqsed4zz0aNHlZaWpri4OAUEBKhhw4ZavHixu1ahynDHWE+bNk3169dXYGCgEhMT9dBDD+nkyZPuWoUq4ULGef/+/Ro0aJDq168vLy8vDR8+vMR+bv0sNCizOXPmGF9fX/Pmm2+abdu2mQcffNAEBwebX3/9tcT+O3fuNEFBQebBBx8027ZtM2+++abx9fU1c+fOdfZZu3at8fb2NhMnTjTbt283EydOND4+Pmb9+vUVtVqVjjvGedCgQeaVV14x3333ndm+fbu58847jcPhMOnp6RW1WpWOO8a5yO7du01CQoK59tprzQ033ODmNanc3DHOubm5pkWLFqZ79+5mzZo1Zvfu3ebLL780mzdvrqjVqpTcMdbvvfee8ff3N++//77ZtWuX+fzzz01cXJwZPnx4Ra1WpXOh47xr1y7zwAMPmHfffdc0bdrUPPjgg8X6uPuzkLBzAa6++mrzt7/9zaWtQYMGZuzYsSX2Hz16tGnQoIFL21//+lfTqlUr5+N+/fqZrl27uvTp0qWLGTBgQDlVXfW4Y5zPlp+fb0JDQ82777576QVXUe4a5/z8fNOmTRvz1ltvmcGDB//pw447xvm1114ztWvXNnl5eeVfcBXmjrFOS0szHTp0cOkzYsQI07Zt23Kquuq50HE+U7t27UoMO+7+LOQwVhnl5eVp06ZN6ty5s0t7586dtXbt2hKfs27dumL9u3Tpoo0bN+rUqVPn7FPaPO3OXeN8thMnTujUqVOKiIgon8KrGHeO8xNPPKGoqCjdfffd5V94FeOucV64cKGuueYapaWlKSYmRikpKZo4caIKCgrcsyJVgLvGum3bttq0aZPzsPfOnTu1ePFi9ejRww1rUfldzDiXhbs/C/kh0DL6448/VFBQoJiYGJf2mJgYZWRklPicjIyMEvvn5+frjz/+UFxcXKl9Spun3blrnM82duxYJSQkqFOnTuVXfBXirnH+6quv9Pbbb2vz5s3uKr1Kcdc479y5UytWrNCtt96qxYsX66efflJaWpry8/P1+OOPu219KjN3jfWAAQN08OBBtW3bVsYY5efna+jQoRo7dqzb1qUyu5hxLgt3fxYSdi6QZVkuj40xxdrO1//s9gud55+BO8a5yJQpUzR79mytWrVKAQEB5VBt1VWe43zs2DHddtttevPNN1W9evXyL7YKK+/tubCwUNHR0XrjjTfk7e2t5s2ba9++fXr22Wf/tGGnSHmP9apVq/T000/r1VdfVcuWLfXzzz/rwQcfVFxcnB577LFyrr7qcMfnljs/Cwk7ZVS9enV5e3sXS5kHDhwolkaLxMbGltjfx8dHkZGR5+xT2jztzl3jXOS5557TxIkTtXz5cjVp0qR8i69C3DHOP/74o3bv3q1evXo5pxcWFkqSfHx8tGPHDtWpU6ec16Ryc9f2HBcXJ19fX3l7ezv7NGzYUBkZGcrLy5Ofn185r0nl566xfuyxx3T77bfrL3/5iySpcePGys7O1r333qu///3v8vL6c50NcjHjXBbu/iz8c/2VLoGfn5+aN2+uZcuWubQvW7ZMrVu3LvE511xzTbH+S5cuVYsWLeTr63vOPqXN0+7cNc6S9Oyzz+rJJ5/UkiVL1KJFi/Ivvgpxxzg3aNBAP/zwgzZv3uy89e7dW6mpqdq8ebMSExPdtj6Vlbu25zZt2ujnn392hklJ+r//+z/FxcX9KYOO5L6xPnHiRLFA4+3tLXP6Ap9yXIOq4WLGuSzc/llYLqc5/0kUXW739ttvm23btpnhw4eb4OBgs3v3bmOMMWPHjjW33367s3/RZY0PPfSQ2bZtm3n77beLXdb41VdfGW9vb/PMM8+Y7du3m2eeeYZLz90wzpMnTzZ+fn5m7ty5Zv/+/c7bsWPHKnz9Kgt3jPPZuBrLPeO8Z88eExISYu677z6zY8cOs2jRIhMdHW2eeuqpCl+/ysQdYz1u3DgTGhpqZs+ebXbu3GmWLl1q6tSpY/r161fh61dZXOg4G2PMd999Z7777jvTvHlzM2jQIPPdd9+ZH3/80Tnd3Z+FhJ0L9Morr5ikpCTj5+dnrrzySrN69WrntMGDB5t27dq59F+1apVp1qyZ8fPzM8nJyea1114rNs+PPvrI1K9f3/j6+poGDRqYjz/+2N2rUemV9zgnJSUZScVu48aNq4C1qbzcsT2fibBzmjvGee3ataZly5bG39/f1K5d2zz99NMmPz/f3atS6ZX3WJ86dcqMHz/e1KlTxwQEBJjExEQzbNgwc+TIkQpYm8rrQse5pPffpKQklz7u/Cy0/lsEAACALXHODgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgDbOXjwoGJjYzVx4kRn29dffy0/Pz8tXbrUg5UB8AR+GwuALS1evFh9+vTR2rVr1aBBAzVr1kw9evTQtGnTPF0agApG2AFgW2lpaVq+fLmuuuoqff/999qwYYMCAgI8XRaACkbYAWBbOTk5SklJ0d69e7Vx40Y1adLE0yUB8ADO2QFgWzt37tS+fftUWFioX3/91dPlAPAQ9uwAsKW8vDxdffXVatq0qRo0aKCpU6fqhx9+UExMjKdLA1DBCDsAbOl//ud/NHfuXH3//fcKCQlRamqqQkNDtWjRIk+XBqCCcRgLgO2sWrVK06ZN06xZsxQWFiYvLy/NmjVLa9as0Wuvvebp8gBUMPbsAAAAW2PPDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsDXCDgAAsLX/B2g9m7pRhHEIAAAAAElFTkSuQmCC",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The estimated temperature at the nodes are: ['250.00', '168.77', '115.29', '78.86', '52.21', '30.00'] [C]\n",
-      "The temperature at x=0.02 is: 168.77 [C]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
-    "Ts = 30\n",
-    "alpha = 500\n",
-    "dx=0.02\n",
-    "\n",
-    "# grid creation\n",
-    "x = np.arange(0,0.1+dx,dx)\n",
-    "T = np.zeros(x.shape)\n",
-    "n=len(x)\n",
-    "\n",
-    "# boundary conditions\n",
-    "T[0] = 250\n",
-    "T[-1] = Ts\n",
-    "\n",
-    "# Building matrix A\n",
-    "matrix_element = -(2+dx**2*alpha)\n",
-    "A = np.zeros((len(x)-2,len(x)-2))\n",
-    "np.fill_diagonal(A, matrix_element)\n",
-    "A[np.arange(n-3), np.arange(1, n-2)] = 1  # Upper diagonal\n",
-    "A[np.arange(1, n-2), np.arange(n-3)] = 1  # Lower diagonal\n",
-    "\n",
-    "# Building vector b\n",
-    "b_element = -dx**2*alpha*Ts\n",
-    "b = np.zeros(len(x)-2) + b_element\n",
-    "b[0] = b[0] - T[0]\n",
-    "b[-1] = b[-1] - T[-1]\n",
-    "\n",
-    "# Solving the system\n",
-    "T[1:-1] = np.linalg.solve(A,b)\n",
-    "\n",
-    "plt.plot(x,T,'*',label='Estimated solution')\n",
-    "plt.xlabel('x')\n",
-    "plt.ylabel('T')\n",
-    "plt.title('Estimated solution using Forward Difference method')\n",
-    "plt.legend()\n",
-    "plt.show()\n",
-    "\n",
-    "print(f'The estimated temperature at the nodes are: {[f\"{temp:.2f}\" for temp in T]} [C]')\n",
-    "\n",
-    "#to test your temperature at x=0.02 for task 9\n",
-    "ind = np.argmin(abs(x-0.02))\n",
-    "print(f'The temperature at x=0.02 is: {T[ind]:.2f} [C]')"
+    "YOUR_CODE_HERE"
    ]
   },
   {
@@ -688,9 +599,9 @@
    "id": "bac6bb0f",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#AABAB2; color: black; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Task 9:</b>\n",
+    "<b>Task 2.4:</b>\n",
     "\n",
     "How much finer does your grid has to be in the forward difference implementation to get a similar value at x = 0.02 as in the central difference implementation? Vary your dx.\n",
     "\n",
@@ -701,20 +612,22 @@
   },
   {
    "cell_type": "markdown",
-   "id": "db91d68b",
+   "id": "dd2ead47",
    "metadata": {},
-   "source": []
+   "source": [
+    "_Your answer here._"
+   ]
   },
   {
    "cell_type": "markdown",
    "id": "031dca37",
    "metadata": {},
    "source": [
-    "<div style=\"background-color:#facb8e; color: black; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
+    "<div style=\"background-color:#AABAB2; color: black; width:95%; vertical-align: middle; padding:15px; margin: 10px; width:95%; border-radius: 10px\">\n",
     "<p>\n",
-    "<b>Bonus note:</b> \n",
+    "<b>Bonus Task</b> \n",
     "    \n",
-    "The matrix inversion using numpy is one way to solve the system, another is the gauss_jordan written below and another one is the sparse matrix based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change dx to 0.0002 of the original code that solves the second degree ODE and test the time it takes by each method.\n",
+    "The matrix inversion using numpy is one way to solve the system, another is the <code>gauss_jordan</code> method, written below, and another one is the sparse matrix-based method in the cell afterwards. Here, we will just have a brief comparison to see how these solvers perform when the matrix is large. Change <code>dx</code> to 0.0002 of the original code that solves the second degree ODE and test the time it takes by each method.\n",
     "    \n",
     "</p>\n",
     "</div>"
@@ -767,20 +680,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 106,
+   "execution_count": null,
    "id": "fbd32c69",
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The time used by direct matrix inversion solution is  2.037e-02 sec\n",
-      "The time used by Gauss-jordan solution is  2.169e+00 sec\n",
-      "The time used by the sparse matrix solver is  7.204e-03 sec\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "import time\n",
     "from scipy.sparse import csc_matrix\n",
-- 
GitLab