jeudi 31 janvier 2008

Filocours, riboulware et croquargent

c'est le titre d'un article de 01 Informatique, reproduit dans un papier de Gilbert Cristini qui fut rédacteur en chef de O1 Informatique.

Le sous-titre est :"Afin d'écarter les Pieds Nickelés de la formation, l'Education Nationale ne pourrait-elle promouvoir un label pour les cours d'informatique ?"


C'était en sept 1969, l'année chantée par Serge Gainsbourg.

Qui aujourd'hui poserait une telle question ? C'était l'ancien temps. Aujourd'hui, tout le monde sait ce qu'est l'informatique. Il suffit de naître avec un ordinateur dans la salle d'accouchement !

Les fonctions partielles et les 'valeurs nulles"

Message reçu ce jour :
" Re bonjour,

Concernant les commandes de billets transports chez CARLSON, quelques petites informations complémentaires utiles.Lorsque vous allez rechercher le contrat cadre, il faut être vigilant car plusieurs lignes vous sont proposées.
Pour l'achat des billets ferroviaires, vous avez 2 lignes :1ère ligne :2006FCS9996036/1 - Fourniture de titres de transports - LOT 1 - 4600000035 - 0010 - 60.01 (grpe marchandises) correspond à l'achat de billets de transport avec la dérivation budgétaire 62561. Sans TVA.

2ème ligne :2006FCS9996036/1 - Fourniture de titres de transports - LOT 1 - 4600000035 - 0020 - 60.07 (grpe marchandises) correspond à la prestation de service (frais d'agence) avec la dérivation budgétaire 6228. Avec TVA non déductible de 19,6%

Il faut donc créer 2 lignes au moment de l'établissement de votre commande, l'une pour les billets, l'autre pour les frais d'agence.

Ceci est incontournable.

Même procédure pour les billets d'avion (national ou international).

Nous sommes à votre disposition pour vous guider."

Eh oui, vous devez savoir cela. J'ai traité plusieurs fois de la normalisation des schémas relationnels. La bonne théorie évite bien des commentaires.

Attendons le prochain message sur :
-les livres
-les ...

et le
"ceci est incontournable".

C'est comme la semi-décidabilité bien connue de vous tous (voir vos copies)

Débloquer l'économie français qu'il dit Attali !

mercredi 30 janvier 2008

La vraie vie, SIFAC, le Ministre, et le génie logiciel

" SIFAC évolue tous les jours.En effet, jusqu'à hier lundi nous pouvions "autoriser" et "calculer" l'OM. Cela ne bloquait aucunement la possibilité de pouvoir modifier à souhait l'OM en fonction de la réalité du déplacement.OR, et toute mise à jour n'est PAS BONNE, car depuis aujourd'hui mardi, losque nous calculons l'OM, cela a pour effet de transmettre en comptabilité générale (donc à l'agence comptable). Autre effet, c'est que cela nous INTERDIT toute modification ultérieure ; cela veut dire que lors du retour de l'agent, nous ne pouvons modifier son déplacement en fonction de la réalité de celui-ci.Vous imaginez bien les problèmes que cela va entraîner pour le remboursement.Le problème est soulevé auprès du concepteur afin de débloquer la situation.DONC, EN ATTENDANT, NE PAS CLIQUER SUR "CALCULER". Cela n'empêchera pas la visualisation et l'impression de l'OM (enfin normalement...)."

OM : Ordre de Mission
Rappel : l'Administration paye des services effectués.
Mais là il faudrait que les informaticiens aient suivi notre enseignement à l'IUT en I.O.S. (droit, etc.)
Ce matin , à notre cours de 8 heures : 8 absents sur 25 inscrits.
Un message reçu ce jour
Bof , bof , bof !

A quoi bon spécifier les logiciels ! A quoi bon enseigner les spécifications. Comme l'a demandé notre ministre de l'Enseignement Postérieur, il faut que les étudiants notent les enseignants du supérieur. Cette mesure doit faire partie des propositions du rapport Attali pour l'amélioration de la productivité de l'économie française. Oui, oui ... *

Donc les étudiants qui sont informaticiens depuis leur plus tendre enfance se foutent bien de la spécification et des demandes de ces imbéciles d'utilisateurs qui ne savent pas utiliser leurs logiciels.

Bof, bof ...
tant que ce ne sont pas les mêmes qui font les logiciels embarqués sur l'Airbus, le TGV, le métro !

Je rappelle que ce que nous enseignons à l'IUT est utilisé, a été utilisé pour Meteor, le métro de Calcutta, de New-York, pour la navette de Roissy, etc.

* sur France Culture nous avons appris ce matin que maintenant les élèves traduits en Conseil de discipline pouvaient se faire assister d'avocats. Que les parents attaquaient le lycée si les notes de leurs enfants n'étaient pas bonnes.
Je vois le proviseur chapitrant ses enseignants : faites moi de bonnes notes sinon je vous fais payer les frais de tribunal ...

Qu'en disent les clercs ?

"La démission des clercs ?"

lundi 28 janvier 2008

Notes du test sur l'Atelier B

du groupe 3 sont affichées sur la porte de mon bureau depuis ce matin 9h 30.

Les notes du "DS" sont affichées

Merci aux étudiants des 4 groupes qui m'ont adressé leur auto-notation.
Les notes affichées sont résultat de ma propre évaluation.

Il est vivement conseillé, afin que le contrôle serve à quelque chose, que vous
compreniez vos erreurs ou que vous étudiez ce que vous n'avez pas appris.

En particulier la numération par position !

Il est clair que quand on lit dans une copie de maths en fin de semestre (ouf ! je ne suis pas seul à lire des ...) :
"la somme infinie des entiers positifs est égale à zéro" ....

Les matheux n'ont rien compris ! On peut te piquer sur ce qui est sur ton compte épargne + ce qui est sur ton compte chèque +... et la somme fera zéro .... sur tes comptes !

tu vois les étudiants ont raison ! Il faut bien mettre des bonnes notes. Un peu de psycho voyons !

dimanche 27 janvier 2008

La numération indienne

Complément au corrigé de la dernière question du "DS"*.

"A partir du IIIe siècle, les Indiens avaient donné un nom à chaque puissance de dix jusqu'à 10 puissance 17, de sorte que pour eux, le nombre
523622198443682439
est (en traduisant les chiffres en français et en écrivant, comme les Indiens, les unités en tête, puis les dizaines, etc.) :
neuf et trois dasha et
quatre shata et
deux sahasra et
huit ayuta et
six laksha et
trois prayuta et
quatre vyarbuda et
huit padma et
deux shankha et
six samundra et
trois madhya et
deux antya et
cinq parardha.
Cette notation sanscrite suggère de ne faire apparaître que les chiffres (sans mentionner les termes dasha, shata, etc. ), ce qui conduit à la notation décimale de position"

Celle que nous utilisons depuis qu'elle nous est parvenue via les Arabes et l'Andalousie. Si le vocabulaire est de cardinal 10 on parle de base 10, si il est de cardinal 2, on parle de base 2 et de "numération binaire".

J-P Delahaye
Les inattendus mathématiques, Belin, p. 21

* Il faudrait changer ce nom ! ça fait plusieurs années que les DS n'en sont plus. Appelons-les "contrôles de connaissances (?!) , de compréhension (?!) individuelles faits en amphi"

Test sur l'Atelier B

- Vous disposez du corrigé du test (adressé par courriel
et mis sur le
blog spec1, AVANT le ds spec1)
- Je vous ai fourni le barème mais celui-ci ne
m'a pas été redonné. Je
n'ai pas reçu votre auto-notation (je l'avais
demandé AVANT le Ds de
spec1. Cela aurait évité ....)
- Ne me souvenant pas de ce barème, de toutes
façons non utilisé par vous,
j'ai pris le barème suivant :
Question 1 : sur 2
Question 2 : sur 3. Si vous avez spécifié une
opération qui ne fait rien,
vous avez prouvé qu'elle respecte l'invariant !
La note est 0.
Question 3 : sur 3
Question Spécifications de contraintes :
3 points par contrainte
Question 4 : sur 6
Si vous n'avez pas pris en compte les deux
contraintes (certains ont
changé le sujet pour pouvoir prouver !
espérons qu'en entreprise vous ne
changerez pas la demande du client !)
et que vous avez fait une opération
prouvée et qui enregistre un rattrapage : 2 points.

Bien sûr, j'ai vérifié que pour chaque question :
- vous n'avez pas mis une précondition fausse.
I & P => [Op] I
est vérifié quand I ou P sont faux ! (voir
la table de vérité de =>)
- vous n'avez pas mis une contradiction dans l'invariant
- vous avez bien une opération qui fait une modification :
ceux qui ont écrit quelque chose comme
PRE x : ENS &
x : trucc
THEN
trucc := trucc \/ [x}
END;
ont eu une obligation de preuve triviale !
mais leur opération est inutile !

Tout ce que je viens d'écrire fait l'objet
d'un chapitre du poly. Et j'ai
insisté en TD et en cours.

- les notes seront affichées demain matin.

vendredi 25 janvier 2008

Une perle naturelle ....

Toutes les questions du contrôle se terminaient par " ... sur 1" ou "...sur 5" selon le poids de la question dans la note finale.

A la 9ième question "Qu'est-ce que la semi-décidabilité ?", j'ai eu cette réponse :

"La semi-décidabilité sur 1 est une décidabilité sur 1 presque achevée. La décidabilité sur 1 étant automatique la semi-décidabilité est donc semi-automatique."

J'ai eu peur ! Je m'attendais à "la semi-décidabilité sur 1 est 1/2"

Je suis vache, j'ai mis 0/1 à la réponse. Un bon prof aurait dit "je ne vais pas descendre au 1/2 point ! la notation ce n'est pas comme faire de la mesure en menuiserie !, je mets 0,5. Quel prof sûr de lui qui se permet de descendre au 1/2 point ! "

0, 5 sur 1 , c'est 5/10, 10/20.

Facile ! on fait ainsi pour toutes les questions où on a obtenu un texte. Et tout le monde a au moins 10.

On est les meilleurs !

J'ai vu faire cela. On m'a dit : c'est quand même mieux que de mettre des notes sans avoir lu les copies ! Ben dame !

Comme me disait mon père : "si tu cherches ceux qui font plus mal que toi, tu seras toujours satisfait !"

jeudi 24 janvier 2008

Quelques lectures conseillées

Quelques lectures conseillées :
Merci à Laurent Bloch


Notes sur le langage, la culture et la société
(sans oublier la
fonction publique française) :

http://laurent.bloch.1.free.fr/spip.php?article108

Contre les méthodes de conduite de projet :

http://www.laurentbloch.org/spip.php?article137

Nature du travail informatique :

http://www.laurentbloch.org/spip.php?article138

mercredi 23 janvier 2008

Voici des questions du prochain examen de spec

" Sur un bateau, il y a 12 moutons et 13 chèvres, quel est l'âge du capitaine ?"
"Dans une classe, il y a 7 rangées de 4 tables, quel est l'âge de la maîtresse ?" *
Bon, pour celle-là je donne la réponse de bien des élèves.
"Facile, 7 * 4 = 28, la maîtressse elle a 28 ans"

Bien plus facile que le paradoxe de Bertrand Russell !

Trop facile !

Alors ce sera :

Epiménide le Crétois dit que tous les Crétois sont menteurs.

Alors Epiménide : Menteurs ?
ou
Epiménide /: Menteurs ?

Lisez :
Stella Baruk, C'est à dire en mathématiques ou ailleurs,
"Pour une arithmétique de la liberté ...", Seuil, 1993

et
Stella Baruk, L'âge du capitaine. De l'erreur en mathématiques, Seuil, 1985

C'est Stella Baruk qui a introduit le terme automaths.

Et revoyez Mais où est passé l'euro ? (Les clients, le groom et l'hôtelier) sur ce bloc-notes. Vous faites de "la compta-gestion", avez-vous compris ce qu'est la "comptabilité en parties doubles" ? Vérifiez avec notre spec. Ce sera aussi une occasion d'introduire à notre cours de spec2 sur la communication entre processus.

Avec un faible effort on peut éviter...

de se faire repérer ...

il fait partie et non il fait parti
le parti politique de Dudule
dépendance fonctionnelle et non dépendence fonctionel (surtout quand je vous l'ai écrit correctement sur la feuille de réponse !)

j'ai fourni et non j'ai fournit

et on n'écrit pas en Français :

" car il se raseré lui-même"

Si vous ne faites pas de spécifications formelles, il faudra apprendre la syntaxe du Français !

Décidabilité et semi-décidabilité

J'ai insisté sur ce point. J'ai rappelé ce qui était arrivé à d'anciens étudiants qui avaient envoyé un message sur le forum B en rouspétant parce que l'Atelier, quand ils écrivaient une conjecture fausse, ne leur dise pas que la conjecture était fausse : des correspondants leur ont écrit qu'ils feraient bien d'étudier leur cours !

Et je vous ai dit de vous méfier. Si en stage on vous demande de réaliser certains programmes dont on a prouvé que le problème est indécidable, c'est que soit que le demandeur n'a pas appris ses cours (et alors là, c'est dommage que les stages ne soient pas rémunérés, car il apprendrait le coût de la "non connaissance") ou ... ou qu'il veut tester votre niveau.

Et lire le polycop ou les messages du bloc-notes ou d'utiliser wikipedia ou de consulter les cours de bonnes universités ou ...

Bof ! il suffit de raconter ce qui passe par la tête ! par exemple :
"La semi-décidabilité est ce qui permet de mettre en forme le début de l'Atelier B"
C'est quoi le début de l'Atelier B ? et on peut savoir ce que peut être cette mise en forme ?

ou encore
"La semi- décidabilité c'est la moitié d'une décimale"

ou encore
"C'est le fait d'avoir une décision à prendre face à plusieurs choix possibles, que la machine ne peut faire elle-même, d'où l'obligation de faire des implantations."

ou encore
"... c'est quand l'Atelier B ne veu (sic) pas prouver car c'est "c'est bon mais pas suffisant" (comme condition, précondition, invariant) "
L'Atelier qui veut ! "c'est bon mais pas suffisant"

ou encore
"C'est donc lorsqu'on peut choisir qu'à moitier (sic) "

Un étudiant qui ne sait pas répondre, donne une leçon à l'enseignant :
Je demandais d'expliquer bien et court ce qu'est la semi-décidabilité. Il m'écrit :

"bien et court" peut-être assimilé au terme "conscit". Merci !

Oh Oh !

s inclus dans A
S <: A
se récrit :
s appartient à P * P
s : POW * POW

P étant le P de Powerset

C'est nouveau, ça vient de sortir

Et aussi :

s inclus dans A,
s <: A
se récrit :
s appartient à A.
s : A

Et encore :

s inclus dans A,
s <: A
se récrit :
{s} appartient à A
{s} : A


Et encore :

1 < x+1 < 10 donc
0 < x < 9 donc
x : 0..9
que je viens de lire plusieurs fois.

Et encore :
Une fonction partielle de A vers A est égale au produit cartésien de l'ensemble des sous-ensembles de A par l'ensemble des sous-ensembles de A.


Facile les maths et l'informatique !
Et heureusement que nous avons le bac, premier examen universitaire (oui, oui ! D'ailleurs le jury est présidé par un enseignant de l'enseignement postérieur (pardon, supérieur).

Produit cartésien ...

carthésien,
j'ai déjà trouvé quartésien

... et pourquoi pas quarthésien!

Descartes, celui du poële ..., celui du Prythanée militaire de la Flèche (Pays de la Loire)

Attention à la lecture ...

Un étudiant du groupe 3 a écrit, explicitant son calcul de la plus faible précondition

[x := x + 1] (x : 1..10)

Je rappelle que cela se lit :
la substitution de x + 1 à x établit l'invariant (x appartient à l'ensemble 0..10).
(Et non que x = l'ensemble des entiers de 0 à 10 !!!!)

Voici ce qu'a écrit l'étudiant :

[x := x + 1] (x : 1..9)

alors que la plus faible précondition est x : 1..9
Quand on fait en effet la substitution dans x : 1..10, ça donne :
x+1 : 1..10
ce qui donne (petites classes)
x : 1..9

Tant que x appartient à l'ensemble de 1 à 9 on peut ajouter + 1 à x.
C'est écrit plusieurs fois sur mes pages web et j'ai fait cette manip plusieurs fois en cours
et TD. Et même en couleur !

Ce qu'il a écrit est la plus faible précondition ...
x + 1 : 1..9
ce qui donne :
x : 1..8

Mais on lui a mis la note maxi. C'est qu'on veut être bien noté !
Et on justifie par "il n'a pas fait attention. Mais comme nous sommes télépathe, nous savons que c'est une coquille".

Je vous rappelle le premier vol d'Ariane V et le "dépassement de capacité".
Je vous rappelle aussi tous ces services de distribution d'eau qui, plus le client consommait, plus ils versaient de l'argent au client. ...
car ils ne prenaient pas en compte les changements de compteur. Et comme la consommation est calculé ainsi
Conso = nouvel index du compteur - ancien index du compteur
quand on mettait un nouveau compteur à un index inférieur à l'ancien index de l'ancien compteur, vous qui faites de la compta, vous savez que ...

Et je vous rappelle la dernière question du DS... vous voyez le rapport ?

J'ai eu comme réponse à la question :

voici le résultat du calcul de la précondition :
x : 1..9 & x < 9
ce qui se lit :
x doit appartenir à l'ensemble des entiers de 1 à 9
et x doit être inférieur à 9

Là je n'ai pas mis 1/1 à la réponse !

Est-il encore temps ?

A tous ceux qui m'ont écrit que je ne pouvais écrire :
cardinal de Truc parce que Truc n'était pas un ensemble mais une relation,

J'ai aussi trouvé:

domaine de {1, 2, 3} !

je demande ce qu'ils ont fait pendant les TD d'Atelier B, ce qu'ils ont fait pendant les TD de spec, ce qu'ils ont fait pendant les TD de maths. Je ne parle pas des cours ...

Merci de me répondre. La formation des enseignants est permanente. Et comme je veux être bien noté par ces étudiants pour améliorer l'économie française (application d'une des mesures du rapport Attali ...)

Constat

Un très grand nombre d'étudiants, au bout de plusieurs mois en département informatique d'IUT, NE savent pas comment lire un entier écrit dans une base donnée selon la numération par position
(niveau CM1),

Alors que cela leur a été enseigné par au moins deux enseignants et que la question avait été présentée en amphi et qu'un chapitre du poly traitait la question etc.
ne savent pas ce qu'est une fonction, confondent un prédicat avec une substitution, une expression avec un prédicat, etc.

Le comble est le fait que j'avais posé en test, corrigé, insisté sur les premières questions qui nécessitaient de savoir la différence entre appartenance et inclusion, entre l'ensemble A et le produit cartésien A * A et de savoir ce qu'est une fonction.

Alors savoir ce qu'est un invariant, une précondition !

Conclusion : ce sont les profs qui sont mauvais. Sinon ils auraient de bonnes notes. CQFD*
Et ils n'ont pas adapté leur matière au public. Qu'ils fassent comme les Restau U qui ont mis des fontaines à coca et de la bouffe rapide pour satisfaire leur public. "Education Nationale" vous dis-je !

Je vois déjà ce que donnera la boxologie avec de tels "informaticiens"

* Mais rappel : on sort des DPLG (Diplômés Par Le Gouvernement) mais faut pas exagérer, SGDG (Sans Garantie du Gouvernement).

Merci au groupe 4 pour son auto-notation du DS

Il me reste à noter de mon côté...
J'espère trouver les mêmes notes.

J'aimerais aussi avoir votre auto-évaluation de votre dossier de TD
en prenant en compte les consignes écrites dans le dossier des
sujets de TD.

Encore une autre question

Bonjour,
Pour la question 6.4 Le raffinage,
J'ai mis dans l'invariant:
size(profseq) <= maxprof & ran(profseq) = prof (comme vu en TD de spec1
avec M.HadjRabia)
alors qu'a la correction il est mis seulement ran(profseq) = prof
Ai-je quand même bon ?

Vous aviez le corrigé dans mon polycop page 189. J'y implante un ensemble de portes sur une suite injective. Et la preuve a été faite.

A voir

Ayant parcouru quelques copies ... j'ai mis un corrigé où il n'y a que la partie reliant la variable abstraite à la concrète ... pour avoir des points en plus. MAIS vous avez raison

"Marking scheme", Règles de notation du DS

Comme mes collègues britanniques, je fournis un schéma de notation pour le DS.
Vous disposez du barème de chaque question.

Je détaille :
1.1.1
un point par bonne réponse
1.1.2
bien typé : 0, 5
justification correcte : 1,5
1.2
0,5 par bonne réponse (je ne demandais pas de préciser "prédicat, expression ou substitution" quand c'était mal typé)
moins 1 par mauvaise réponse
Note mini à 1.2 sera 0
1.3
1 si bon, 0 sinon
1.4
1 si bon, 0 sinon
1.5
Un point par question bien répondue
Zéro sinon
Pour la réponse, "Aucune, voici la bonne réponse", veuillez
me communiquer votre réponse si elle est différente de
celle que j'ai fournie. Il y a, en effet, pas mal de réponses
possibles, ne serait-ce que parce que l'on peut utiliser le
langage prédicatif au lieu du langage ensembliste.
2.1
1 si réponse claire. 0 sinon.
2.2
3 si bonne réponse. Si vous n'avez pas mis :
& et : ETUDIANT
& coll : COLLEGE
compter bon (si le reste est bien mis !)
6.4
Complément à l'invariant sur 2, 0 si incomplet ou erroné
Remarque : j'accepte qu'on n'ait pas mis la contrainte sur
la taille de la suite. MAIS bien sûr en aucun cas celui qui
a fourni une réponse comme vous la trouverez dans mon
poly page 189 ont parfaitement bien répondu !
initialisation sur 1
3.1.1
0 si clé incomplète
3.2
un par bonne réponse
moins un par mauvaise réponse
note mini égale à zéro
4
première question sur 1
deuxième question sur 2
0 si réponse fausses. Mais si delta de 1 pour la réponse à 1,
compter 0,5

Note finale à donner sur 20.

mardi 22 janvier 2008

Encore une question d'un étudiant.

Je n'en ai pas reçu pendant l'enseignement.
Elles arrivent maintenant. Il n'est jamais
trop tard dans l'enseignement.
=================================

Pouvez-vous me dire si la question suivante
(Q11 du QCM) peut accepter
cette réponse :
=> Réponse 6; Aucun voici la bonne
réponse : prof =
(etudQuiEstTitulaireDe~;situationAnterieure~)
[{maitrise}]
On donne {maitrise} à etudQuiEstTitulaireDe~
qui nous renvois un ensemble
inclu dans etud. Puis situationAnterieure~
reçoit ce sous ensemble
d'étudiant qui lui même renvois un ensemble
de professeur concerné qui se
trouve finallement égal à l'ensemble des profs,
puis que les profs sont
d'anciens étudiants titulaires de la maitrise.

=======
Réponse :
1) Attention à l'orthographe même sur un
courriel. Mais je sais, on y fait
facilement des coquilles.
envoyer. Je renvoie
finalement
inclus, incluse
2)
etudQuiEstTitulaireDe~: TYPEDEDIPLOME <-> etud &
situationAnterieure~ : etud <-> prof
Donc
etudQuiEstTitulaireDe~;situationAnterieure~)
[{maitrise}]
est bien typé.
Et donne l'ensemble des profs, lesquels sont
d'anciens étudiants titulaires
de la maîtrise. Ca répond bien à la définition
informelle.
Mais je dois reconnaître que "au mieux"
est ambigü. On peut faire mieux que le <:
de ma réponse 5. En remplaçant le <: par =.
C'est la réponse 3.
Donc d'accord pour votre réponse. Votre
spec me semble plus facile à comprendre.
J'avais pensé écrire "qui sont le plus proches
de l'énoncé". Mais il aurait fallu définir
une fonction de proximité !
Contrairement à ce que l'on pense souvent, un QCM
intelligent n'est pas facile à faire.
Mais j'ai abandonné les sujets demandant une
spec car année après année,j'avais des copies
de textes respectant de moins en moins une syntaxe
formelle.
Dommage...

La nouvelle immatriculation des véhicules

Avant :

AEteImmatriculéPar : véhicules * (Date * Date) >+> IMMATRICULAION

/* Un véhicule est immatriculé de telle date à telle date par un et un seul n° d'immatriculation,
lequel n'immatricule qu'un seul véhicule
Mais au cours de sa vie, il peut avoir plusieurs immatriculations */

Maintenant :

AEteImmatriculéPar : véhicules >-> IMMATRICULATION

Exercice :
Spécifier les opérations changementDImmatriculation dans l'ancien système (par exemple quand le véhicule a son propriétaire qui change de département de domicile).
Rechercher la ou les circulaires ministérielles qui précisent si dans le nouveau système, quand un véhicule sera détruit, son immatriculation pourra être réutilisée... et spécifier en conséquence.

C'est bien l'auto-notation

... enfin un contrôle utile. Et un corrigé lu et discuté. C'est tellement rare. Merci à ceux qui en profitent.

Voici un dernier message :

> Bonsoir,
> Je viens de regarder la seconde version de votre corrigé et il y a
> quelques éléments à la question 2.2 que je trouve "étrange". Vous avez
> marqué :
>
> coll:COLLEGE
>
> Or si on marque cela, "coll" n'appartient pas forcément à "college", sauf
> que pour ajouter un nouveau couple à notre fonction partielle, il aurait
> fallut que coll:college.

Je n'ai pas mis cela ? J'ai mis à jour à 7 heures ce matin... j'ai donc fait une c... (d'ailleurs voir le blog)

IL FAUT que coll : college sinon on pourrait mettre dans le co-domaine un college qui n'est pas dans college.

Et est-ce que c'est nécessaire de mettre
> et:ETUDIANT & coll:COLLEGE si on affirme que et:etud et coll:college vu
> qu'on a affirmer dans l'invariant que etud<:ETUDIANT & college<:COLLEGE.

===============
Rappel du cours :

En B on ne fait pas d'inférence de type comme on le fait par exemple dans des langages fonctionnels ou comme on le faisait en BASIC où on ne typait pas explicitement les variables.

Quand on écrivait
5 + A l'interpréteur lisant un entier, puis le + , interprétait le + comme l'addition arithmétique et alors interprétait le A comme un entier. Inférence de type.
Si on écrivait
"toto" + A, le + était interprété comme une concaténation et A comme de type chaîne de caractères.
On dit "polymorphisme de l'opérateur +"


En B on type explicitement. Ce que vous faites c'est de l'inférence de type.
En fait, il se peut que l'Atelier B en fasse parfois. Mais je préfère systématiquement typer. Ainsi si je me plante dans mon typage, l'atelier me le dira.

lundi 21 janvier 2008

Le corrigé du DS de 2008

Vous le trouverez ici. (avec correction de la correction. x : 0.. n , j'ai confondu avec le nombre d'entiers que l'on peut implanter sur le boulier (il faut faire -1 au chiffre fourni))
La feuille de réponse, vous la trouverez ici.

Le sujet sans typo, vous le trouverez ici.
... demain

Et ce message d'un étudiant ... et ma réponse :

 Bonjour,
>
> Pour la question 10 (1.5.10), vous indiquez
comme réponse la numero 4 soit

> : prof <: profQuiEstT itulaireDe~[{maitrise}]. Néemmoins, lors du DS,
> j'ai répondu 3 : prof = profQuiEstTitulaireDe
~[{maitrise}], et elle me

> semble aussi valide. En effet
profQuiEstT itulaireDe : prof -->

> TYPEdeDIPLOME. Or tout les profs
sont titulaires d'une maitrise. donc

> "prof = profQuiEstT itulaireDe~
[{maitrise}]" ou "prof <: profQuiEstT

> itulaireDe~[{maitrise}]" (car ce
n'est pas une inclusion stricte).

> Ais-je tors ? Si oui, ou se situe mon erreur ?

=================
J'ai mis comme réponse celle qui
correspondait au mieux à l'énoncé en
langage naturel. Certes 4 et l'extrait
d'invariant que vous considérez =>
3.
Vous n'avez pas d'erreur. C'est juste
une question d'interprétation de la
question. Donc 1/1 pour vous !
C'est bien les specs formelles !
P.S. : à moins que ce soit une co(q)uille,
attention : tors veut dire
tordu, avoir tord ...
J'ai, ai-je ...
Néanmoins (vient de néant moins)
=================
>
> Autre question, dans le corrigé,
pour le boulier vous dites que Mon Entier

> : 0..n avec n=1296. Or le chiffre
le plus grand est 5555 en base 6

> soit 1296 en base 10 (il se trouve
que j'ai mis 1410 dans le DS à cause

> d'une faute de frappe sur calculatrice
: j'ai écrit 5*5*6+5*6^2+5*6^3 au

> lieu de 5+5*6+5*6^2+5*6^3, mais le
bon résultat est 1295). Donc n=1296 ou

> n=1295 ?
>
Oh ! une calculatrice pour ça. Le crayon
et le papier évite les fautes de frappe.

Vous avez raison. Quand
j'ai rédigé le corrigé j'ai effectivement
eu dans la tête le nombre
d'entiers et non le n de x : 0 .. n.
J'ai changé le sujet par rapport à la
question posée en amphi et je n'ai pas
fait attention.
Attention ! si je vous réponds
bool(n=1296 or n=1295) = TRUE ...
La réponse bonne est n= 1295,
soit avec le 0, 1296 nombres. 1296
étant écrit ici en base dix.
========================
J'ai écrit ce matin note/20 au tableau,
20 étant écrit en base dix !

> Dernière question. Le barème du devoir
est sur 35. Desirez vous récupérer

> les note sur 35 ou preferez vous que
nous la ramenions sur 20 ?

>
> Je vous remercie
================
C'est moi qui vous remercie pour votre
courriel. D'autant plus que je
n'ai pas imprimé le corrigé (et donc
relu sur papier) que je vous ai
adressé ...


Et ce message d'un autre étudiant (je ne
fournis pas les noms car il s'est agi de
courriels "privés") :

1.2
=> Vous dites si c'est un prédicat,
une expression ou une substitution
dans les cas où les 'formules' sont mal
formées or vous avez dit de ne
faire que les bien formées.
====================
Vous avez raison. J'ai mis les * car certains
étudiants (mon expérience des années passées)
ne font pas la différence entre = et :=.
Mais pour vos réponses, vous deviez respecter
le sujet.
=======================
=> bool(card(var1) = card(var2)) vous dites
que c'est un prédicat, mais je
pense que c'est une expression car bool()
transforme un prédicat en
expression.
=====================
Oh ! je n'aurais pas dû regarder/écouter Arte
en tapant le corrigé !
Bien sûr, vous avez raison, j'ai loupé le bool !
Ca n'a pas de sens que de vouloir prouver
TRUE, que de vouloir prouver FALSE.
TRUE, FALSE sont des expressions (ou termes)
=====================
1.5.8
=> Vous donnez la réponse 1 comme bonne :
ensembledesetudiantsdelanationormandie ==
nationDOrigine~[{normandie}]
Or ran(nationDOrigine~) n'est pas un
ensemble d'étudiant !
J'ai répondu la question 5 personellement
car la composition fonctionne,
on met bien [{normandie}] et que
ran(nationDOrigine~;origineEtudiant~))
<: ETUDIANT =================
Oh ! c'est une erreur de frappe. Vous avez raison.
Bien sûr j'ai rédigé la réponse 5 pas par hasard !
==================
2.2 => Vous donnez comme plus faible précondition :

et : ETUDIANT & et /: dom(aPourCollege) &
coll : COLLEGE & et : Coll

Je vois quelques erreurs, premièrement :
et : Coll (un étudiant appartient
à un ensemble Coll qui n'est même pas
un ensemble.

et : ETUDIANT n'est pas assez fort comme
précondition car
dom(aPourCollege) <: etud et non pas dans ETUDIANT.
coll : COLLEGE, même remarque ran(aPourCollege)
<: college et non pas dans COLLEGE.
J'ai donc mis : et : etud & coll :
college & et /: dom(aPourCollege)
======================
Oh ! encore une faute de frappe.
C'est bien votre réponse que j'ai
sur "mon corrigé" papier. La question était
toute simple. Pour respecter la foncion,
il fallait s'assurer que et /: dom(aPourCollege)
et comme l'ensemble source était etud,
il fallait que et : etud et comme l'ensemble
cible était college, il fallait que coll :
college. En effet, il ne fallait pas modifier
ce qui était après le THEN. En fait, j'ai
donné une opération minimale.

===========================
Au sujet de la question 7.2
Plusieurs étudiants m'ont demandé pendant le
DS. "Où est définie r5 ?"
Pour utiliser la notation B, je devais nommer
la partie gauche de : (s1 * s2) +-> s2,
je l'ai nommé r5. Je vous donnais ainsi la
réponse à la question 7.1.1 ! Je ne pouvais quand
même pas mettre r1 à la place de r5 !
Le typage de r5 est respecté par la relation
r1.
========================
P.S. 1 Si vous m'adressez un courriel
avec un texte mathématique, utilisez
la notation ASCII de B. J'ai dû
interpréter le message car mon correspondant
a utilisé une notation inconnue pour
les symboles mathématiques.
P.S. 2 Si
un collègue enseignant veut
les sources Latex de ce sujet,
qu'il me les demande.

dimanche 20 janvier 2008

The B Method: from Research to Teaching

The B Method: from Research to Teaching
16 June 2008
Nantes
France

Call for Papers

In 2008 the University of Nantes will be holding
an extensive series of no less than 22 one-day
conferences in a wide range of subjects from science
and technology, biology and health, and human
and social sciences. These will all take
place at the impressive large modern purpose-built
venue of the "Cite International
des Congress" in the centre of Nantes,
and are expected to attract up to
1250 participants altogether. Within such
a context the above one-day conference on the
B Method will be held on 16 June 2008.

Topics of interest will include
(but will not be restricted to):

* Tool support for software engineering with the B method,

* Teaching environments for the B method,

* The B method in the software engineering
curriculum,

* Combining the B method with other approaches,

* Case studies and exercises featuring
the B method,

* Use of the B method in disciplines other
than software engineering,

* New advances in the B method and their
incorporation into the
teaching curriculum.

SUBMISSION DATE
3 April 2008

NOTIFICATION DATE
1 May 2008

Program Committee
-----------------
Henri Habrias, Universite de Nantes, France [chair]
Rueda Camilo, Universidad Javeriana-Cali,
Cali, Colombia
Steve Dunne, University of Teesside, UK
Michael Leuschel, Heinrich-Heine-Universität
Düsseldorf, Germany
Mike Poppleton, University of Southampton, UK
Dominique Mery, Loria, Nancy, France
Ken Robinson, University of New South
Wales, Australia
Emil Sekerinski, McMaster University,
Canada
Elena Troubitsyna, Åbo Akademi University,
Finland
Mark Utting, University of Waïkato,
New Zealand
Guy Vidal-Naquet, Supelec, Gif-sur Yvette,
France
Istenes Zoltán, Budapest, Hungaria



LOCAL ORGANIZATION
Christian Attiogbé, Pascal André,
Gilles Ardourel, Henri Habrias

It is expected that revised copies of
accepted papers will be published in
Electronic Notes in Theoretical Computer Science
(ENTCS), Elsevier Science
<http://www.entcs.org>.

Merci Arte

Ce qui est bien à la maison, le dimanche matin, c'est que, quand je fais un travail peu gratifiant * (ce matin saisir en latex le corrigé du DS de demain) , je peux écouter la télé (difficile de la regarder, et encore je peux taper sans regarder mes doigts - merci au prof qui quand j'étais étudiant nous a conseillé d'apprendre à dactylographier - ).
Ce matin, Fadela Amara puis l'émission littéraire, puis maintenant Michel Serres (je vous en ai parlé quand j'ai traité du concept de modèle, en citant son exemple de la fable de La Fontaine, Le loup et l'agneau, repris dans mon polycop).
Dimanche dernier, c'était Albert Jacquard
Dimanche prochain, Jacqueline de Romilly que nous avons écoutée il y a deux ans lors de sa conférence à Audencia.

Merci Arte.

Le samedi matin, France Culture
dimanche matin, Arte

Si vous n'avez rien retenu de ce qui est dans ce bloc-notes, retenez au moins ce que je viens d'écrire !

Merci aux enseignants qui m'ont permis de jouir de ces émissions.

* j'espère qu'il y aura au moins un étudiant qui s'en servira. Ecolo, je n'en ferai pas un tirage papier en 100 exemplaires ! au moins j'aurai contribué à la santé de mes étudiants.

"la plus âpre des leçons"

"Il continue à enseigner (...) aussi parce que c'est une leçon d'humilité, cela lui fait comprendre la place qui est la sienne dans le monde. Ce qu'il y a là d'ironique ne lui échappe pas : c'est celui qui enseigne qui apprend la plus âpre des leçons, alors que ceux qui sont là pour apprendre quelque chose n'apprennent rien du tout."

Goetze, Prix Nobel de littérature

samedi 19 janvier 2008

Si vous avez loupé les cours et les td

Vous pouvez toujours lire mes livres :


Henri Habrias, Le modèle relationnel binaire, méthode I.A. (NIAM), Paris, Eyrolles, 1988, ISBN : 2-12-08169

Henri Habrias, Introduction à la spécification, préface de Hervé Gallaire, présentation par Michael Jackson, Masson, 1993, ISBN : 2-225-82768-0

Henri Habrias, La mesure du logiciel, 2ième édition, corrigée et augmentée, Teknea, 1994, ISBN : 2-87717-045-4

David Lightfoot, La spécification formelle avec Z, traduit par H. Habrias, Teknea, 1994, ISBN : 2-87717-038-1

Henri Habrias, Dictionnaire encyclopédique du génie logiciel, Préface de Jean-Pierre Finance, Masson, 1997, ISBN : 2-225-85328-2

Henri Habrias, Les paradigmes des méthodes d’analyse et de conception in Génie logiciel: principes, méthodes et techniques A. Strohmeier, D. Buchs (Publié sous la direction de), 1996,Presses Polytechniques et universitaires romandes, ISBN:2-88074-296-X

Henri Habrias, Bibliographie commentée d’introduction aux spécifications formelles in Applications des techniques formelles au logiciel, ARAGO N° 20, Observatoire Français des Techniques Avancées, OFTA, Editions Tec & Doc, 1997, ISBN : 2-9060-2806-1

Henri Habrias, Lexique de l’objet et des composants logiciels in Architecture de logiciels et réutilisation de composants, ARAGO N° 24, Observatoire Français des Techniques Avancées, OFTA, Editions Tec & Doc, 2000, ISBN : 2-906028-10-X

M. Frappier, H. Habrias - Software Specification Methods, An Overview Using a Case Study, FACIT, Springer, 2000, ISBN : 1-85233-353-7
Site web associé, livre épuisé.

Une critique de ce livre.
Ils l'utilisent : lien1, lien 2, lien 3

Henri Habrias, Spécification formelle avec B, Lavoisier-Hermes, 2001, ISBN : 2-7462-0302-2

Henri Habrias, Petit dictionnaire à l'usage des lecteurs novices d'Abélard, Univ. de Nantes, 2001, ISBN : 2-906082-30-9

Jean Jolivet, Henri Habrias, Pierre Abélard à l'aube des universités, Unv. de Nantes, 2001, ISBN : 2-906082-31-7

Jean Jolivet, Henri Habrias (sous le direction de), Pierre Abélard, Colloque international de Nantes, PUR, ISBN : 2-86847-777-1, 2003


Henri Habrias, Marc Frappier, Software Specification Methods, Edition 2004, ISTE, U.K., USA, ISBN : 1-905209-34-7
nouveaux participants : E. Börger (ASM), L. Lamport (TLA), D. Cansell, D. Méry (Event B), et une classification des méthodes et un dictionnaire des termes utilisés.


et le polycopié en ligne


Henri Habrias, Spécifications avec B, IUT de Nantes, départ. informatique, 2007

vendredi 18 janvier 2008

"C'est peut-être vrai en théorie, mais en pratique c'est faux."

L'art d'avoir toujours raison

Un petit livre de Schopenhauer, dans la collection Mille et Une Nuits, 2000 (100 pages, je sais que 100 pages même format 10 x 15 cm ça peut faire peur à un étudiant "nouvelle génération" (coco, "de nouvelle génération" ç'est trop schnock !)) mais on ne sait jamais ...

Extrait

"Stratagème 33
"C'est peut-être vrai en théorie, mais en pratique c'est faux." Grâce à ce sophisme, on admet les fondements tout en rejetant les conséquences ; en contradiction avec la règle a ratione ad rationatum valet consequentia (la conséquence tirée de la raison première valide le raisonnement). Cette affirmation pose une impossibilité : ce qui est juste en théorie doit aussi l'être en pratique ; si ce n'est pas le cas, c'est qu'il y a une erreur dans la théorie, qu'on a omis quelque chose, qu'on ne l'a pas fait entrer en ligne de compte ; par conséquent, c'est également faux en théorie."

Documents qui vous ont été adressés par courriel

J'ai adressé à tous :
- un texte sur la phrase d'Aristote, les ensembles et les relations et le dossier Nabuco
- un texte sur le cas Porte-monnaie
- une spec et exo sur l'administration d'un DESS

jeudi 17 janvier 2008

Le DS c'est lundi prochain

Conformément au planning qui se trouve dans le "livret étudiant" distribué en sept 2007.

Les dossiers de TD seront à fournir (comme prévu et comme écrit dans le dossier des sujets) lors de la remise de votre copie.
La règle de notation est écrite dans le dossier des sujets.

Le barème sera fourni sur le sujet. Le corrigé sera fourni via ce bloc-notes. Vous pourrez vous auto-noter. Cela s'appelle la transparence.

Les notes ne sont pas négociables.

La chaire de Gérard Berry au Collège de France

ICI

Merci à France Culture de nous avoir informé ce matin.

Le Collège de France, créé par François 1er, c'est gratuit. C'est à Paris, mais les confs sont disponibles grâce au web

Esterel, ça rentre dans le cadre de Spec2 que je vais commencer la semaine prochaine.

mardi 15 janvier 2008

Ce que j'ai fait lors du cours du 14 janvier

- J'ai attendu le silence. Que ceux qui viennent en cours comme à la cafet, sèchent mon cours !
Maintenant il est interdit de fumer dans les lieux publics et pas seulement dans l'amphi !

Ils permettront aux étudiants désirant travailler (est-ce travailler que de faire des études ?) de le faire confortablement.

- Le cours détaillé était disponible écrit sur mes pages web et sur le poly et dans mes livres ... j'ai dégagé l'essentiel illustré par des exemples :

- la normalisation des schémas relationnels n-aires (rappel : un tel schéma est un INVARIANT)
: réduire la redondance.
- pourquoi la "4ième forme normale" et la "cinquième" . Définitions et illustrations.
- les opérateurs relationnels : sélection, jointure, projection
- exemples d'arbres de calcul de résultats de requêtes
- et un peu de boxologie : on a mis en boîte ce qui s'écrivait en quelques lignes. D'aucuns appellent de tels dessins des "modèles con ceptuels de données" et des ficelles "relations" comme si quand dans une boite on écrit (N° client, nom, ville) ce n'était pas le schéma d'une relation n-aire !!!
Au fait, nos dessins font partie de la "méthode Merise".

J'ai adressé à tous par courriel, un dossier complet et d'un cas réel : la spéc de l'organisation d'un dess (emplois du temps, intervenants, contrôles, notes, présences) en schémas relationnels n-aire, notation de Ted Codd (prix Turing)

J'ai mis dans le casier de chaque groupe un exemplaire papier de mes pages web sur le modèle relationnel.

Enfin, je vous adresse ce jour, le sujet et le corrigé de mon test en "AGL". Questions comparables vous l'avez vu dans le sujet du ds à venir.

jeudi 10 janvier 2008

L'informatique et les Indiens

voir
http://www.voyageindedusud.blogspot.com

Ce que j'ai fait lors du cours du 8 janvier 08

Comme annoncé, j'ai traité du "modèle relationnel n-aire".
J'ai fait du "conceptuel". Oui oui.
D'aucuns disent que quand on fait des boites et des ficelles c'est "du MCD, modèle conceptuel de données". .. et que quand on fait des parenthèses, c'est du "modèle logique de données, MLT). Foutaises ! Le MCD ne serait pas logique !
Relations, Ensembles c'est conceptuel !
J'ai traité des définitions des "formes normales" de schémas relationnels.
Un schéma relationnel EST UN INVARIANT.
Une "contrainte d'intégrité référentielle" c'est tout simplement une contrainte de sous-ensemble.
Derrière le mot "clé", rien de plus que celui de fonction !

Un schéma en 1ère FN est un schéma qui impose à tous les constituants des relations de prendre leurs valeurs dans des ensembles d'atomes (les SETS de B)...
Le cours est sur le poly et sur les pages web pointées dans un précédent courriel.

Mais bien peu d'étudiants sont allés lire ces pages. J'ai des chiffres !

Voir http://www.lefenetrou.blogspot.com