owned this note
owned this note
Published
Linked with GitHub
---
tags: OpenDreamKit, CIRM, tutorial
---
[<< back to the program](https://hackmd.io/zkXWN_cwTjy46dyBSJKaug)
# Demos and Tutorials
This is a tentative list of software demonstrations and tutorials that will be run during the conference. For each piece of software, there typically will be a flash demo (~5 minutes) early in the week in front of the whole audience, to attract participants to tutorials and/or longer demos later in the week.
If you are interested in one of them, or in presenting or helping out for one of them, please add your name in the corresponding section. *Please add new demos tutorials that you would like to participate to or present!*
**Presenters:** please edit your entry to recall briefly what the software is about, and add relevant material: documents the attendees will be following, links, ... If it grows beyond a few lines, you can make it a separate page.
## The Jupyter ecosystem
### Self guided tutorial 1: getting started with Jupyter
Go to http://opendreamkit.org/try , pick your favorite system train yourself with Jupyter, and ask for help whenever needed! If in doubt start with **Try Python**!
### [Jupyter](http://jupyter.org)
Project Jupyter exists to develop open-source software, open standards, and services for interactive computing across dozens of programming languages.
The Jupyter Notebook is an open-source web application to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more.
### [JupyterLab](https://jupyterlab.readthedocs.io/)
JupyterLab is the next-generation web-based user interface for Project Jupyter.
JupyterLab enables you to work with documents and activities such as Jupyter notebooks, text editors, terminals, and custom components in a flexible, integrated, and extensible manner. You can arrange multiple documents and activities side by side in the work area using tabs and splitters. Documents and activities integrate with each other, enabling new workflows for interactive computing.
### [Cocalc](http://cocalc.com)
Cocalc (Collaborative Calculation) is an online service that gives access
to a wealth of computational systems, with extra goodies for teaching.
It's free for basic usage.
- **Demo**: Samuel Lelièvre, Viviane Pons
- **Tutorial**
Participantsts
### [Binder](http://mybinder.org)
[](https://opendreamkit.org/public/images/use-cases-binder-logbook-solution.png)
Binder is a service that lets you run Jupyter notebooks online on top of an arbitrary software stack. Sessions are free, anonymous, and temporary.
- **Users demo**: Fernando
- **Authors demo**: ???
#### List of repos that were binder-enabled during the conference
- [SageMathTour](https://github.com/egourgoulhon/SageMathTour/blob/master/README.md) (generic demos + manifold demos)
- [Interactive map with suggested hikes around CIRM](https://mybinder.org/v2/gh/defeo/odk-jupyter-cirm/master?urlpath=lab)
- [PARI/GP tutorial](https://mybinder.org/v2/gh/jdemeyer/pari_introduction/master?filepath=index.ipynb)
- [Arb demo](https://mybinder.org/v2/gh/fredrik-johansson/demoarb/master)
- ...
#### Links:
- [a tutorial](https://annefou.github.io/jupyter_dashboards/06-sharing-binder/index.html)
- [a nice guide on building binder images](https://build-a-binder.github.io/)
- [a conversation about Binder workshops](https://discourse.jupyter.org/t/binder-binderhub-workshops-help-wanted/313/19)
### [Thebelab](https://thebelab.readthedocs.io/en/latest/)
ThebeLab is a tool for embedding live code blocks in a web page. For SageMath, there is also the analog SageCell tool.
### [Jupyter Widgets](https://jupyter.org/widgets)
- **[Widget basics](https://mybinder.org/v2/gh/jdemeyer/widget_basics/master?filepath=index.ipynb)**: Jeroen Demeyer
- **[Sage-Combinat widgets](https://github.com/sagemath/sage-combinat-widgets)**: Odile Bénassy
A set of interactive, configurable widgets for representing combinatorial objects.
- **Francy**: Sebastian Gutsche
### [Planetaryum](https://github.com/OpenDreamKit/planetaryum)
- **Demo/Tutorial**: Luca De Feo
Planetaryum is a Python package for publishing Jupyter notebook collections.
Let's meet at 2:30pm in the library.
## Math Computational Systems & Databases
### Self guided tutorial 2: getting started with computational systems
Go to http://opendreamkit.org/try , pick your favorite system, and ask for help whenever needed!
### [Arb](http://arblib.org/)
Arb is a C library for real and complex arithmetic with arbitrary precision, using ball arithmetic to give guaranteed error bounds.
- **Demo**: Fredrik Johansson
- [Demo notebook](https://nbviewer.jupyter.org/gist/fredrik-johansson/259c6e7d834602ab3dc368d520d0a364)
- [Demo notebook, binder](https://mybinder.org/v2/gh/fredrik-johansson/demoarb/master)
- Installation:
```
pip install flint-py
```
### [GAP](http://www.gap-system.org/)
Groups, Algorithms, Programming - a System for Computational Discrete Algebra
- **Demo**: Max Horn
- **Getting started tutorial**
- [GAP homepage](https://www.gap-system.org)
- [GAP source code](https://github.com/gap-system/gap)
- tutorial links
- [Software carpentry lesson: Programming with GAP](http://alex-konovalov.github.io/gap-lesson/) -- intro to the GAP language, good place to start
- [Official GAP tutorial](https://www.gap-system.org/Manuals/doc/tut/chap0.html)
- [Using GAP](https://www.math.colostate.edu/~hulpke/paper/gap4tut.pdf) -- Older tutorial from 2000; quick spotlight on many GAP features and concepts
- [Using GAP Effectively: Some Tips and Pitfalls](https://github.com/alex-konovalov/gap-teaching/blob/master/notebooks/TipsAndPitfalls.ipynb)
- [More learning material](https://www.gap-system.org/Doc/Learning/learning.html)
- Participants: Odile, Andreas, Mike Ogiugo
- **Some advanced tutorial?** -- please let us know if you are interested in tutorials on any specific topics
Participants (+ topics interested):
- **[Francy](https://github.com/gap-packages/francy): Visual tools for Jupyter**: Sebastian
[](https://mybinder.org/v2/gh/gap-packages/francy/master)
### [Hecke](http://thofma.github.io/Hecke.jl/latest/)
Hecke is a new number theoretical system written in the [Julia](https://julialang.org) language.
- **Demo** (5min): Claus Fieker
- Installation:
```
using Pkg
Pkg.add("Hecke")
```
- [source](https://github.com/thofma/Hecke.jl)
- [partial documentation](https://thofma.github.io/Hecke.jl/latest)
### [LMFDB](http://lmfdb.org)
The L-functions and Modular Forms online Database
- **Demo:** John Cremona
### [Mathemagix](http://www.mathemagix.org)
- Demo?
### [Oscar](https://oscar.computeralgebra.de)
[Oscar](https://oscar.computeralgebra.de) is currently more a dream than a product. Oscar is meant to be an open source computer algebra system integrating group theory (GAP), geometry (Singular), polytopes (Polymake) and number theory (Hecke).
- **Aim and status** (5 min): Claus Fieker
- **low-level integration of systems (GAP, Singular, Polymake) in Julia**: Sebastian
Participants: Nicolas, Odile, ...
- Installation:
**Nemo.jl**
```
] add Nemo
```
**Singular.jl**
```
] add https://github.com/oscar-system/Singular.jl
```
**Polymake.jl**
```
] add https://github.com/oscar-system/Polymake.jl
```
### [PARI/GP](https://pari.math.u-bordeaux.fr/)
- **Demo**: Bill Allombert
[Try PARI online](https://pari.math.u-bordeaux.fr/gpexp.html)
- **[PARI/GP tutorial](https://mybinder.org/v2/gh/jdemeyer/pari_introduction/master?filepath=index.ipynb)**: Bill Allombert, Jeroen Demeyer
Participants: ...
- **[Parallel programming](https://pari.math.u-bordeaux.fr/Events/PARI2019/talks/parallel.pdf)**: Bill Allombert
Participants: ...
### [SageMath](http://sagemath.org)
SageMath is a general purpose computational mathematics system developed by a worldwide community of hundreds of researchers, teachers and engineers. It's based on the Python programming language and includes GAP, PARI/GP, Singular, and dozens of other specialized libraries.
- **Demo**: Nicolas
- **Getting started tutorial:** http://opendreamkit.org/try/
Helpers: Thierry, Nicolas, Viviane, Odile, Erik, Luca
Participants: Joscha Diehl, ..
- Advanced usage, programming: ...
Participants: Joscha Diehl, Odile, Pascal Weil, ...
- **[SageManifolds](https://nbviewer.jupyter.org/github/egourgoulhon/SageMathTour/blob/master/Notebooks/demo_manifolds.ipynb)** [](https://mybinder.org/v2/gh/egourgoulhon/SageMathTour/master?filepath=Notebooks%2Fdemo_manifolds.ipynb): Éric Gourgoulhon
- **[Elementary vector calculus with SageMath](https://sagemanifolds.obspm.fr/vector_calculus.html)**: Éric (30 min)
Participants: ...
- Differentiable manifolds in SageMath: Éric (15 min)
Participants:
### [Singular](https://www.singular.uni-kl.de)
Singular is a system for commutative algbebra, originally developed to study singularities. It is open [source](https://github.com/Singular/Sources) and the multivariate polynomials in SageMath are based on it.
- **Demo** (5 min): Claus Fieker
- **Getting started tutorial**: ???
Participants: ...
- Advanced usage, programming:
## Basic skills
### Using the shell
Leaders: Erik Bray? ...
### Using version control (git, ...)
Leaders: Erik Bray? ...
Participants: Odile?
### Sage's Trac tickets
At least two people are interested.
Ahmed, Adrien Poteaux, Julian, Jean-Florent
### Good practices in python and sage development
At least one person interested
Ahmed, Jean-Florent
## [Best practices for computer exploration](/DUiM8pdxQu2N0Zw9Wh4Stg)
### Paper's exploration with Grobid
Leaders: Alba,...
Estimated time: 15 minutes (online demo)
*from documentation:* GROBID is a machine learning library for extracting, parsing and re-structuring raw documents such as PDF into structured TEI-encoded documents with a particular focus on technical and scientific publications.
https://github.com/kermitt2/grobid/
It's extensible software for which new models can be created, trained and used to automatically annotate papers. I would like to show in this demo/tutorial, the usage of [entity fishing](https://github.com/kermitt2/entity-fishing) in GROBID which IMHO makes reading papers in new fields easier.
Interested: Ahmed, Julian, Odile, Joscha (if before 11am)
## Education tools
### [SageTeX](https://github.com/sagemath/sagetex)
Mixing Sage Code and LaTeX
Interested: Julian
### [nbgrader](https://nbgrader.readthedocs.io/en/stable/)
(semi)automatic grading of exercise sheets in Jupyter notebooks
Interested: Jean-Florent
### [ordo](https://github.com/nbgallery/ordo)
Visual feedback for exercises in Jupyter notebooks
### [pythontex](https://github.com/gpoore/pythontex)
???
## Hosted class management in CoCalc
...
## Other tools
### [pypersist](https://github.com/mtorpey/pypersist)
Persistent memoisation framework for Python