Jupyter notebook can be used to make your notes and solve exercises with programming without using pen and paper.
In order to write notes, you can use markdown which is a very simple markup language and can be learned within 15mins to get started. You can use latex and Unicode characters to write equations and symbols.
To learn latex you can use google, e.g. website https://en.wikibooks.org/wiki/LaTeX/Mathematics
Jupyter notebook can be used in any subjects where calculation is required, such as physics, mathematics, economics, even biology etc.
No need to scratch your head, if you forgot the formula, or made mistakes done in calculation when done with pen and paper.
Learn by applying things that will be useful in real life situations
** The Dependance of Concentration on Time **
Helps to know the relationship between the concentration of a reactant and time.
Since $ Rate = -\Delta[A]/\Delta t $, we can write:
$$ - \frac{\Delta[A]}{\Delta t} = k[A] $$The rate law in this form is known as the differential rate law.
We can use calculas to integrate the differential rate law and obtain the first-order integrated rate law:
$$ ln[A]_{t} = -kt + ln[A]_{0} $$Notice that it forms an equation of a straight line
$$ y = mx + b $$Consider the equation for the decomposition of $ SO_{2}Cl_{2} $ :
$$ SO_{2}Cl_{2}(g) -> SO_{2}(g) + Cl_{2}(g) $$The concentration of $ SO_{2}Cl_{2} $ was monitored at a fixed temperature as a function of time during the decomposition reaction and following data were tabulated:
Time (S) | [SO2Cl2] (M) | Time (s) | [SO2Cl2 (M) |
0 | 0.100 | 800 | 0.0793 |
100 | 0.0971 | 900 | 0.0770 |
200 | 0.0944 | 1000 | 0.0748 |
300 | 0.0917 | 1100 | 0.0727 |
400 | 0.0890 | 1200 | 0.0706 |
500 | 0.0865 | 1300 | 0.0686 |
600 | 0.0840 | 1400 | 0.0666 |
700 | 0.0816 | 1500 | 0.0647 |
Show that the reaction is first order.
%matplotlib inline
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
from math import log
y_values = [
0.100, 0.0971, 0.0944, 0.0917, 0.0890, 0.0865, 0.0840, 0.0816, 0.0793, 0.0770, 0.0748, 0.0727,
0.0706, 0.0686, 0.0666, 0.0647
]
y = np.log(y_values)
print(y)
x = [0,100,200,300,400,500,600,700,800, 900, 1000, 1100, 1200, 1300, 1400, 1500]
fig, ax = plt.subplots()
ax.set_xlim(800, 2000)
ax.set_ylim(-2.8, -2.3)
ax.set_yticks([-2.8, -2.7, -2.6, -2.5, -2.4, -2.3])
ax.set_xticks([0, 500, 1000, 1500, 2000])
ax.grid(True)
slope, intercept = np.polyfit(x, y, 1)
print( "slope =", slope)
print( "Y intercept =", intercept)
plt.plot(x, y)
[-2.30258509 -2.3320139 -2.36021421 -2.3892329 -2.41911891 -2.44761087 -2.47693848 -2.50592602 -2.53451715 -2.56394986 -2.59293739 -2.62141389 -2.65072513 -2.67946274 -2.7090507 -2.73799408] slope = -0.000290148529101 Y intercept = -2.30261931113
[<matplotlib.lines.Line2D at 0x7fbc5484bcc0>]
The plot is linear, confirming that the reation is indeed first order.