Given a function (specified in the box labeled "$f(x)=$"), this demo plots $y=f(x)$ and then a line through $(x,y) = (a,f(a))$ and $(a+h,f(a+h))$ (this line crosses through our graph at two points and is called a secant line). This secant line's slope is given by the difference quotient $\frac{f(a+h)-f(a)}{h}$. Both the general difference quotient and the difference quotient at $x=a$ are computed and displayed along with the equation of our secant line.
As $h$ approaches 0 (i.e. the point $(a+h,f(a+h))$ slides toward $(a,f(a))$), our secant line approaches the tangent line at $x=a$. The slope of the tangent line is given by the derivative of $f(x)$ (the slope of the tangent line at $x=a$ is $f'(a)$): $$\mathrm{Slope\ of\ tangent\ at\ }x=a:\quad f'(a) = \lim\limits_{h\to 0} \frac{f(a+h)-f(a)}{h}$$
The general derivative and the derivative at $x=a$ are computed and displayed along with the equation of the corresponding tangent line. If selected the plot will include a plot of the tangent (depicted by a dashed green line).
Several built in demos (with preset function, $a$ and $h$ values, and plot domain) are provided in a drop down list. There is also an option to change the upper and lower bounds in the $h$ value slide bar. The default limits on the slide bar are $\pm 1$. If you change a box entry, simply click outside the box to have sage recompute the plots and displayed values.
The computation above is powered by SageMath. The Sage code is embedded in this webpage's html file. To view the code instruct your browser to show you this page's source. For example, in Chrome, right-click and choose "View page source".