TCSS5AC - Info I

Programmation et structures de données

Tronc Commun d'Informatique

Responsables :

Pierre-Etienne MOREAU, Professeur (Pierre-Etienne.Moreau@univ-lorraine.fr)

Guillaume BONFANTE, Maître de conférences (Guillaume.Bonfante@univ-lorraine.fr)

Durée du module : 30 heures

Crédits ECTS : 3.5

Objectif général : apprendre à concevoir des algorithmes et à les programmer

Syllabus : TCSS5AC

Contenu

  • caractéristiques d'un langage de programmation

  • algorithmique de base

  • type de données élémentaires (entiers, chaines, tuples), modèle mémoire, espace de noms et instructions

  • entrées-sorties, fichiers, interfaces graphiques

  • structures de données avancées (ensembles, dictionnaires, listes)

  • constructions avancées (lambda expressions, compréhensions)

Support

Nous utilisons l'environnement de programmation Wing 101 qui est bien adapté à l'enseignement à un public débutant.

Nous utilisons deux livres comme support de cours :

Pour s'entrainer :

Pour approfondir :

Programme

  • Séance 0 - PEM (à regarder en autonomie pour vous assurer que vous comprenez bien la notion de valeur et d'étiquette)

    • Structures de données élémentaires - video du cours

    • Notions abordées : langage de programmation, interprétation compilation, variable, type de donnée élémentaire (int, float, string, tuple, list), conditions booléennes, typage dynamique, instructions, variables, tests, boucles, tableaux, fonctions, passage de paramètres

    • Correspond aux chapitres 3, 4 et 5 (Wack et al., lecture du chapitre 1 conseillée, 2 optionnelle)

    • Exercices de la séance Passerelle

  1. Structures de données avancées – PEM (30/09/2022)

  2. Programmation Objets – PEM (07/10/2022)

  3. Listes – PEM (14/10/2022)

  4. Interfaces graphiques – GB (21/10/2022)

  5. HachagePEM (28/10/2022)

    • Notions abordées : dictionnaire, fonction de hachage, linear probing, listes de collisions

    • TD sur machine : Hachage ouvert

  6. Un peu de son – GB (25/11/2022)

    • N'oubliez pas de prendre vos écouteurs

    • Notions abordées : représentation de données, lecture de fichiers binaires

    • TD sur machine : The wall

  7. Arbres - GB (18/11/2022)

    • Notions abordées : arbre, Arbre Binaire de Recherche, grammaire, Arbre de Syntaxe Abstraite

    • TD sur machine : Cadavres exquis

  8. Graphes : placementGB (02/12/2022)

    • Notions abordées : les graphes, structures de données

    • TD sur machine : Graphes, Tutte

  9. Graphes : structuresGB (09/12/2022)

      • Notions abordées : données structurées et fonctions

      • TD sur machine : colorations

  10. Test(16/12/2022 matin)


Pour les révisions, des sujets commentés. Essayez de réaliser le code avant de vous jeter sur les solutions proposées...


Séance d'entrainement : implantation d'un interpréteur pour le langage BASIC


Niveau requis

  • Savoir utiliser un ordinateur et son système d'exploitation (système de fichiers, répertoires, disque partagé, etc.)

  • Savoir ouvrir une page web, savoir compresser et décompresser un répertoire, savoir utiliser un éditeur de texte

Niveau à atteindre

  • Connaitre le vocabulaire permettant de caractériser un langage de programmation (interprété, compilé, portée des variables, typage, instructions, etc.)

  • Comprendre la sémantique des constructions d'un langage

  • Être capable de choisir des structures de données adéquates pour résoudre un problème

  • Être capable de décrire un algorithme pour résoudre un problème

  • Être capable de modéliser de l'information sous forme de structures de données

  • Être capable de programmer un algorithme dans un langage de programmation (Python)

Modalité d'évaluation

  • Réalisation d'exercices en séance de TD

  • Évaluation individuelle à la fin du module : sous la forme d'une colle, exercice d'algorithmique simple à résoudre, à programmer sur ordinateur et à présenter au chargé de TD.

Groupes de TD - année 2022-2023

matin

  • Groupe B1 - A207 : Ana Rodriguez

  • Groupe B2 - A208 : Guillaume Coiffier

  • Groupe B3 - B207 : Guillaume Moroz

  • Groupe B4 - B208 : Paul Caillon

  • Groupe B5 -B215 : Parisa Rastin

après midi

  • Groupe A1 - A207 : Parisa Rastin

  • Groupe A2 - A208 : Marco Freire

  • Groupe A3 - B207 : Antoine Leudière

  • Groupe A4 - B208 : Alexandre Guernut

  • Groupe A5 - B215 : Mario Machado