I am keeping this page for archival purposes in the hope that the material will be useful to others, but my teaching pages are not actively maintained and external links may break. I do not teach at the Villetaneuse IUT or at Université Sorbonne Paris Nord any longer; please see the home page for my current situation.

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.


É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 [date limite: vendredi 15 janvier 2021, minuit]

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.
L'utilisation de bibliothèques externes (non partie de la bibliothèque prédéfinie de Python) est interdite.
Date limite de soumission : vendredi 15 janvier 2021, 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 2020: non encore annoncées.

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. La soutenance orale est obligatoire.

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.


TP et autres exercices

La page des TP est ce que la majorité des étudiants vont chercher.

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.

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.

Vous trouvez le code écrit en classe pour ce cours ici: code-en-direct/ .


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
Dernière modification : 2021-01-05