Jupyter at Bryn Mawr College |
|||
Public notebooks: /services/public/dblank / jupyterday |
With colleagues, have been working on languages, programming, environments, and education for 20 years.
In 2006, my life took a detour when we (GATech and Bryn Mawr College) received a $2M grant to explore teaching introductory CS with robots.
GATech developed the hardware:
Bryn Mawr College developed the software:
Similar in spirit to the ideas behind Jupyter: one interface, multiple languages.
...So we decided to re-implement many of our ideas, but in Python rather than in the CLR.
This is a Java9 kernel, running a Python magic, demonstrating the Scheme debugger as a Youtube video, as displayed by the calysto library:
%%python
from calysto.display import YouTubeVideo, display
display(YouTubeVideo("2w-iO701g_w"))
Gives other kernels some of the magic that IPython has. Uses "wrapper kernel" Python infrastructure, even for non-Python-based languages. MetaKernel Magics now available for IPython, too!
Used with Octave, Matlab, Scheme, Prolog, Processing, Java9, Xonsh, ROOT, Gentoo Science Bash, Cling, etc.
Full list of magics: https://github.com/Calysto/metakernel/blob/master/metakernel/magics/README.md
%run hello.java
Start a cluster:
%parallel javakernel.kernel JavaKernel
%%px
import java.util.Random;
Random randomGenerator = new Random();
randomGenerator.nextInt(100);
%kernel calysto_scheme.kernel CalystoScheme
%%kx
(define fib
(lambda (n)
(if (< n 3)
1
(+ (fib (- n 1))
(fib (- n 2))))))
(display (fib 7))
%%processing
void draw() {
rect(mouseX, mouseY, 10, 10);
}