Skip to content

nbusseneau/Java2STPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java 2STPI

This repository contains optional Jupyter resources for an entry-level (licence/bachelor) Object-Oriented Programming course using Java for examples and lab works, held at French engineering school INSA Rennes. Class being taught in French, I'm afraid foreign people stumbling upon this repository might not find the course content very useful – nethertheless, you may be interested in recycling code samples for your own Jupyter notebooks.

The rest of this readme is mainly intended for fellow teachers. If you're a student that somehow found its way here: 👋

Project Jupyter

Project Jupyter is a nonprofit organization providing libre software under BSD licensing. In particular, Jupyter Notebook and its successor JupyterLab are web-based environments allowing mixing of both regular content and code execution sandboxes in documents called "notebooks".

These code snippets are very powerful for education content: teachers can prepare code samples that students may execute on the fly, directly from the course handout, rather than the older alternative of copy/pasting samples into a separate IDE. Even better: students may edit code samples and re-execute to see the result immediately, which enables teachers to prepare ad-hoc fill-in-the-blank exercises.

Project Jupyter also maintains the Binder Project and notably mybinder.org, a web application allowing zero-configuration Jupyter Notebook and JupyterLab environment instantiation from a public Git repository (provided the repository itself is correctly configured).

With the help of binders, teachers just have to share a binder link with their students, and then students can work on their private copy of teacher-prepared Jupyter notebooks.

As an example, you may launch a binder instance for this repository by clicking on either of these badges (the link I'm sharing with my students is the JupyterLab one): notebookBadge labBadge

Specificities

Jupyter applications use Jupyter kernels to execute code snippets. Project Jupyter maintains the IPython kernel, but many other kernels exist, one of them being IJava.

This repository uses a Dockerfile as binder instantiation configuration in order to setup an IJava kernel for use by Jupyter applications.

All notebooks are stored in the notebooks directory, which contents are the only files exposed to students from binder instances.

Contributing

The easiest way is to fork this repo and submit pull requests. To work on and expand the Jupyter notebooks, I would suggest setting up a local Jupyter instance and editing notebooks from there.

The process roughly looks like this:

For example, in my case:

# Install JupyterLab
pip install jupyterlab

# Install IJava
curl -L https://github.com/SpencerPark/IJava/releases/download/v1.3.0/ijava-1.3.0.zip > ijava-kernel.zip
unzip ijava-kernel.zip -d ijava-kernel
cd ijava-kernel
python install.py --sys-prefix

# Start JupyterLab inside the repository
cd path/to/Java2STPI
jupyter lab

About

Jupyter resources for an entry-level Object-Oriented Programming course using Java (in French).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published