/S2-python

ceci est une description très descriptive

Primary LanguageJupyter Notebook

S2-python : Les notebooks + les projets

Le planning prévisionnel

  • Semaine du 12 février : pas de TD, cours 1 (rappel tableau +git)
  • Semaine du 19 février : Vacances
  • Semaine du 26 février : TD1 (td et répartition des projets) + cours 2 (IHM)
  • Semaine du 4 mars : TD2 (IHM), cours 3 (dict)
  • Semaine du 11 mars : TD3 (dict), cours 4 (file, prog. modulaire)
  • Semaine 18 mars : TD4 (Projet + évaluation projet), cours 5 (fct. hachage)
  • Semaine du 25 mars : TD5 (file)
  • Semaine 1er avril : TD6 (hachage), sauf pour les groupes du lundi
  • Semaine 8 avril : pas de TD sauf pour les groupe du lundi, pas de cours. Avancer sur le projet en autonomie
  • Semaine 15 avril : vacances
  • Semaine du 22 avril, TD 7 (projet), cours 6 (contrôle)
  • Semaine 29 avril, TD 8 (soutenance projet)

  • 6 CM :
    • 0_Rappel_tableaux (complexité) et GIT
    • 2_gui (TK)
    • 1_Dictionnaires
    • 3_FichiersTexte
    • 4 Modularité
    • Fonction de Hachage
    • 5-Contrôle

Les projets

  • dans chaque groupe, il faudra désigner
    • un responsable GitHub: c'est lui qui hébergera le projet sur son compte GitHub et invitera les autres membres; il vérifiera, entre autres, que les commits qui sont poussés sont bien fonctionnels, et qu'ils ne contiennent que des sources du projet
    • un responsable de la qualité du code: vérifier que les règles de style sont bien respectées, ainsi que les bonnes pratiques de programmation (nommage des fonctions et variables, docstring dans les fonctions, etc.)

Consignes pour le projet

Dans le fichier README doivent apparaître les informations suivantes: le groupe de TD (filière et numéro), les noms de tous les étudiants du groupe de projet, l'url de dépôt du projet sur github; et un fichier README doit documenter l'utilisation du programme.

  • Une note sera donnée à la suite de la soutenance; cette note comprendra une partie collective et une partie individuelle qui tiendra compte des réponses aux questions et de la contribution de chacun, ainsi qu'aux apports de chacun au projet;

  • La note finale tiendra également compte de la qualité du code et du respect des consignes.

  • Les règles de programmation sont :

    • le projet doit être écrit dans un seul fichier
    • il ne faut pas utiliser de classes d'objets
    • il faut utiliser la librairie tkinter pour l'interface graphique

Dernières remarques

  • le programme que vous fournirez doit impérativement s'exécuter sans erreurs. Ainsi, il convient de le tester et de le corriger progressivement. Les parties du programme qui ne fonctionnent pas peuvent être laissées en commentaires pour montrer le travail réalisé sans nuire à son exécution;
  • vos chargés de TD sont là pour vous aider donc n'hésitez pas à les contacter, et à n'hésitez pas non plus à prendre des initiatives par rapport au sujet;
  • si vous êtes amenés à copier une partie de code d'un autre groupe ou bien d'une source sur internet, cela doit être mentionné explicitement en commentaire de la partie concernée. Tout plagiat ou référence qui n'est pas citée sera sanctionné par la note 0 (pour détecter le plagiat nous utilisons des logiciels qui testent la similarité de code; noter que le changement du nom des objets ne dupe pas ces logiciels).

Environnement de programmation


  • On utilise le même environnement que pour IN100 (voir le manuel d'installation)
  • Sur le campus, prêt d'ordinateur par la BU (cartable numérique)
  • Si vous ne parvenez pas à installer l'environnement, vous pouvez programmer en ligne sur le site https://repl.it/
    • créer un compte
    • créer un "new REPL" et choisir le langage Tkinter (en fait Python3 avec tkinter)

Travailler en groupe sur un projet


  • pédagogie adaptée à l'informatique pour acquérir de l'autonomie en programmation
  • ne pas hésiter à chercher des ressources sur internet
  • utile quel que soit le langage de programmation
  • groupes de 3-4 étudiants choisis par votre chargé de TD et qui sont fixes pour le semestre; vous ne pouvez pas en changer;
  • ne fonctionne que s'il y a une bonne communication dans le groupe
    • apprentissage par les pairs
    • utilisation d'outils adaptés: visio, forum, chat... par exemple discord est adapté pour tout ça, et git bien sûr
  • les enseignants sont là pour vous aider, encore faut-il les contacter, et pas (que) au dernier moment

Evaluation (à titre indicatif, ceci peut changer)


  • 3 évaluations en TD:

    • CC1. Evaluation sur 5
    • CC2. Evaluation sur 5 (prise en main du projet)
    • soutenance de projet
  • Un QCM au dernier créneau de cours

  • 4 notes au total, pondération: cc1 = 1.5, cc2=1; projet = 2.5, contrôle = 3

  • le niveau d'exigence sera plus élevé que celui du cours IN100

faire au cours du premier TD

  • Constitution des groupes par l'enseignant
  • Vérifier les installations de l'environnement / usage du cartable numérique