Semaine 1: Introduction à l’informatique et premiers programmes#

Cours#

TD#

TP : prise en main, premiers programmes avec laby#

Tout exercice non marqué d’un ♣ est à terminer pour la semaine prochaine.

Notes aux enseignants :

Problèmes de connexions#

  • Préciser en tout début de séance qu’ils doivent démarrer les ordinateurs sous Ubuntu et pas sous Windows (en sélectionnant le bon choix lorsque cela est demandé au démarrage).

  • Les élèves sont censés avoir leurs identifiants personnels fonctionnels. Si certains vous demandent de quel login ou mot de passe il s’agit, c’est celui de leur compte Adonis, c’est le même qu’ils utilisent pour se connecter sur ecampus. Le login est prénom.nom (pour se connecter sous Windows ajouter @u-psud.fr mais ce n’est a priori pas nécessaire sous Unix). Attention certains utilisateurs ont un compte suivi d’un chiffre ex : pierre.dupont1 (cas assez rare). (Il existe aussi un login court, si certains connaissent le leur ils peuvent l’utiliser). Pour le mot de passe, certains ne tapent pas ce qu’ils croient taper. Dites à ceux qui n’arrivent pas à se loguer de vérifier ce qu’ils tapent en tapant leur mot de passe dans la case login (comme cela ils le voient en clair, et voient s’ils ne tapent pas correctement certaines choses, par exemple les chiffres ou les majuscules). Certains ajoutent un espace à la fin de leur login et/ou de leur mot de passe en pensant que ça n’a aucune conséquence… Pour les élèves qui n’ont pas activé leur compte, ou qui ne sont pas encore inscrits, demander au personnel du SIF le login et le mot de passe provisoire de secours (valide une seule journée…). Enfin en cas d’autre problème, demander de l’aide au SIF (contacter Mounir ou Jean dont les bureaux sont respectivement aux troisième et deuxième étages du bâtiment, près des salles info). Bien insister auprès des élèves ayant eu besoin du compte provisoire qu’il faut qu’ils activent leurs identifiants ou règlent les éventuels problèmes au plus vite, en allant voir les membres du SIF si besoin. En effet, se loguer sur un compte de secours ne permet pas de garder ses documents pour la prochaine séance, de plus les comptes de secours n’existent qu’en tout début d’année.

  • Pour les étudiants n’ayant pas encore de compte en salle TP : Utiliser le compte de secours pour se connecter en salle de TP. Dans la tableau de bord, utiliser l’instruction de secours pour télécharger le sujet. L’étudiant ne pourra pas déposer son travail; passer les exercices correspondants.

  • Écrire au tableau la façon d’aller chercher l’énoncé de TP : trouver le site web, ouvrir la page « Case Départ » et suivre les instructions.

    Pour trouver la page web la première fois, une recherche avec les mots clés «Info 111» fait généralement l’affaire. Pour les fois suivantes, leur apprendre progressivement à simplement taper Info111 dans la barre de navigation (sans valider!) et choisir parmi les propositions du navigateur. Cela pour éviter d’actionner un moteur de recherche pour rien.

  • Si un étudiant n’arrive pas à se connecter sur GitLab, pour vérifier lui dire de taper son mot de passe en clair (par exemple dans le champ login) pour qu’il vérifie qu’il tape bien ce qu’il croit taper. Vérifier aussi le login. Si tout semble bon mais que cela ne fonctionne pas, collecter le login de l’étudiant et faire remonter à Nicolas (il sera probablement dans le coin, donc l’appeler ou mettre un message sur Signal, ou sinon par e-mail). En attendant, faire continuer le TP à l’élève comme pour un étudiant n’ayant pas de compte à l’Université, mais en travaillant sur JupyterHub pour qu’il ou elle puisse continuer à la maison. Le dépôt du travail sera possible dès que l’accès à GitLab sera corrigé.

Laby#

  • Sur le début de laby, certains ne comprennent pas trop la démo ni ce qu’il faut faire. Leur expliquer, par exemple au moyen d’une démonstration au vidéo projecteur (2022-2023 : cela a été fait en amphi; probablement pas besoin de le refaire).

  • Penser aussi à les inciter fortement à utiliser les indications (boucle while pour les labyrinthes 2a et 2b, fonction pour le 2c…), surtout pour les élèves qui s’en sortent pas trop mal.

  • Préciser que les TD durent 1h30, mais que les TP eux durent bien 2h.

  • Leur rappeler en fin de séance qu’ils doivent faire d’ici la semaine prochaine une heure supplémentaire de laby, par exemple en salle libre service ou via le serveur JupyterHub.

Introduction#

Dans ce premier TP vous allez écrire de petits programmes de façon ludique (faire sortir une fourmi d’un labyrinthe, etc), occasion d’avoir un premier contact avec quelques constructions (conditionnelles, boucles, fonctions) que nous approfondirons par la suite.

image

Pour cela, nous utiliserons des feuilles d’exercices interactives Jupyter. Jupyter est une application web qui permet de programmer interactivement dans de nombreux langages (Python, C++, …), un peu comme une super calculatrice, et de rédiger des documents interactifs.

Exercice 1 : Premiers pas avec Jupyter#

  1. Ouvrez la feuille de travail 0a-prise-en-main-jupyter.md.

  2. Suivez les instructions qu’elle contient.

Notes aux enseignants

Dans ce TP, il y a beaucoup de petites feuilles. Du coup, si celles-ci ne sont pas arrêtées explicitement, il y a beaucoup de noyaux simultanés qui tournent. C’est pourquoi on leur recommande, lorsqu’ils ont fini une fiche, d’utiliser le menu Fichier -> Fermer et arrêter, afin d’éviter de dépasser leur quota de mémoire utilisée.

Exercice 2 : Dépôt de votre travail#

Notes aux enseignants

Dans l’état actuel, les consignes et la configuration de travo sont très directive : on ne peut extraire l’archive que dans le répertoire ~/ProgImperative/Semaine... (en particulier il faut que le répertoire ProgImperative ait sa majuscule). L’expérience des années passées montre que les étudiants ont besoin de quelque chose de directif, mais c’est peut-être exagéré. Faire remonter si les élèves semblent génés par cet aspect directif, par exemple parce qu’ils souhaiteraient légitimement ranger leur répertoire ProgImperative ailleurs que à la racine de leur répertoire personnel.

  1. Revenez au tableau de bord du cours

    Indication : recherchez l’onglet tableau de bord; si vous l’avez fermé, revenez à la page d’accès au matériel pédagogique et suivez les instructions.

  2. Vérifiez le choix du groupe

  3. Déposez le devoir Semaine1

  4. Consultez le dépôt Semaine1 sur GitLab.

  5. Votre travail est maintenant sauvegardé et vous pouvez y accéder depuis chez vous.

Pensez à déposer régulièrement votre travail, et systématiquement à la fin du TP pour que tout ce que vous avez fait soit bien sauvegardé.

Exercice 3 : Premiers programmes en jouant#

Le jeu laby propose plusieurs défis successifs; pour chacun d’entre eux, le but est de guider pas-à-pas une fourmi vers la sortie d’un labyrinthe à l’aide d’un programme. Chacun de ces défis sera l’occasion de découvrir ou manipuler un concept de programmation.

Nous allons utiliser laby-jupyter une réimplantation de laby dans Jupyter.

  1. Chaque feuille ci-dessous correspond à un défi. Ouvrez les tour-à-tour dans l’ordre et suivez les instructions incluses. Déposez votre travail après chaque fiche.

  2. Résoudre en Python le défi Chou, chèvre, loup.

  3. ♣ Dans l’ordre que vous souhaiterez :

Notes aux enseignants

laby n’est pas juste un jeu. Le but est de capitaliser les notions que les élèves auront ainsi perçu de manière intuitive, comme l’exécution séquentielle d’un programme, les boucles, les conditionnelles, les fonctions, … Pour donner l’intuition des fonctions, ne pas hésiter à faire le parallèle avec le TD (exercice 1 question 2).

Une erreur fréquente des élèves est d’oublier de mettre debut(); .

Exercice 4 : À faire pour la semaine prochaine#

Deux heures supplémentaires de Laby! Vous pouvez par exemple utiliser un ordinateur en salle libre-service de l’université (salle 215, sauf si cours) ou le service JupyterHub@Paris-Saclay. Dans tous les cas, assurez-vous de télécharger le devoir en début de chaque séance et de le déposer régulièrement ensuite. En particulier, le déposer avant de vous déconnecter pour que tout ce que vous avez fait soit bien sauvegardé.