ensae_teaching_cs: teaching materials, algorithmic, machine learning#

Build status Build Status Windows MIT License GitHub Issues Codacy Badge Notebook Coverage Downloads Forks Stars size

This page gives access to the content of practical sessions I give at the ENSAE. They are based on Python. The project is hosted on GitHub can be modified by sending me pull requests:


Started in 2014/04. Contributors: Xavier Dupré, Anne Muller, Elodie Royant, Matthieu Bizien, Nicolas Rousset, Jérémie Jakubowicz, Gilles Drigout, Gaël Varoquaux, Xavier Dupré, ENSAE’s students.


See travis.yml or appveyor.yml give indications on how to setup a machine to run most of the notebooks. All notebooks do not run on regular CI due to the excessive amount of time it requires. They are being run a debian machine every month. A coverage page reports on which ones run and the last time it was run.

Local Continuous Integration#

Some of the tools used to modify and run all the notebooks but they are not optional in most of the cases.

7zip, Chrome, CMake, Graphviz, Git, GitHub, Java 64 bit (for Spark), Jenkins (CI), Miktex Basic Installer 64 bit (formula in the documentation) (check the option to silently install new packages), Pandoc (documentation), Python 3.9, 64 bit (do not add the interpreter on the default PATH on Windows), Scite (Windows), Visual Studio 2022 Community Edition (Windows) (check C++, C#, Python, CLang) (Cython, pybind11).

A Jenkins server was installed on a debian machine to run all the notebooks every week. Jenkins requires a few extensions: Last Console Output, Next Executions, Text File.

A local PyPi server needs to be installed:

pypi-server.exe -u -p 8067 --disable-fallback ..\..\local_pypi\local_pypi_server

The following command line tells how to automatically add Jenkins jobs to a local Jenkins server:

python local_jenkins --help