Workshop @ RUPP

The workshop will include:

  • an intensive course in Programming in Python, coordinated by Jean-Baptiste Yunès (Institut de Recherche en Informatique Fondamentale, Université Paris Cité) where the participants will learn to write correct programs.
  • an intensive course in Algorithms, coordinated by Roberto Mantaci (Institut de Recherche en Informatique Fondamentale, Université Paris Cité) where the participants will learn to write efficient programs.

The courses will be composed of main lectures and applications in the form of exercise sessions or work sessions on machines.

The workshop will span over 10 days (September 5-9 and 12-16), including about six hours of lectures or application sessions per day.

Participants are strongly encouraged to bring and work on their personal laptop, however a certain number of computers will be available for those who do not have one.

Il you plan to attend RUPP Workshop, please read carefully all instructions and informations here.

Note : this page will be updated over time, so please try to get back here at different times.

Installation tutorial

Please read all the instructions with a lot of care.

Computer setup instructions

If you plan to attend RUPP Workshop, you need to pre-install software on your own. Remind that participants are highly encouraged to bring their own laptop at the school.
Python programming language will be used during courses, so it is strongly advised to install the latest version of Python before your arrival in Nairobi. Here are some links given to help you install a Python environment onto your computer.

Please note that the following downloads may require a lot of space on your machine and a lot of time with a low-bandwidth internet access.

Remind that Basic Python is mandatory, while IDE and Jupyter are optionals, Gnuplot is highly recommended.

1. Basic Python

A Python installation is required for the school. Environments for many operating systems flavours are available (Linux, Windows, Mac OS). Please visit the Python downloads page and follow the instructions. Please take care not to use any Python version below 3, the latest available version for common operating systems is 3.10.4, a must have.

If you are using Mac OS, you should be aware that the Python installed by default with your Mac is not of the right version, so please install a good one.

2. IDE

For a convenient use of Python, you may also use a smart code editor (IDE — Integrated Development Environment). It is highly recommended to install one. There is a lot of them, but PyCharm and Visual Studio Code are good ones. Of course, if you have a simple code editor (emacs, vim, etc) not any text/word enhanced editor like Word or such, that will be sufficient to have a working environment, and you may not install any IDE.

Pycharm

Please visit Pycharm download page and follow the instructions

Visual Studio Code

Please visit Visual Studio Code page and follow the instructions.

3. Notebook

For a good experience in writing tutorials with Python code inside, you may also install some Jupyter’s softwares : Jupyter-lab and Jupyter-notebook. Please visit Jupyter install page and follow instructions. Note that instructions given such as pip install... and alike commands must be run under a terminal or system console (if you use a simple basic installation) or under the console of your chosen IDE. If you don’t succeed into this, don’t be afraid, you will be able to program in Python during the school.

4. Gnuplot

While not strictly necessary, that could be a good idea to install the gnuplot tool that we will use to make some drawings from data sets.

Please visit Gnuplot’s home page.

Workshop schedule

Classes will take place from Monday 5 to Friday 9 and from Monday 12 to Friday 16. They will include morning session of 3 to 4 hours (with breaks) consisting mainly of main lectures and exercice sessions, and afternoon sessions of 2-3 hours consisting mainly in machine sessions.

Workshop program

Objectives

The workshop will include the following objectives:

  • an intensive course in Programming in Python, where the participants will learn to write correct programs.
  • an intensive course in Algorithms, where the participants will learn to write efficient programs.

The programming course is intended to be an introductory course to the syntax of Python. In the Algorithm course we will introduce the concept of complexity in time and space of an algorithm and we will learn to evaluate the performances of an algorithm in terms of time of computation and of used memory space. Some technics of optimisation will be introduced, such as the use of adequate data structures. The two courses will be totally complemnetary, since most of the machine sessions of the Programming course, students will have to write in Python the programs derived from the algorithms seen in the Algorithmic course.