Colledgetown propose différentes activités pédagogiques (poésie, art, philosophie, géographie, informatique,....); je pensais, après avoir interviewé Mark qui m'a expliqué l'importance du MOO pour apprendre à programmer dans des langages plus compliqués, me pencher sur les moyens d'enseignement de la programmation. Colledgetown en offre de deux types: synchrone (conférences, cours, support par des étudiants plus expérimentés) et asynchrone (accès au web, vidéos, mail,...). Il est difficile de suivre, de manière synchrone, un cours de programmation sur MOO pour différentes raisons: ils sont ouverts uniquement aux étudiants de l'Université et la différence de fuseaux horaires (7 heures) empèche de participer à ces cours. Je présenterai donc, dans le cadre de mon analyse d'une activité pédagogique, un tutoriel de programmation représenté sous forme d'une vidéo et enregistré par Ken (arch wizard de Colledgetown). Pour regarder ce film, il suffit de se rendre dans un local ou il y a une télévision et de demander "look tv", toutes les informations de manipulation de base de la télévision sont alors données.
Retour
Dans toute communication non médiatisée, c'est-à-dire qui permet un contact direct dans le temps et le lieu entre enseignant et enseigné, les messages envoyés par l'enseignant sont de deux types: messages qui sont reliés aux contenus d'enseignement et messages qui sont plutôt reliés à la relation.
Une des principales critiques à l'égard de différents logiciels d'enseignement médiatisé est leur manque de soutient de la relation: on fait seulement passer des contenus sans se soucier de recoudre autour de ces apprentissages tout le contexte d'enseignement non médiatisé; pour l'enseigné, ce manque signifie isolement.
Jakobson a étudié les différents messages qui passent entre enseignant et enseigné lors d'une communication non médiatisée et les a regroupé en six fonctions différentes:
Le film vidéo présenté par Ken est défini par ce dernier comme étant un "tutoriel interactif"; je dirai plutôt qu'il s'agit de pseudo-interactivité: en effet, le programme ne sait pas ce que l'enseigné est entrain de faire; le contrôle se base uniquement sur le fait qu'une erreur de programmation ne porte pas aux résultats voulus; le feedback n'est donc pas donné par le tutoriel lui-même mais par le système qui ne comprend pas le langage utilisé.
Dans mon analyse, je me réfèrerai aux 6 fonctions du langage étudiées par le linguiste Jakobson. J'essaierai de décortiquer la vidéo et d'y retrouver ces différentes fonctions. De plus, en tenant compte des deux aspects de toute communication et donc de la communication pédagogique (la relation pédagogique et les contenus pédagogiques), je tenterai de vérifier au niveau quantitatif le rapport relation/contenus afin d'évaluer la vidéo en fonction de sa pseudo-interactivité. Retour
Pour faciliter l'analyse de ce protocole, je préfère utiliser des abbréviations pour définir chaque fonction:
>look tv
Congratulations on your new TV! To operate it, 'turnon
It's turned off. . .
>turnon tv
ericch turns on TV set.
>schedule tv
ericch consults the tv schedule. .
The following tapes in the tape Library can be viewed at ANY time. Just tune your tv to channel 11, turn it on, and 'play
1 Coding with Ken-Part 1 Ken
2 Coding with Ken-Part 2 Ken
3 Pavel/Amy Interview Ken
4 Legba/Bakunin Sem. Ken
5 Oracle on Habitat Ken
6 library management Ringer
7 Verb edit with herb - Part 1 herb
8 mahina's Collaboratory mark
9 KBVC Radio Commercial Shorty
10 Who's On First Colin
>tune tv to 11
ericch tunes TV set to channel #11.
>play 1 on tv
ericch selects the tape <
[on TV set] * * * * * * * * * *
[on TV set] BVC MOO -TV Presents
[on TV set] Coding with Ken!
[on TV set] A MOO Programming Tutorial
[on TV set] for Absolute Beginners
[on TV set] Part 1
[on TV set] * * * * * * * * * *
[on TV set] Ken says, "Hi! I'm Ken(ph). I'm here to help you learn to program in MOO(ex)! This tutorial is for Absolute Beginners, no previous programming experience in any language is assumed!(re)"
[on TV set] Ken says, "MOO, despite all the Bovine jokes you may have heard or made yourself(po), actually stands for 'Multi-user Object Oriented' programming language...(me)"
[on TV set] Ken says, "MOO is kind of a cross between C++ and LISP, but much easier to learn(me). When you learn to program in MOO you can build all kinds of fun things!(ex)"
[on TV set] Ken says, "This is an INTERACTIVE tutorial(me)! You will actually be coding a program while you watch the tape!(me)"
[on TV set] Ken says, "Here's how it works(me). I will suggest a line or two of code for you to write(me). I will then ask you to pause the tape and actually enter the code before resuming your viewing.(me) "
[on TV set] Ken says, "To pause or resume viewing this tape at any time type PAUSE TVNAME or RESUME TVNAME(me). Why not practice doing it now.. (co)"
[on TV set] Ken says, "Were you able to pause and resume without problems(ph)? Great! Let's get started.(ph)"
[on TV set] Ken says, "Oh, I just remembered(ph). . Many people prefer to have the tv pause automatically after each line(me). If you would like to try this type 'autopause tvname'(co). Type resume to continue each time...(co)"
[on TV set] Ken says, "For our first programmed object let's make a Box of Donuts!(re) It's real easy(ex). Just type '@create $thing named Box of Donuts,donuts(co)'. Pause the tape and make that box right now(co)! I'll wait for you...(ph)"
[on TV set] Ken says, "Did you do it(ph)? Type 'inv' to look at your inventory to make sure you've got it(co). You should see it listed there.(ph) "
[on TV set] Ken says, "In the language of object oriented programming you just made a 'child' of the generic object $thing(me). The word 'donuts' is the alias or nickname for your object.(me)"
[on TV set] Ken says, "Lets make sure that nickname 'donuts' really works(ph). Type 'drop donuts'.(co)"
[on TV set] Ken says, "Now 'look donuts'.(co) "
[on TV set] Ken says, " Hee, hee....Not a very appetizing description so far is it..(ex)"
[on TV set] Ken says, "Lets change that boring description(re)! Type @describe donuts as "You see a box of yummy scrumptious donuts begging to be eaten"(co). Pause the tape and do it(co). I'll wait...(ph)s"
[on TV set] Ken says, "The next thing we'll do is create several kinds of donuts for inside the box(re). Type a line like the one that follows adding as many donut descriptions as you wish.(co)"
[on TV set] @property donuts.kinds {"yummy cherry donut","tasty mooberry croissant","creamy custard donut"}(re)
[on TV set] Ken says, "What we just did was add a property called 'kinds' to the object 'box of donuts'(me). This property is a list of 3 donut descriptions.(me)"
[on TV set] Ken says, "Now let's see if you were successful(ph). Type '@dump donuts'(co) Do you see a property called 'kinds' with the correct donut descriptions?(ph) If you don't, try adding the property again...(co)"
[on TV set] Ken says, "Now that we have added the property, let's practice talking like real MOO programmers and describe what we did(ph)"
[on TV set] Ken says, "Repeat after me: 'We added the PROPERTY 'kinds' to the OBJECT 'donuts' and INITIALIZED the property's VALUE to a LIST of CHARACTER STRINGS describing various donuts'(me) Hey! Are we cool or what!(ph)"
[on TV set] Ken says, "Now let's see if we can add an EAT verb to our donuts object so we can gobble up some of those donuts(re)! Our EAT verb might be called like this 'eat donuts'(re). "
[on TV set] Ken says, "To create the verb type '@verb donuts:eat this'(co) Pause and do it now.(co)"
[on TV set] Ken says, "Now lets make the verb DO something(re)! When a player eats a donut let's have the player choose a donut kind at random and gobble it up.(re)"
[on TV set] Ken says, "I will show you the complete program but don't type it in just yet... Here it is:(ph)"
[on TV set] donut_choice = this.kinds[random(3)](re);
[on TV set] player.location:announce_all(player.name," gobbles up a ",donut_choice,".")(re);
[on TV set] Ken says, "Let's talk about what's happening here before we try to enter the code..(ph)."
[on TV set] Ken says, " In line 1 random(3) generates a random number from 1 to 3. ( If you had 5 donuts in your box you would make this random(5).)(me) Let's suppose the function came up with the number 2..(me)"
[on TV set] Ken says, "The variable 'donut_choice would then be set to the second item in the list 'this.kinds', that is, the value of 'donut_choice' would now be "tasty mooberry croissant"(me)"
[on TV set] Ken says, "When a player eats a randomly selected donut everyone in the room should be informed of this event(me). This is the job of the second line.(me)"
[on TV set] Ken says, "In line 2 'player.location' is the location of the player who is eating the donut, usually some room.(me)"
[on TV set] Ken says, "The verb 'announce_all' is a verb defined for all rooms and it means 'tell everybody in the room' something or other..(me) "
[on TV set] Ken says, "If Jill had typed 'eat donut' all players in the room (including Jill) would see 'Jill gobbles up a tasty mooberry croissant.'(me)"
[on TV set] Ken says, "Now lets program that verb(ph)! You will need to type in the three lines I will show you followed by a period on a line by itself.(re)"
[on TV set] Ken says, "The first line actually creates a new verb named EAT and assigns it to the object 'donuts'(me). You will be prompted for the remaining two lines(ph). Don't forget to end with a period on a separate line..(co)"
[on TV set] Ken says, "Pause the tape after reviewing the following line and try entering them.(co)"
[on TV set] @program donuts:eat(re)
[on TV set] donut_choice = this.kinds[random(3)];(re)
[on TV set] player.location:announce_all(player.name," gobbles up a ",donut_choice,".");(re)
[on TV set] Ken says, "If you were successful you will get my FAVORITE message '0 errors, verb programmed'(ph). Congratulations!(ex) "
[on TV set] Ken says, "If you were not so lucky you got some cryptic message about a parse error or whatnot(ph). Just try again..(co)"
[on TV set] Ken says, " Did you remember the semicolons at the ends of the lines(ph)? Did you get the full colon in the right place(ph)? Pause the tape if you need to try again(co). I'll wait...(ph)"
[on TV set] Ken says, "Now let's try out that verb(ph). Type 'eat donuts' 3 or four times(co). Yum Yum! Congratulations! You are on your way to becoming a true blue MOO programmer!(ex)"
[on TV set] Ken says, "Next time we will introduce some more fun features of the MOO language and we'll learn how to use the editor(ph)! Until then, HAPPY MOOING!(po)"
[on TV set] Ken says, "Bye bye!(ph)"
>turnoff tv
ericch turns off TV set. Retour
Il est assez difficile de pouvoir définir avec certitude la catégorie d'appartenance de tous les éléments de l'interaction. Toutefois, dans les grandes lignes, les résultats quantitatifs de cette analyse peuvent être représentés de cette manière:
On peut noter que le nombre d'interactions de type conatif, phatique et métalinguistique est très élevé; en deuxième position on trouve les interactions de type référentiel et en dernière position les interactions de type expressif et poétique.
La quantité d'éléments qui mettent en premier plan la relation permet à l'apprenant de ne pas se sentir isoler; dans cette interaction les différentes fonctions ont les rôles suivants:
Explication de l'analyse du protocole
Dans toute communication on peut retrouver ces fonctions à différents degrés; c'est ce qui fait la différence entre deux types de communication.Protocole d'observation du film vidéo
You see Library Manual, WW Reference Shelf, TV set, A Bust of Woodrow Wilson, and Public Message Board here.Résultats
