Archive for Enseignement

[:fr]Il n’y a pas d’age …[:]

[:fr]

Il n'y a pas d'age pour apprendre ... : 

  SQL fait de la comparaison de chaine case-insensitive 
avec les configurations habituelles (en tout cas avec les miennes !) 

  select * from xxx where name="UnNom" 

donnera les mêmes résultats que 

  select * from xxx where name="unnom" 

Cela peut être utile, mais parfois très génant ... 

Faire du case-insensitive à partir de case-sensitive, 
c'est facile (lower(...)), 
mais l'inverse ? 

La réponse : une évaluation binaire (à explorer) !!!

[:]

[:fr]1+1?[:]

[:fr]En ce début d’année, les informaticiens sont moqueurs, ils ressortent de vieilles blagues. Mais comme cela parle de représentation de l’information, cela vaut la peine de le noter pour ne pas l’oublier.

Question : vous savez pourquoi les informaticiens confondent Noël et Halloween ?
Réponse : c’est évident, c’est parce que 25 Dec = 31 Oct !

 

Affirmation : Il n’y a que 10 types de gens sur la terre, ceux qui comprennent le binaire et les autres. (variante : il n’y a que 11 types de gens sur la terre, ceux qui comprennent les codes de Gray et les autres).

 

Une dernière, combien faut-il d’informaticiens pour changer une ampoule ? Réponse : 10, un pour tenir la chaise, un pour changer l’ampoule.

 

 

 [:]

[:fr]Aiii ![:]

[:fr]

C’est pas pour dénoncer les copains, mais sur la TI-82 stats.fr, ils utilisent un algorithmes pour calculer les puissances de i qui n’est pas tout à fait au point. En principe, comme i2 = -1, on devrait avoir i3 = -i, i4=1 et on recommence i5=i, i6=-1, i7=-i, i8=1, c’est cyclique …

Malheureusement, on a plutôt :

  • i2 = -1 (jusqu’ici tout va bien),
  • i3 = -i (jusqu’ici tout va bien),
  • i4=1 (jusqu’ici tout va bien),
  • i5=i (jusqu’ici tout va bien),
  • i6=-1 (jusqu’ici tout va bien),
  • i7=-3 10-13-i (Aiii ! ce devrait être juste -i, un imaginaire pur) ,
  • i8=1-2 10-13i (Aiii ! ce devrait être juste 1, un réel pur),
  • et ainsi de suite (sauf par chance un calcul, de temps en temps qui tombe juste, ex. : i10=-1) …

(maudit calcul scientifique ! il semble qu’il y ait eut le même problème autrefois avec matLab ou sciLab (?))

 

rem. avec les puissances de (1+i), cela donne le même genre de résultat, ex. : (1+i)14=-3.84 10-11-128i (au lieu de -128i seulement)

[:]

Caractères spéciauxSpecial chars

Pour une application web, il faut s’attendre à ce qu’une chaine de caractères issue d’un input, d’un prompt ou d’une textarea passent par du javascript, une url, php, du sql, du json et revienne en html, css, svg, en alert via le mail ou dans un eval ou une expression régulière.

Dans l’ordre alphabétique :

  • alert
  • css
  • eval
  • expression régulière
  • html
  • input
  • javascript
  • json
  • mail
  • php
  • prompt
  • sql
  • svg
  • textarea
  • url

Où l’on trouve des langages de programmation, des formats de données, des fonctions et des formats de communication.

Il ne faut pas espérer qu’une chaine de caractères puisse traverser tout cela sans soucis. Et malheureusement, les embuches dépendent de l’étape.

Les caractères gênants peuvent être (selon l’étape) :

  • les lettres accentuées ou comportant de petits ajouts : à, é, ê, ç, ñ, …
  • les caractères délimitant : « , ‘, <, >, [, ], …
  • les caractères d’échappement : \, &, …
  • les caractères spéciaux : $, _, ?, =, …

Pour constater l’étendue du problème, regarder ce qui est dit, juste pour certains langage de programmation : http://rosettacode.org/wiki/Special_characters

Evolutions pédagogiquesCursus changes

D’une année à l’autre, les cours changent. Ce ne sont pas forcément de gros changements. Les étudiants (redoublants ou pas) ne le voient pas forcément. Mais dans les détails, il y a souvent des tentatives, modifications, etc.

Par exemple, pour le cours de PLC, que j’effectue en L3-Miage, à Grenoble, depuis une demi-douzaine d’années, il y a eu :

  • Variations sur le contenu :
    • Versions avec +/- de gel et pseudo-parallélisme
    • Versions avec +/- d’arbres infinis rationnels et d’algorithmique des graphes
    • Versions avec -/+ de langages formels
    • Versions avec différentes présentations/explicitations/formalisations de la récursivité
  • Variations sur le cours/td :
    • Versions avec -/+ de démo dans le cours (dont première séance, en particulier)
    • Versions avec -/+ d’algorithmique
    • Versions avec -/+ d’exercices en cours
  • Variations sur les documents :
    • Versions avec -/+ de documents
    • Versions avec vidéos
    • Versions avec documents sur web perso/Moodle
  • Variations sur ProLog :
    • Versions avec arbre/listes de listes
    • Versions avec +/- d’arithmétique
    • Versions avec swi/edba
  • Variations sur EDBA
    • Versions avec -/+ d’exercices enregistrés
    • Versions avec -/+ d’exercices associés aux tp
    • Versions avec -/+ d’aide
    • Versions avec -/+ d’arithmétique aidée
  • Variations sur les tps :
    • Version avec 1 tp en salle + 3 tp pour le cc à la maison
    • Version avec 2 tp pour le cc à la maison
    • Version avec 1 tp en cours + 2 tp pour le cc à la maison
  • Variations sur les CC en cours :
    • Version avec des 2 CC + 1 QCM
    • Version avec des 2 CC dont un avec sujet double
    • Version avec 1 CC
    • Version avec x CC de 1h/1h30
  • Variations sur les examens :
    • Versions avec +/- d’exercices indépendants
    • Versions avec +/- de questions indépendantes

Pour autant, la matière reste difficile et les résultats des étudiants aux examen à peine satisfaisants.