Espace pédagogique

Un devoir avec une intelligence artificielle

Quand les élèves ont la possibilité d'utiliser une IA via une interface construite en Python

Description du devoir

Public visé

Les élèves de Terminale spécialité NSI.

Type de devoir

C’est un devoir maison, il est basé en partie sur un travail de M. Le Cren (enseignant NSI au Mans).

Pré-requis

Ce devoir vient après l’étude faite en classe de la structure de données File. Notamment son interface a été vue ainsi qu’une implémentation possible en langage Python.

Le devoir

Dans ce devoir (en pièce jointe à la fin de cet article) basé sur la structure de File, on s’intéresse à une situation de priorité qui va nécessiter de compléter l’interface de cette structure.


On propose alors d’implémenter en langage Python cette structure modifiée en laissant la possibilité d’utiliser une Intelligence Artificielle.
Le cas échéant d’une utilisation de l’IA, l’élève fournit une copie d’écran de ce qui a été demandé ou une ré-écriture de la conversation avec l’IA.

Les modalités d’utilisation

Il est proposé aux élèves d’utiliser une IA via une interface construite en Python (voir fichier). Ce script utilise la bibliothèque OpenAI pour laquelle une clé d’utilisation personnelle est fournie aux élèves (cette clé est stockée dans un fichier évidemment non fourni).

un script


On peut imaginer qu’une telle clé soit acquise par l’établissement. Cela semble être un investissement assez modeste.

Notation

Voir barème en fichier joint.

Réflexion autour du sujet

La montée en puissance des IA va impacter nos pratiques, pouvant affaiblir la partie technique mais augmentant parallèlement la nécessité de l’analyse des problèmes : il va falloir construire des prompts (les entrées utilisateur) de façon à répondre à un cahier des charges précis.

Je demande à mes élèves de soigner les spécifications (entrées, sorties, rôle, préconditions et postconditions) dans les prompts de façon à gagner en efficacité auprès de l’IA.
Dans le cadre des travaux maison, la contextualisation de la situation est essentielle : je ne propose pas des algorithmes classiques décontextualisés sinon l’IA aura une réponse experte.

À la préparation de ce devoir, j’ai moi-même testé l’IA :

  • sa première réponse a été pertinente mais hors cadre : elle proposait une structure de Tas ; ce qui est la réponse experte mais sera sanctionnée.
  • sa seconde était pertinente aussi, mais non opérationnelle car utilisant deux autres files de stockage mais avec deux grosses erreurs d’implémentation : une mauvaise prise en compte des clefs de priorité (avec une inversion) et une simple boucle vidant ces deux files dans le mauvais ordre (la solution la plus simple étant de mettre deux boucles).

L’IA ouvre une voie (elle propose des files de stockage intermédiaire) mais se révèle, pour le moment, en difficulté pour finaliser.

Retour des élèves

Trois élèves m’ont fait un retour de leur utilisation. Les liens ci-joints permettent de retrouver les prompts et réponses :

Conversation 1 Spécifications incomplètes : un tri (d’abord sort puis insertion)
https://chat.openai.com/share/5195597f-de1f-437e-84c9-a5a90114f3db

Conversation 2 Vers l’utilisation d’insert…
https://chat.openai.com/share/35060b64-3b33-43de-8b58-bee2535d7779

Conversation 3 On enlève l’insert et le tri !
https://chat.openai.com/share/b2b79f1d-b577-4aef-994d-4d1340ce8935

L’élève, dans sa solution finale, a revu le code et enlevé les instructions break !

Fichier au format DOC / DOCX
 Devoir avion
Fichier au format DOC / DOCX
Barème avion 
 InterfaceChat.py

Information(s) pédagogique(s)

Niveau :
tous niveaux
Type pédagogique :
non précisé
Public visé :
non précisé