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

Le projet est à réaliser de façon individuelle je n'accepterai aucun projet en binôme ou en groupe.
Date limite de soumission : jeudi 18 octobre à minuit. À 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 dans mon bureau (O112), vendredi 19. après-midi.

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, sauf pour le premier sujet (faire les TPs non avancés). Bien sûr « un projet et mi » a plus de valeur par rapport à un seul projet.
Les TPs non avancés sont un « projet », entre guillemets, trop simple pour être combiné avec des autres ; c'est juste une concession aux débutants en difficulté.


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)

Le fichier est ici.


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 16 octobre 2018 (après le cours).