Julia + VSCode + ipynb for elementary school science

dlakelan
Wed, 18 Aug 2021 19:09:54 +0000
General Usage

My kids are starting in not-in-person school this week. We’re waiting to see how stable the COVID transmission environment is in local schools, and maybe availability of vaccines for their age group (10 and 11). Meantime, to get them doing something useful, we’ve been doing mini science experiments.

getting Jupyter Lab installed was unfortunately several days of baloney with conda, but installing VSCodium and the julia extension and enabling the notebook stuff was pretty easy. I’ve got the kids analyzing their science experiments using simple csv files, plots, and even a simple euler’s method solution of a differential equation.

This morning we analyzed what happens when you drop ice into varying amounts of water.

The ease of use of things like the CSV package, DataFrames, and Plots and the interactivity of Julia within a notebook makes this all very understandable to a 10 year old. I recognize that probably python would work just as well, but it’s nice that Julia is sufficiently simple to be a good candidate. I can’t even imagine trying to teach a 10 year old how to do this in C++ for example, yet when they eventually want to crank on something fast, Julia will stand up!

Last week we talked about how gravity makes balls fall, and that if we drive fast with our hand out the window of the car the wind blows hard on our hands, so probably the faster you go the more wind slows you down. We used the basic idea that if we know what’s going on at a given moment, then a small time later what’s going on should be predictable by some small changes… and then wrote a simple loop to predict the fall times of a golf ball vs a sponge practice golf ball. We determined that if dropped from the height of our doorway the sponge ball should be 10-20 cm above the golf ball when the golf ball hits the ground. Then we used a “slow mo” setting on my android phone to video the ball drop, and captured this image frame of the golf ball (orange) hitting the ground, while the sponge ball (yellow) is still falling.

Thereby proving that Aristotle was right (or was it Newton and von Karman?)

Thanks to all the Julians who were involved in making these projects not just possible, but easy… including the core Julia developers, the developers of CSV, Plots, IJulia, the VSCode plugins and such.

I really think this should be more widely available in probably middle-school science curricula. It would be really cool to have some kind of access to Julia on the Chromebooks that are typically passed out to kids. Anyone have thoughts on how that could be made possible?

6 posts - 3 participants