Show HN: Jupyter4kids – Notebooks to help teach kids principles of programming
github.com
github.com
Please consider uploading it to
Http://notebooks.azure.com
It's a free service for running and sharing Jupyter notebooks. That way the can run it immediately w/on installing anything (has anaconda).
Lots of teachers are using it. For example:
Http://notebooks.azure.com/richie
Disclaimer: I work on this :)
I can see this being particularly useful since our sector is shifting everything into the MS cloud, so we can re-use our school credentials, and I can also stop worrying about having to make sure programming environments are installed on student images and so on.
If you want to alter/play around with the demo, you can "clone" the sample library, which will prompt you to create an account if you have not. This process is free/noncommittal/just requires an email address, but lets us create an env + storage for you to run and persist it in. Post-cloning, you can run any library you own like you would expect.
This is the second time I've looked at this, and I still can't work out how to create a notebook.
1. Sign in (top right)
2. Click "Get Started" to clone existing sample Library of notebooks - (a library is like a Project or Repo)
3. Click clone - this will give you your own copy of the Library
4. Click Run (this will give you a docker container with a bunch of pkgs. you can add your own pkgs).
To start from scratch
1. Sign in
2. +New Library. Give it a name or load a full Github repo including all its data)
3. Once in the Library, +New Notebook (or load a notebook from your machine)
4. Click the new notebook name or Run to land in your docker instance.
Hope this helps!
1 to 3 are introductions to basic concepts. 4 is a bit more specific to the work we are doing here at the hackerfarm.
In particular, in Python 3, the expression 2/3 no longer gives 0, but 0.666… Much more intuitive.
if 1 is 1:
print("hello world")
What is this "if 1 is 1" ? It makes no sense to ask this question, for a kid. It's not clear in English, and if you don't know programming syntax, it is quite mysterious.We need some kind of game where kids can learn the purpose of if statements and other basic operations in a grounded way, not purely theoretical.
I think the best way to go about teaching programming to kids is to invent some interesting problems they can solve and let them play it out. We can't axiomatically introduce programming at that age.
The whole point of initially using non-sensical (and obvious) examples is 1) to make it as easy as possible to go beyond any doubt with basic numeric programming concepts 2) to allow sinking in the key difference between people and computers, for computers nothing at all is obvious, everything has to be tested. In the later parts, this will become obvious.
For the 'games' you are looking for, there are already many options like scratch. In this series, where these three parts are the start, the idea is to take people of all ages to learn advanced data science in a fun and simplistic way, along the way cementing solid understanding of fundamental numerical computing concepts.
Obviously the later parts will do exactly what you suggest, allow kids to tackle actual problems that are relevant to their lives and their families lives.
The primary target audience is kids, and the secondary non-programmers who want to get in to data science. The goal is to really make it "for all ages". A previous iteration was tested on target audience and had an encouraging reception, which was the motivation to put more time in to this.
You might want to help the user install and open Jupyter before telling him what to type into it.
Regarding Jupyter, I'll do a notebook that's just on Jupyter at some point, that covers general use cases, cell types, formatting, and shortcuts.