Interactive visualization of fundamental concepts in calculus/linear algebra

Is there any publicly available material suitable for in-class teaching of mathematical principles that provides interactive visualization of concepts such as eigenvectors, matrix rotation, extremal points of function graphs etc?

I am thinking about something like Pluto + Makie, but really anything would be OK. The only condition I have is that it should be interactive, ie, enabling and encouraging students to exploratively learn about these concepts in an easily accessible way.

2 Likes

Just remembered JSXGraph. May be it works in a pluto notebook.

Update: it works: jsxgraph-pluto · GitHub Could be made with publish_to_js (as in PlutoVista.jl).

Thanks a lot for the suggestions, @j-fu! However, I was really looking for something in Julia to also encourage my students to consider using programming as a regular tool in their toolbox. I was also hoping that someone has already done this, e.g., for some Calculus 101/Linear Algebra 101 class for mathematics/computational engineering students, since I don’t know if I will have the time to code everything (anything) myself.

However, since I asked, I managed to nerd-snipe myself and created two visualizations for a Taylor approximation for the sine/cosine function as a proof-of-concept/demonstrator (mostly for myself). One solution uses just Makie.jl (GLMakie.jl), the other is based on Pluto.jl + Plots.jl. Maybe they will serve someone else as a starting point; should I manage to create more of these I will probably put them in repo and link to it after the semester.

EDIT: I think the Makie version is visually nicer. On the other hand, the Pluto solution requires less code, is conceptually simpler, and probably easier to get running (and easier to tinker with) for a non-programmer student.

Taylor approximation using Makie

makie_taylor_series

Taylor approximation using Pluto + Plots

pluto_taylor_series

2 Likes

I have a bunch of Jupyter notebooks for my linear algebra class, a number of which use Interact for interactive sliders etcetera.

4 Likes

Here are some linear algebra pluto notebooks done by Prof Eric Marberg @ the Hong Kong University of Science and Technology:
https://www.math.hkust.edu.hk/~emarberg/teaching/2021/Math2121/

2 Likes

Interact frequently breaks after each updating of packages, for me.

Thanks a lot for sharing! This looks great as well! Now I am really torn between Pluto+Plots and IJulia+Plots+Interact. I like (for instructive) reasons that you can go through a Jupyter notebook step by step (i.e., “developing the story”). OTOH, Pluto still seems to be much easier to set up for the students, since they only need to install Pluto and run it and the rest happens automagically.

Hi, I am new to Julia. I ran your gist in vscode and found no graph displayed. Is there any way to make it run in vscode?

Ah, I found that a new window is opened and the graph is plotted inside. Just wonder if it can be shown inside vscode.