Introduction à la programmation#

Ce syllabus a été conçu pour des étudiants en gestion de l’entreprise / ingénieur de gestion à l’ICHEC Brussels Management School. L’objectif de ce syllabus est de permettre à un novice en programmation de:

  • Comprendre les bases de la programmation

  • Appliquer ces principes au langage de programmation Python

  • Convertir un algorithme en code Python

A ce titre, il se concentre d’avantage sur des aspects pratiques que sur des aspects purement techniques. La structure du syllabus a également été pensée en fonction de ces objectifs. Ainsi, à la fin de ce syllabus, l’étudiant sera capable de résoudre à l’aide de Python différentes études de cas dont notamment un tableau d’amortissement (comptabilité), un tableau de remboursement d’emprunt (finance), de résoudre le problème d’un voyageur de commerce (logistique), de réaliser une étude statistique, etc.

Définition

Un algorithme est la description des opérations nécessaires pour obtenir un résultat à partir de valeurs d’entrée, les “données”. Un programme est un algorithme écrit dans un langage spécifique (Vigouroux, 2018, p. 25).

Contenu du syllabus#

Le syllabus comporte théorie, exemples, et exercices. A la fin de chaque chapitre, des exercices sont proposés. Un code couleur est également utilisé. Lorsqu’il est fait référence à une variable dans le texte, le nom de cette variable apparaîtra comme ceci: variable. Les morceaux de code seront affichés avec un arrière fond gris et les résultats correspondants seront affichés juste en dessous, comme ceci:

a = 1
print(a)
1

Pourquoi Python?#

Python est un langage de programmation inventé par en 1991 par Guido Van Rossum. En comparaison avec d’autres langages de programmation, la synthaxe de Python est simple à appréhender, ce qui en fait un très bon choix pour vous initier à la programmation. Sa synthaxe est en effet très proche de l’anglais (https://www.python.org/about/).

Il existe de nombreux autres langages informatiques. Les plus connus/utilisés sont mentionnés sur la photo ci-dessous:

  • ASP : ASP ou .NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications. ASP.NET extends the .NET developer platform with tools and libraries specifically for building web apps. (https://dotnet.microsoft.com/en-us/apps/aspnet)

  • C# / C++ : langages de programmation orienté-objet. Ce sont des langages compilés, ce qui les rend, en général plus rapides que les langages interprétés tels que Python.

  • HTML (HyperText Markup Language) : n’est pas un langage de programmation mais un langage de balisage. Il permet de créer le contenu de site webs. Il fonctionne de pair avec CSS.

  • CSS (Cascading Style Sheets) : s’occupe de la mise en page et du style des pages web.

  • JavaScript est un langage de script conçu également pour les pages web.

  • Php / SQL : sont des langages utilisés pour interagir avec des bases de données. Pour plus d’informations sur SQL, RDV l’année prochaine au cours de “Base de données pour la gestion”.

  • Java est également un langage de programmation orienté objet.

Hello, world!#

Pour (essayer de) vous convaincre de la simplicité, voyons comment afficher le message “Hello, World!” en C++, en Java, et en Python.

En C++

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, World!";
    
    return 0;
}

En Java

class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!"); 
    }
}

En Python

print("Hello, World!")

Discipline d’intérêt#

Ensuite, Python est un langage utilisé dans de nombreuses disciplines liées de près ou de loin à la gestion : intelligence artificielle et machine learning, analyse de réseaux (sociaux), analyse textuelle, finance, etc.

  • Intelligence artificielle

    • Machine learning

    • Réseaux de neurones

    • Reconnaissance d’images (la technologie qui dévérouille votre téléphone)

Définition

Machine learning is programming computers to optimize a performance criterion using example data or past experience. We have a model defined up to some parameters, and learning is the execution of a computer program to optimize the parameters of the model using training data or past experience. The model may be predictive to make predictions in the future, or descriptive to gain knowledge from data, or both (Alpaydin, 2020)

Voici quelques exemples de projets à réaliser en Python :

  • Jeux

  • Analyse de réseaux sociaux

    • Analyse du contenu de tweets

    • Analyse des interactions entre profils

  • Finance

    • Stratégies de trading automatisées

    • Analyse de cours boursiers

    • Gestion d’un portefeuille financier

  • Logistique

    • Optimisation d’un trajet à parcourir

Open-source#

Finalement, Python est un langage open-source, gratuit, et qui fonctionne sur les différents systèmes d’exploitation (Windows, Mac, Linux).

Installation#

Rendez-vous sur le site https://www.python.org/

Cliquez sur la rubrique Downloads (Téléchargements).

Suivez ensuite les instructions d’installation. Le processus d’installation se complète en quelques minutes.

L’installation de Python s’accompagne de IDLE (Integrated Development and Learning Environment).

L’interface d’IDLE est assez basique. Toutefois, des programmes plus avancés offrent de nombreuses options et possibilités (inutiles) lorsqu’on commence à programmer. Ouvrez le programme IDLE. Vous devriez voir apparaître la fenêtre suivante:

Premiers pas#

Comme mentionné plus haut, il est coutume d’afficher le message “Hello, world!” quand on commence un langage de programmation. Vous pouvez ensuite écrire le code suivant:

Si vous quittez IDLE, ce que vous venez d’écrire sera perdu.

Nous allons créer un fichier que nous pouvons sauvegarder et dans lequel nous écrirons nos lignes de code. Cliquez sur File > New File. Une deuxième fenêtre apparaît. Sauvegardez le fichier sur votre ordinateur (File > Save As).

Ouvrez l’explorateur de fichiers (Windows) / Finder (Mac) et rendez-vous dans le dossier où vous venez de sauvegarder le fichier. Vous devrez trouver un fichier dont l’extension est .py. Une extension permet à l’ordinateur de reconnaître le type de fichier. Un fichier Word possède l’extension .docx, un fichier Excel possède l’extension .xlsx, etc.

Réécrivez la ligne de code print(“bonjour”). Ensuite, appuyez sur Run > Run Module. IDLE vous demande si vous souhaitez enregistrer le fichier. Appuyez sur Yes. Le fichier est sauvegardé et le résultat apparaît presque immédiatement dans la console. Pour exécuter le fichier, vous pouvez également utiliser F5.

Pour plus d’informations sur IDLE, regardez la vidéo ci-dessous !

Il existe bien sûr d’autres éditeurs de texte (SublimText, Notepad++) et même d’environnement de développement (Integrated Development Environment - IDE), tels que Visual Studio Code, PyCharm, Tony, etc.

Organisation du cours#

Le cours se déroulera sur 7 séances. Voici le contenu abordé lors de chaque séance :

Références#

Alpaydin, E. (2020). Introduction to machine learning, 4ème édition

Vigouroux, C. (2018). Apprendre à développer avec JavaScript, 3ème édition