Et si on voulait enseigner la programmation?

Voir le sujet précédent Voir le sujet suivant Aller en bas

Et si on voulait enseigner la programmation?

Message par yphrog le Dim 1 Avr 2012 - 20:18

Merci à _yann_, Jean-no et grincheux pour la discussion de la programmation, je suis allé à la peche et j'ai découvert quelques paragraphes écrit simple comme je les aime pour découvrir un sujet: http://fr.wikipedia.org/wiki/Lisp#Syntaxe

Ce qui m'a fait lire un article qui me donne envie de créer un fil, en espérant que ce ne soit pas rédundant. A partir de ce que j'ai pu comprendre de la présentation chez Wikipedia (et une idée de l'intéret de XML), j'ai pu comprendre l'enthousiasme de l'auteur pour l'idée que tout code est donnée. The Nature of LISP | How to Learn LISP

L'idée d'apprendre LISP et EMACS à ce moment de ma vie est intimidante (daunting, more exactly). Mais je me demande si cela na vaudrait pas l'effort -- comme beaucoup de dilettantes sans doute.

Par contre, quand je vois un des boites qui embauchent des LISPers (http://www.synapticmash.com/) je me pose des questions...

ANT = Another neat tool ... http://ant.apache.org/ ... U2knBeANT


*Il y en a d'autres que cela perturbe qu'on n'enseigne que les produits MS, pomme, FB, google, etc.?
*Des idées pour changer cela?

grammar question: en espérant que ce n'est pas gagne son googlejoust 2:1 contre le subjonctif. C'est au choix?



Dernière édition par xphrog le Ven 6 Avr 2012 - 12:46, édité 1 fois (Raison : syntax error)

yphrog
Grand sage


Revenir en haut Aller en bas

Re: Et si on voulait enseigner la programmation?

Message par yphrog le Mar 3 Avr 2012 - 17:49

Juste un lien vers un site qui est devenu assez connu en peu de temps.

http://www.codecademy.com

découvert dans l'article Where's _why? chez Slate (en).

_________________
ok


yphrog
Grand sage


Revenir en haut Aller en bas

Re: Et si on voulait enseigner la programmation?

Message par Le grincheux le Ven 6 Avr 2012 - 12:39

xphrog a écrit:Merci à _yann_, Jean-no est grincheux pour la discussion de la programmation, je suis allé à la peche et j'ai découvert quelques paragraphes écrit simple comme je les aime pour découvrir un sujet: http://fr.wikipedia.org/wiki/Lisp#Syntaxe

Ce qui m'a fait lire un article qui me donne envie de créer un fil, en espérant que ce ne soit pas rédundant. A partir de ce que j'ai pu comprendre de la présentation chez Wikipedia (et une idée de l'intéret de XML), j'ai pu comprendre l'enthousiasme de l'auteur pour l'idée que tout code est donnée. The Nature of LISP | How to Learn LISP
Attention, le LISP, c'est de la programmation principalement fonctionnelle. Je ne suis pas sûr que ce soit un bon paradigme pour un débutant (comme le paradigme objet n'est à mon avis pas une bonne chose pour le même débutant).

L'idée d'apprendre LISP et EMACS à ce moment de ma vie est intimidante (daunting, more exactly). Mais je me demande si cela na vaudrait pas l'effort -- comme beaucoup de dilettantes sans doute.

Par contre, quand je vois un des boites qui embauchent des LISPers (http://www.synapticmash.com/) je me pose des questions...

ANT = Another neat tool ... http://ant.apache.org/ ... U2knBeANT


*Il y en a d'autres que cela perturbe qu'on n'enseigne que les produits MS, pomme, FB, google, etc.?
Il y a au moins moi.

*Des idées pour changer cela?
Faire des cours d'algorithmie (des cours sérieux), donc sur de la programmation procédurale ou impérative, avec un langage indépendant d'un quelconque éditeur de logiciel. L'idéal est pour moi un apprentissage avec Fortran suivi de l'apprentissage du C une fois que les bases sont acquises. Une fois qu'on a fait ça, on peut attaquer sereinement les langages abjects pardon objets. Wink

Mais cela signifie que ces cours soient fait par des gens qui maîtrisent parfaitement les outils et que l'horaire associé ne soit pas réduit à la portion congrue.

grammar question: en espérant que ce n'est pas gagne son googlejoust 2:1 contre le subjonctif. C'est au choix?


_________________
Le carnet du grincheux
Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
http://loubardes.de-charybde-en-scylla.fr/

Le grincheux
Sage


Revenir en haut Aller en bas

Re: Et si on voulait enseigner la programmation?

Message par yphrog le Ven 6 Avr 2012 - 13:20

Merci beaucoup de ta réponse.

Mes excuses à toi et à Jean-no pour la belle coquille. Embarassed

valeur pédagogique de markup, CSS, organisation par mot-clé ?

Une expérience que j'ai faite en salle info l'année dernière se faisait à partir d'une page wiki, où tout le monde travaillait sur un projet de visualisation de vocabulaire. (recherche google images). Entretemps, je montre à un groupe comment changer la couleur d'un ligne en editant le source.

Ils ont bien aimé pourrir les pages de leurs voisins avec du light pink et du midnight blue. W3 color names

J'ai toujours voulu enseigner HTML et CSS, ce qui me semble faisable au collège. Mais pas en tant que prof d'anglais.

Je me demande à partir de quel niveau (3e?), l'introduction à la programmation procédurale ou impérative est envisageable.


Dernière édition par xphrog le Ven 6 Avr 2012 - 13:22, édité 1 fois

_________________
ok


yphrog
Grand sage


Revenir en haut Aller en bas

Re: Et si on voulait enseigner la programmation?

Message par Le grincheux le Ven 6 Avr 2012 - 13:22

xphrog a écrit:Merci beaucoup de ta réponse.

Mes excuses à toi et à Jean-no pour la belle coquille. Embarassed

valeur pédagogique de markup, CSS, organisation par mot-clé ?

Une expérience que j'ai faite en salle info était à partir d'une page wiki, où tout le monde travaillait sur un projet de visualisation de vocabulaire. (recherche google images). Entretemps, je montre à un groupe comment changer la couleur d'un ligne en editant le source.

Ils ont bien aimé pourrir les pages de leurs voisins avec du light pink et du midnight blue.

J'ai toujours voulu vraiment enseigner HTML et CSS, qui me semble faisable au collège. Mais pas en tant que prof d'anglais.

Je me demande à partir de quel niveau (3e?), l'introduction à la programmation procédurale ou impérative est envisageable.

La programmation impérative, à partir de la 6e, si ce n'est pas abordé n'importe comment. Pour la procédurale, je pense qu'il faut attendre le lycée.

_________________
Le carnet du grincheux
Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
http://loubardes.de-charybde-en-scylla.fr/

Le grincheux
Sage


Revenir en haut Aller en bas

Re: Et si on voulait enseigner la programmation?

Message par yphrog le Lun 9 Avr 2012 - 22:46

intéressant que tu mets la modularisation après les imperatifs. C'est bien d'apprendre à parler effectivement dans le mode impératif (qui inclut quand même les conditionnels) avant d'élargir.

Mais par contre Formula translation me rappelle trop ma mère qui alimentait un gros machine avec des cartes. Je suis désolé, le grincheux, mais c'est viscéral.

Et PERL, c'est tellement plus poétique. (Pearltrees a bien compris l'aspect marketing Very Happy)

LarryWall a écrit:Type | Char | Example | names:
Scalar | $ | $cents | an individual value

-- Programming Perl, p. 6

Au passage, je note que la double barre sur le dollar a été simplifié par Big Blue sans doute (toute cette belle histoire coloniale de pillards escamotée) en faveur de la seule barre d'aujourd'hui.

Un des plus connus de poèmes de Wall:
http://en.wikipedia.org/wiki/Black_Perl

_________________
ok


yphrog
Grand sage


Revenir en haut Aller en bas

Re: Et si on voulait enseigner la programmation?

Message par Le grincheux le Lun 16 Avr 2012 - 19:56

xphrog a écrit:intéressant que tu mets la modularisation après les imperatifs. C'est bien d'apprendre à parler effectivement dans le mode impératif (qui inclut quand même les conditionnels) avant d'élargir.

Mais par contre Formula translation me rappelle trop ma mère qui alimentait un gros machine avec des cartes. Je suis désolé, le grincheux, mais c'est viscéral.

Et PERL, c'est tellement plus poétique. (Pearltrees a bien compris l'aspect marketing Very Happy)
C'est pour moi avec Python, l'un des pires langages qui se puissent exister.


LarryWall a écrit:Type | Char | Example | names:
Scalar | $ | $cents | an individual value

-- Programming Perl, p. 6

Au passage, je note que la double barre sur le dollar a été simplifié par Big Blue sans doute (toute cette belle histoire coloniale de pillards escamotée) en faveur de la seule barre d'aujourd'hui.

Un des plus connus de poèmes de Wall:
http://en.wikipedia.org/wiki/Black_Perl

_________________
Le carnet du grincheux
Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
http://loubardes.de-charybde-en-scylla.fr/

Le grincheux
Sage


Revenir en haut Aller en bas

Re: Et si on voulait enseigner la programmation?

Message par yphrog le Mar 17 Avr 2012 - 1:14

@Le grincheux a écrit:
C'est pour moi avec Python, l'un des pires langages qui se puissent exister.

Enoncé étrangement excitante. Laughing

Why?


_________________
ok


yphrog
Grand sage


Revenir en haut Aller en bas

Re: Et si on voulait enseigner la programmation?

Message par Le grincheux le Mar 17 Avr 2012 - 9:27

xphrog a écrit:
@Le grincheux a écrit:
C'est pour moi avec Python, l'un des pires langages qui se puissent exister.

Enoncé étrangement excitante. Laughing

Why?


Perl est assez (trop) souvent "write only". Lorsqu'un programme devient complexe, c'est une horreur à débugguer. Quant à Python, je n'ai rien contre l'indentation, mais utiliser la seule indentation pour délimiter des blocs est assez casse-gueule parce qu'il existe un certain nombre d'éditeurs qui remplacement les tabulations par un certain nombre d'espaces (et réciproquement), faisant exploser joyeusement les programmes Python. Python est dans sa philosophie un descendant du BASIC, un truc fait à la va-vite avec beaucoup d'utilisateurs parce qu'il est prétendûment simple et accessible. Mais cela reste un mauvais langage aux concepts absolument pas orthogonaux entre eux.

Par ailleurs, Perl et Python sont incompatibles d'une version à la suivante (comme php d'ailleurs, une autre calamité). Aujourd'hui, la solution est une ocuche de compatibilité pour Perl et l'installation en parallèle de plusieurs version de python. Pour php, c'est plus amusant, il faut lui demander de ne pas envoyer les erreurs sur la sortie standard en espérant que tout se passe bien.

Cela fait maintenant quelques années que je travaille sur la sémantique des langages de programmation (par la bande, mon truc à la base, ce sont les mathématiques amusantes) et pour moi, un bon langage de programmation doit respecter les conditions suivantes :
1/ il doit permettre un fonctionnement fonctionnel impur et procédural selon les points de vue (le fonctionnement impératif est implicite) ;
2/ il doit avoir un préprocesseur limité ;
3/ tous ses concepts doivent être orthogonaux (qu'on ne se mélange pas les pinceaux entre autres avec des mutexes et des sémaphores non partagés parce que non averti va immédiatement se tirer une balle dans le pied) ;
4/ il doit nativement posséder tous les mécanismes nécessaires à la gestion du système (sans passer par des bibliothèques dépendant du système) ;
5/ il doit comporter des blocs et des structures de programmation explicites ;
6/ il ne doit pas être objet parce que dans un programme bien conçu, les données procèdent des traitements et non l'inverse (et au passage, ça évite les problèmes amusants d'héritages multiples et de vtables qui sont une calamité en terme d'utilisation de ressources). SI le traitement procède des données (cas des langages objets), on est contraint à traîner des méthodes dans les objets, ce qui semble élégant, mais qui est toujours une source d'ennuis indémerdables et de complexification du code ;
7/ il ne doit rien faire dans le dos de l'utilisateur (je pense à la gestion de la mémoire et aux ramasse-miettes) ;
8/ s'il est à inférence de type, ça n'est pas plus mal.

Avec toutes ces hypothèses, on peut déjà construire un langage intéressant et parfaitement fonctionnel...Wink

_________________
Le carnet du grincheux
Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
http://loubardes.de-charybde-en-scylla.fr/

Le grincheux
Sage


Revenir en haut Aller en bas

Re: Et si on voulait enseigner la programmation?

Message par yphrog le Sam 28 Avr 2012 - 14:40

3/ tous ses concepts doivent être orthogonaux (qu'on ne se mélange pas les pinceaux entre autres avec des mutexes et des sémaphores non partagés parce que non averti va immédiatement se tirer une balle dans le pied)

me rappelle le problème de "doublons", mais là je suis vite dépassé et risque de me tirer une balle dans le nageoire. Merci pour la piste de lecture!

4/ il doit nativement posséder tous les mécanismes nécessaires à la gestion du système (sans passer par des bibliothèques dépendant du système)

o le curioissimme homo faber, qui veut de la liberté petitdrapeau

dans un programme bien conçu, les données procèdent des traitements et non l'inverse

un peu comme en statistique du spectacle. Serieusement, nous-ôt fourmis taguons nos données, un logicel bien conçu devrait pouvoir reconnaitre une structuration des données, non? When does the program begin and end? Peut-être suis-je trop peu formaliste, mais ayant travaillé dans les mines de données (comme bien d'autres), j'ai du mal à saisir ... et je n'ai pas encore mangé mes vtables, ni épluché mes heritages. Embarassed

SI le traitement procède des données (cas des langages objets), on est contraint à traîner des méthodes dans les objets, ce qui semble élégant, mais qui est toujours une source d'ennuis indémerdables et de complexification du code

Il faut que je lise beaucoup plus, pour pouvoir passer le nouveau CAPES d'informatique. Si j'attends le moment où j'aurai tout compris pour vous remercier de ce post, euh... Smile




_________________
ok


yphrog
Grand sage


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum