Python for kids!

It seems to me that Jupyter Notebooks might provide an excellent medium for teaching Python to kids. I imagine a collection of notebooks building to some with code controlling interesting widgets and visualizations.

Is anyone aware of a such a resource?

2 Likes

Hi Matt

What age kids / what level? Given that the notebooks can blend text and code there, there is the question of age appropriate instructional text as well as age motivating examples.

I wonder if looking at some Scratch based material might provide some ideas about topics and structure for some notebook based treatments? There are lots of example worksheets for Scratch for ML at https://machinelearningforkids.co.uk/ which might be interesting to try to do notebook based versions of. (You can also embed blockly style UIs in JupyterLab eg https://olney.ai/category/2020/02/12/datawhysblockly.html ; other examples of blockly UIs in notebooks.)

I’ve been trying to find a code-lite way into NNs for first year novice undergrads… Current draft here but I have some editor comments to work through that may change bits of that notebook…

2 Likes

EduBlocks might be a good proto-Python programming resource. Especially since it allows you to “slide out” a view containing the resulting Python code.

1 Like

Ooh, that’s new to me…

There’s also BlockMirror, “An interface for dual block/text representation with Blockly” that uses CodeMirror and Skulpt, from the folk who developed BlockPy.

I don’t know if this can be embedded in a notebook / JupyterLab pane to provide code/block style code generation that could run on Jupyter py kernel?

2 Likes

What age kids / what level? Given that the notebooks can blend text and code there, there is the question of age appropriate instructional text as well as age motivating examples.

I have a 3rd grader, and I am interested in enhancing his homeschool experience. Might be a little early.

Thanks for the links! Great stuff.

1 Like

Hello there,

Sorry for the self promotion, but I’ve been working on ipycanvas during my free time, a Python library for drawing in a Jupyter Notebook. It’s basically exposing the web 2D canvas API to Python. Just like turtle, I think it’s a great tool for learning Python and having fun with it.

I don’t have much learning material to show, but I’ve written a fair amount of documentation and there are some examples you can play with.

You can find it here: https://github.com/martinRenou/ipycanvas

5 Likes

Hi @matt-long - it’s not Jupyter per say, but I’ve really liked using CodeCombat as a means to introduce Python through the use of a video game. My 3rd grader has really enjoyed playing it, he doesn’t even know he’s learning Python, he’s just having fun playing the game :slight_smile:

1 Like

Hi Matt,

Jupyter is indeed an excellent medium for teaching Python to kids. It is the perfect playground for experimenting and interacting with code.

However it appears to be oriented towards data scientists, so it needed a little push in the right direction and a bit of magic.

And this is why I wrote Jupylet - a library for programming games and music interactively in a Juypter notebook, specifically designed with kids in mind: https://github.com/nir/jupylet

It includes a collection of example notebooks and extensive documentation: https://jupylet.readthedocs.io/

Enjoy

4 Likes