Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/naereen/algo1-info1-2019

:fr: :snake: Des notebooks en Python pour montrer quelques algorithmes pour le cours ALGO1 au département Informatique de l'ENS de Rennes, en automne 2019
https://github.com/naereen/algo1-info1-2019

algo1 algorithms algorithms-and-data-structures ens-rennes ipynb jupyter-notebook python

Last synced: 3 months ago
JSON representation

:fr: :snake: Des notebooks en Python pour montrer quelques algorithmes pour le cours ALGO1 au département Informatique de l'ENS de Rennes, en automne 2019

Awesome Lists containing this project

README

        

# ALGO1 : Introduction à l'algorithmique

- Magistère d'Informatique de Rennes - ENS Rennes - Année 2019/2020
- Intervenants :
+ Cours : [Lilian Besson](https://perso.crans.org/besson/)
+ Travaux dirigés : [Raphaël Truffet](http://perso.eleves.ens-rennes.fr/people/Raphael.Truffet/)

----

## Information à propos de ce cours

C'est en ligne, sur [cette page](https://perso.crans.org/besson/teach/info1_algo1_2019/) (`https://perso.crans.org/besson/teach/info1_algo1_2019/`).

- Liste des notebooks : [cette page](https://perso.crans.org/besson/teach/info1_algo1_2019/notebooks/) (`https://perso.crans.org/besson/teach/info1_algo1_2019/notebooks/`), [sur NBViewer (passif)](https://nbviewer.jupyter.org/github/Naereen/ALGO1-Info1-2019/tree/master/), [sur Binder (interactif)](https://beta.mybinder.org/v2/gh/Naereen/ALGO1-Info1-2019/master), et [sur Google Colab](https://colab.research.google.com/github/Naereen/ALGO1-Info1-2019/blob/master/).

[![MyBinder v2](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Naereen/ALGO1-Info1-2019/master)
[![Google Colab: Launch](https://img.shields.io/badge/Google%20Colab-Launch-blue.svg)](https://colab.research.google.com/github/Naereen/ALGO1-Info1-2019/blob/master/)

## Liste de notebooks

### Cours 1 : Introduction + File de priorité
- [CoursMagistral_1.ipynb](CoursMagistral_1.ipynb)
- (aussi [en python](CoursMagistral_1.py) et [en HTML](CoursMagistral_1.html))

### Cours 2 : Structures de données pour un ensemble
- [CoursMagistral_2.ipynb](CoursMagistral_2.ipynb)
- (aussi [en python](CoursMagistral_2.py) et [en HTML](CoursMagistral_2.html))

### Cours 3 : Diviser pour régner
- [CoursMagistral_3.ipynb](CoursMagistral_3.ipynb)
- (aussi [en python](CoursMagistral_3.py) et [en HTML](CoursMagistral_3.html))

### Cours 4 : Graphes, et parcours en profondeur
- [CoursMagistral_4.ipynb](CoursMagistral_4.ipynb)
- (aussi [en python](CoursMagistral_4.py) et [en HTML](CoursMagistral_4.html))

### Cours 5 : Parcours en largeur
- [CoursMagistral_5.ipynb](CoursMagistral_5.ipynb)
- (aussi [en python](CoursMagistral_5.py) et [en HTML](CoursMagistral_5.html))

### Cours 6 : Algorithmes gloutons
- [CoursMagistral_6.ipynb](CoursMagistral_6.ipynb)
- (aussi [en python](CoursMagistral_6.py) et [en HTML](CoursMagistral_6.html))

### Cours 7 : Programmation dynamique
- [CoursMagistral_7.ipynb](CoursMagistral_7.ipynb)
- (aussi [en python](CoursMagistral_7.py) et [en HTML](CoursMagistral_7.html))

### Cours 8 : Flots
- [CoursMagistral_8.ipynb](CoursMagistral_8.ipynb)
- (aussi [en python](CoursMagistral_8.py) et [en HTML](CoursMagistral_8.html))

**Je rédigerai moins pour les cours suivants.**

### Cours 9 : Programmation linéaire
- [CoursMagistral_9.ipynb](CoursMagistral_9.ipynb)
- (aussi [en python](CoursMagistral_9.py) et [en HTML](CoursMagistral_9.html))

### Cours 10 : Algorithmes de recherche de solutions
- Je n'ai rien rédigé pour ce cours

### Examen terminal : tri cocktail et autres problèmes
- [Correction_examen_ALGO1_2019.ipynb](Correction_examen_ALGO1_2019.ipynb)
- (aussi [en python](Correction_examen_ALGO1_2019.py) et [en HTML](Correction_examen_ALGO1_2019.html))

----

## 1. *How to read these documents*?

### 1.a. View the notebooks statically :memo:
- Either directly in GitHub: [see the list of notebooks](https://github.com/Naereen/ALGO1-Info1-2019/search?l=jupyter-notebook);
- Or on [nbviewer.jupiter.org](https://nbviewer.jupiter.org/): [list of notebooks](https://nbviewer.jupyter.org/github/Naereen/ALGO1-Info1-2019/tree/master/).

### 1.b. Play with the notebooks dynamically :boom:
[![MyBinder](http://mybinder.org/badge.svg)](http://mybinder.org/repo/Naereen/ALGO1-Info1-2019)

Anyone can use the [mybinder.org](http://mybinder.org/) website (by [clicking](http://mybinder.org/repo/Naereen/ALGO1-Info1-2019) on the icon above) to run the notebook in her/his web-browser.
You can then play with it as long as you like, for instance by modifying the values or experimenting with the code.

[![MyBinder v2](https://beta.mybinder.org/badge.svg)](https://beta.mybinder.org/v2/gh/Naereen/ALGO1-Info1-2019/master)

> *Note:* Only the Python kernel is supported on the MyBinder interface!

----

## 2. *Requirements to run the notebooks locally*?
All [the requirements](requirements.txt) can be installed with [``pip``](https://pip.readthedocs.io/) and by running a few ``python -m ...`` commands.

> Note: if you use [Python 3](https://docs.python.org/3/) instead of [Python 2](https://docs.python.org/2/), you *might* have to *replace* ``pip`` and ``python`` by ``pip3`` and ``python3`` in the next commands (if both pip and pip3 are installed).

### 2.a. [Jupyter Notebook](http://jupyter.readthedocs.org/en/latest/install.html) and [IPython](http://ipython.org/)

```bash
sudo pip install jupyter ipython
```

It will also install all the dependencies, afterward you should have a ``jupyter-notebook`` command (or a ``jupyter`` command, to be ran as ``jupyter notebook``) available in your ``PATH``:

```bash
$ whereis jupyter-notebook
jupyter-notebook: /usr/local/bin/jupyter-notebook
$ jupyter-notebook --version # version >= 4 is recommended
4.2.1
```

----

### :information_desk_person: More information?
> - More information about [notebooks (on the documentation of IPython)](https://nbviewer.jupiter.org/github/ipython/ipython/blob/3.x/examples/Notebook/Index.ipynb) or [on the FAQ on Jupyter's website](https://nbviewer.jupyter.org/faq).
> - More information about [mybinder.org](http://mybinder.org/): on [this example repository](https://github.com/binder-project/example-requirements).

## :scroll: License ? [![GitHub license](https://img.shields.io/github/license/Naereen/ALGO1-Info1-2019.svg)](https://github.com/Naereen/ALGO1-Info1-2019/blob/master/LICENSE.txt)
All the notebooks in this repository are published under the terms of the [MIT License](https://lbesson.mit-license.org/) (file [LICENSE.txt](LICENSE.txt)).
© [Lilian Besson](https://GitHub.com/Naereen), 2019.

[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/ALGO1-Info1-2019/graphs/commit-activity)
[![Ask Me Anything !](https://img.shields.io/badge/Ask%20me-anything-1abc9c.svg)](https://GitHub.com/Naereen/ama)
[![Analytics](https://ga-beacon.appspot.com/UA-38514290-17/github.com/Naereen/ALGO1-Info1-2019/README.md?pixel)](https://GitHub.com/Naereen/ALGO1-Info1-2019/)
[![made-with-jupyter](https://img.shields.io/badge/Made%20with-Jupyter-1f425f.svg)](http://jupyter.org/) [![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) [![made-with-ocaml](https://img.shields.io/badge/Made%20with-OCaml-1f425f.svg)](https://ocaml.org/)
[![ForTheBadge uses-badges](http://ForTheBadge.com/images/badges/uses-badges.svg)](http://ForTheBadge.com)
[![ForTheBadge uses-git](http://ForTheBadge.com/images/badges/uses-git.svg)](https://GitHub.com/)
[![ForTheBadge built-with-science](http://ForTheBadge.com/images/badges/built-with-science.svg)](https://GitHub.com/Naereen/)