Julia + VSCode + ipynb for elementary school science

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 :wink: (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?

11 Likes

Julia is available on chromebooks already by using the linux subsystem. It works fine but is based on debian so a bit behind in version.

mark wilson

I guess it would also be possible to manually install the more recent versions?

Unfortunately the Linux subsystem is turned off on all school administered Chromebooks that I know if, but this is a policy thing and could be adjusted.

1 Like

“Unfortunately the Linux subsystem is turned off.”

wow, the blind attraction to a lousy os (windows) never ceases to
amaze me. and the linux subsystem actually
works quite well. teach kids the command line! and throw out
the microsoft crap.

Why not try Pluto notebooks? They will be ideal for the examples you want to experiment with.
No faffing about with Conda etc.

3 Likes

This is Linux subsystem for Chromebooks, so has nothing to do with Microsoft. It’s turned off for probably good reasons. School districts need to focus on the Chromebooks as an access tool for educational websites and messages from teachers and video conferencing. Still it’s probably possible to get the administrators to turn it on for some set of devices so long as there is a reasonable educational reason.