Luca Saiu : Introduction à la programmation en Python

Cette page web est la page web officielle du cours.

Vous trouvez des ressources plus en bas. Si vous avez besoin de me contacter ou vous devez m'envoyer du code, cette page explique comment.


Introduction

Ce cours introduit les éléments basiques de la programmation en utilisant le langage Python.


Liste de discussion

C'est obligatoire de s'inscrire à la mailing list du cours. Je vais l'utiliser pour des communications aux étudiants, mais vous pouvez aussi l'utiliser pour des discussions « publiques » (avec moi et tout votre collègue inscrit).


Évaluation

Il y aura un projet, à développer individuellement, avec une soutenance orale pour me convaincre que le code soumis ait été vraiment et complètement écrit par vous.

On peut avoir des contrôles surprise à tout moment—même plusieurs.

Projet

J'ai gardé des informations sur un ancien projet dans une page séparée, juste pour des raisons historiques. Aucune nouvelle soumission ne sera acceptée pour les anciens sujets sauf ces aussi présentés ici.

Le projet est à réaliser de façon individuelle je n'accepterai aucun projet en binôme ou en groupe.
Date limite de soumission : samedi 8 décembre, 23h59. À soumettre par mail, en tant que fichier (ou fichiers) Python attachés. Je n'accepte pas de fichier compilés, PDF, images ou similaires à la place de votre code source écrit en Python, que je dois pouvoir directement lire et exécuter sur mon ordinateur.
Soutenances: lundi 10 décembre, matin (à la place de la séance de programmation client/serveur, qui a été anticipée). La date a été annoncée sur la liste.

Aucune tentative de triche ne sera tolérée. Le code soumis doit être écrit complètement par vous, et vous devez être capables de l'expliquer en détail.
Ne rien soumettre et avoir une note finale de 0/20 est préférable, pour votre carrière, à l'alternative d'une commission de discipline.

Il y aura une petite soutenance orale, juste pour me convaincre que votre code ait vraiment été écrit par vous.

Le sujet du projet est à choisir par chaque étudiant, dans la liste suivante.

Projets possibles :

Vous pouvez soumettre un projet, plus un autre projet peut-être non fini (parmi les projets dans cette liste). Bien sûr « un projet et mi » a plus de valeur par rapport à un seul projet.


Ressources

Vous trouvez ici les transparents que j'utilise au cours. Les transparents sont une version modifiée de ces utilisés par Camille Coti en 2015. Les polycopiés sont entièrement par Camille Coti.


Exercices

Ces exercices sont des problèmes de programmation orientés aux débutants. Il faut les résoudre en utilisant des boucles et des fonctions.

Les TPs sont disponibles dans une page séparée.

Je mets également à disposition des exercices supplémentaires par Camille Coti :


Contrôle surprise (avec réponses correctes marquées)

Vous pouvez trouver ici tout contrôle surprise passé, avec les réponses correctes marquées dans la dernière page.

Les questions et le réponses possibles à toute question, même si réordonnées de façon aléatoire dans chaque exemplaire, sont exactement les mêmes pour tous dans un contrôle donné.

Enfin le barème a été bien plus généreux par rapport à ce qui était indiqué sur les papiers : en cas de réponse incorrecte j'ai enlevé juste un dixième de point par chaque point de la valeur d'une question. Donc une question avec valeur de 3 points a donné +3 en cas de réponse correcte, 0 en cas de réponse manquante, -0,3 en cas de réponse incorrecte.


Suggestions pratiques

Je donne ici quelques suggestions pratiques utiles pour les projets plus complexes.


Suggestions pratiques : variables globales

Python ne permet pas d'affecter une variable globale à l'intérieur d'une fonction, sans déclarer la variable comme globale à l'intérieur de la même fonction, avant l'affectation.
La simple lecture d'une variable n'est pas sujette à cette limitation.

Une déclaration de variable globale, qui est syntaxiquement une commande, est écrite comme :

global nomdelavariable

Vous avez juste besoin d'ajouter ces déclarations au début des corps de fonctions modifiant la variable donnée. Chaque corps de fonction peut contenir plusieurs déclarations « global ».

J'ai publié un exemple bien commenté, variables-globales-assignees.py, montrant l'utilisation de « global ».

Cette remarque est presque certainement utile pour le projet « tortue », et peut-être pour le projet « pushover » aussi. Veuillez me contacter en cas de doutes et questions.


Foo

Foo


Foo

Foo

Foo

Solutions des TPs et code écrit en cours

Le code que j'écris en classe sur mon ordinateur en tant qu'exemple, en parlant, n'est pas nécessairement propre et n'est presque jamais bien commenté, car je donne mes commentaires oralement ; quand même les étudiants me demandent souvent une copie.
J'inclus, en particulier, une solution aux
TPs.

Vous trouvez le code écrit en classe pour ce cours ici.


Me contacter

La page principale de mes enseignements explique comment me contacter et comment m'envoyer du code.

N'utilisez pas l'ENT pour me soumettre des projets, des fichiers ou des messages.



[hacker emblem]

Luca Saiu — IUT de Villetaneuse, Département Réseaux et Télécommunications
Mis à jour le 28 novembre 2018.