PureBasic au Lycée

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
7dav77
Messages : 14
Inscription : jeu. 14/mai/2009 16:06

PureBasic au Lycée

Message par 7dav77 »

Résumé :
La programmation est introduite au lycée l’an prochain. Or on manque de langages pour initier les élèves. PureBasic pourrait occuper ce créneau à condition d’être adapté.


Je suis prof de math. Je voulais vous signaler ceci : en seconde, l'an prochain, le nouveau programme de mathématiques (fraîchement publiés) introduit de "l'algorithmique". Il va donc y avoir une demande très forte pour un langage simple, accessible au débutant (je ne parle pas que de l’élève : mes collègues ne sont pas tous des fanas de programmation et de fait, ce n’est pas leur métier), mais offrant aussi la possibilité d'évoluer à ceux qui seront intéressés.
Or pour l’instant, il n’y a rien qui convienne. J’ai testé des tas de trucs, mais qui sont inadaptés. Cela fait plusieurs années que j’initie les élèves à la programmation (sans que les textes officiels ne me demandent rien, d’ailleurs, et c’est même peut-être pour ça) et j’ai eu le temps de faire un peu le tour de la question.

Lorsque j’étais élève en troisième, l’Amstrad venait d’arriver. J’avais de nombreux camarades qui, comme moi, s’amusaient à programmer en Basic. Dès la première ligne, il se passait quelque chose, on avait envie de continuer. C’était simple, on n’était pas bloqué dès le début par des trucs à déclarer, une fenêtre à ouvrir, un écran graphique à initialiser, un pilote à mettre à jour. Le manuel était très bien foutu. La vie était simple.

Et puis le troisième millénaire est advenu. Pas de voitures volantes, ni de robot pour faire mon ménage. Mon ordinateur a un microprocesseur trois mille fois plus rapide et une mémoire trois millions de fois plus grande, mais il boote trente fois plus lentement. Le TO7 a disparu, c’est déjà ça.

Aujourd’hui, pour tracer un bête segment, même en PureBasic il faut préalablement entrer quatre lignes :

Code : Tout sélectionner

InitKeyboard()
InitSprite()
OpenWindow(0,0,0,400,400,"Tracer un segment",#PB_Window_TitleBar)   
StartDrawing(WindowOutput(0))     
Pour vous autres, ce n’est rien. Pour un Pure débutant, c’est un mur qu’il ne franchira jamais.
La preuve de ce que j’avance, c’est qu’aujourd’hui, dans mes deux classes de seconde (où il y pourtant des esprits vifs et curieux), aucun élève n’avait jamais écrit la moindre ligne de programme avant que je ne leur montre (leur eusse montré) de quoi il s’agissait. Pour prendre une comparaison, il y a toujours autant de lycéens guitaristes autodidactes, mais presque plus qui programment par eux-même. Vous allez me dire que le prof n’a qu’à balancer les quatre lignes en question et dire à l’élève de ne pas s’en préoccuper pour commencer, mais c’est oublier que le prof lui-même est souvent un débutant.

Résultat : puisqu’il va bien falloir s’y mettre, des petits malins vont nous pondre vite fait des petit langages ineptes, genre logo bâclé ou SmallBasic et les vendre à prix d’or aux établissements. Et ces malins vont gagner beaucoup d’argent. Ce n’est pas un mal en soi, mais je préfèrerais que cet argent aille dans la poche de quelqu’un qui le mérite (par exemple le concepteur de PureBasic). Je voudrais surtout que les élèves débutent avec un langage qui leur donne envie d’aller plus loin.

Pure Basic a des atouts indéniable pour occuper ce créneau. Si une génération d’élève était formée avec, cela serait, pour sa promotion, tout bonnement inestimable. Pour l’instant, je trouve que ce langage n’a pas la reconnaissance qu’il mérite.


Les atouts de Pure Basic (pour ce qui nous concerne ici) sont :

- Il s’appelle « Basic ». Certains ont souligné que ce nom pouvait le desservir auprès des pros, ici c’est un avantage.
- Il est écrit par un français.
- L’aide est en français et très claire. C’est fondamental.
- Il garde du Basic une certaine simplicité (relative).
- Il ressemble pas mal au Pascal, langage à connotation pédagogique, que de nombreux profs ont abordé en fac.
- Il est assez bien référencé sur le net, avec des avis très positifs. On sent qu’il a ses partisans enthousiastes, ça donne envie.
- Il permet, une fois qu’on a passé l’étape d’initiation, de s’amuser vraiment sans se prendre la tête.
- Il permet, une fois qu’on s’est amusé, de faire à peu près ce qu’on veut.
- Il commence à avoir un passé, donc il a fait ses preuves, donc il a un avenir. C’est important, parce qu’on a pas envie de se lancer avec un langage qui risque de disparaître dès le lancement d’un nouveau Windows. Là, on peut compter sur des mises à jour. Il faut penser à ceux qui, comme moi, se remettent à programmer en dilettante et qui en ont marre de récrire régulièrement leur jeu de la vie tous les cinq ans.

Plus les avantages bien connus des pros (comme la portabilité).


Les inconvénients sont ;

- Avant d’écrire son premier programme, il faut déjà avoir une idée de ce qu’est la programmation et s’être bien baladé dans l’aide.
- C’est un langage compilé (mais là, c’est comme ça).
- Le Chuckie Egg en pure basic est certes méritoire, mais n’a pas la sobre perfection de celui de l’Amstrad.


Je propose donc quelques idées (j’en ai d’autres, si ça vous intéresse) :

-Ajouter à Pure Basic, dans sa version de base (sans que le programmeur ait besoin d’introduire une nouvelle bibliothèque), quelques instructions permettant au débutant de se lancer immédiatement, en UNE ligne, aussi bien pour du texte que pour des dessins. Qu’on puisse tracer un segment directement, en une instruction. Rien à ouvrir rien à déclarer.
Idéalement, il faudrait assurer la transition avec les calculatrices programmables.

-Une Console plus élaborée. Par exemple, avec une fonction Input() qui permette d’entrer des nombres directement sans avoir à manipuler des chaînes. Idem pour Print(). Une fenêtre moins rudimentaire. La possibilité d’afficher des accents.

-Un site dédié aux enseignants non programmeurs, dont l’existence serait signalée sur les forums des profs (comme celui de l’APMEP).

-Un manuel très pédagogique (idéalement, à terme, disponible en version papier), avec de très petits programmes didactiques conçus pour les vrais débutants en programmation.

-Rendre dans un premier temps la version de démonstration gratuite pour les établissements (je ne me vois pas demander dès aujourd’hui à mon établissement de payer 79 euros par poste alors que mes collègues ne sont pas convaincus d’avance et vont peut-être réclamer un logo ou exiger du gratuit). Il suffirait que le message au lancement annonce la gratuité jusqu’à une certaine date, par exemple. On pourrait imaginer une version spéciale pour les établissements scolaires. Ou une première version gratuite avec mise à jour payante.


Sur le plan strictement informatique, je ne crois pas que le boulot serait monstrueux, comparé à tout ce qui a déjà été fait. On peut, pour commencer doucement, juste introduire quelques fonctions de plus.

Sur le plan ergonomico-pédagogique, il faudrait surtout ne pas transiger avec le principe de simplicité. Quand je dis qu’il faut pouvoir débuter en une ligne, c’est pas en deux lignes. Encore une fois, pour un programmeur chevronné, il n’y a pas de différences. Pour un débutant, ça change tout.

Sur le plan de la promotion, je ne sais pas trop. Peut-être que ce sont des lobby déjà prêts à bondir qui ont obtenu qu’on introduise l’algorithmique dans les programmes. Comme Texas, par exemple. Ou peut-être qu’au contraire proposer une collaboration à Texas est une voie à explorer.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Re: PureBasic au Lycée

Message par Progi1984 »

Déjà, mais quel long post !!!!
7dav77 a écrit :-Ajouter à Pure Basic, dans sa version de base (sans que le programmeur ait besoin d’introduire une nouvelle bibliothèque), quelques instructions permettant au débutant de se lancer immédiatement, en UNE ligne, aussi bien pour du texte que pour des dessins. Qu’on puisse tracer un segment directement, en une instruction. Rien à ouvrir rien à déclarer.
Idéalement, il faudrait assurer la transition avec les calculatrices programmables.
Créer ces fonctions dans des macros que tu compileras dans un resident pour pouvoir les utiliser sur tous les postes.

7dav77 a écrit :-Un manuel très pédagogique (idéalement, à terme, disponible en version papier), avec de très petits programmes didactiques conçus pour les vrais débutants en programmation.
Je pense que la traduction de "PureBasic - A Beginner's Guide" (cf http://www.purebasic.fr/french/viewtopic.php?t=9317) pourrait aider...
7dav77 a écrit :-Rendre dans un premier temps la version de démonstration gratuite pour les établissements (je ne me vois pas demander dès aujourd’hui à mon établissement de payer 79 euros par poste alors que mes collègues ne sont pas convaincus d’avance et vont peut-être réclamer un logo ou exiger du gratuit). Il suffirait que le message au lancement annonce la gratuité jusqu’à une certaine date, par exemple. On pourrait imaginer une version spéciale pour les établissements scolaires. Ou une première version gratuite avec mise à jour payante.
Essaie de contacter Fred directement
Anonyme

Message par Anonyme »

-Ajouter à Pure Basic, dans sa version de base (sans que le programmeur ait besoin d’introduire une nouvelle bibliothèque), quelques instructions permettant au débutant de se lancer immédiatement, en UNE ligne, aussi bien pour du texte que pour des dessins. Qu’on puisse tracer un segment directement, en une instruction. Rien à ouvrir rien à déclarer.
Idéalement, il faudrait assurer la transition avec les calculatrices programmables.


Tu peut pour cela te créer une fonction " d'initialisation " qui permet en une ligne d'initialiser le bouzin.

ex:

Code : Tout sélectionner

Procedure Init_7dav77()
  InitTruc()
  OpenScreen()
endprocedure
 
Procedure TraceSegment(*A.vector,*B.vector,Couleur)
 linexy(*A\x,*A\y,*B\x,*B\y,Couleur)
endprocedure

etc...



plus d'écran à gérer , que des fonctions "intuitives"

:wink:
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Progi1984 a déjà tout dit.
Effectivement tu peux écrire tes macros dans des résidents pour simplifier la vie de tes étudiants, et faire en sorte que la programmation démarre en 1 ligne.
-Rendre dans un premier temps la version de démonstration gratuite pour les établissements (je ne me vois pas demander dès aujourd’hui à mon établissement de payer 79 euros par poste alors que mes collègues ne sont pas convaincus d’avance et vont peut-être réclamer un logo ou exiger du gratuit). Il suffirait que le message au lancement annonce la gratuité jusqu’à une certaine date, par exemple. On pourrait imaginer une version spéciale pour les établissements scolaires. Ou une première version gratuite avec mise à jour payante.
Mais c'est déjà le cas, la version de démonstration est gratuite.
Elle est limitée à 800 lignes, mais dans le cadre d'une utilisation scolaire, c'est largement suffisant ?

La version démo n'a pas les fonctions API , mais c'est totalement inutile dans ton cas; pour l'usage que tu en aurais.

Huitbit utilise aussi PureBasic avec ses élèves, j'ignore comment ça se passe, peut-être qu'il t'en glissera un mot ou deux :)

[EDIT]
Cpl.Bator aussi a tout dit , on devait rédiger en même temps notre post, il est plus rapide que moi !
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: PureBasic au Lycée

Message par Backup »

7dav77 a écrit :des petits malins vont nous pondre vite fait des petit langages ineptes, genre logo bâclé
c'est de moi que tu parle là ?? :lol:
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Message par Le psychopathe »

Juste une précision, dans mon cas j'ai commencé la programmation a 14 ans tout seul. Sur 3dgames creator pro.
Donc pour tes élèves, c'est comme la guitare, s'ils veulent apprendre alors .... Donc l'histoire des 1 lignes de code à la place de 2 ...
La motivation compte, et rien leur empêche de prendre la version gratos pour étudier les exemples, pareil pour le lycée. La version complète n'est pas nécessaire pour commencer à apprendre.

Après s'ils attrapent le virus et bien ils achètent la license Pure Basic à la place d'un jeu PS3 a 70 euros ....
7dav77
Messages : 14
Inscription : jeu. 14/mai/2009 16:06

Message par 7dav77 »

Cpl.Bator a écrit : Tu peut pour cela te créer une fonction " d'initialisation " qui permet en une ligne d'initialiser le bouzin.
Je compte:

- Une ligne pour intégrer la bibiothèque qui contient tes procédures (ou sinon je compte les lignes des procédures elles-mêmes)
- Une ligne pour initialiser l'écran graphique
- Une ligne pour tracer le segment

--> 3 lignes.

On peut intégrer l'initialisation dans la procédure qui trace la ligne (et toutes les procédures de dessin): chaque procédure de dessin initialise l'écran si ce n'est déjà fait. C'est déjà mieux:

--> 2 lignes.

On peut enfin intégrer la "bibliothèque pour les nuls" à PureBasic et on arrive enfin à ce que je voulais dire:

--> 1 ligne.

Si je puis me permettre, vous réagissez en programmeurs là où le problème n'est pas de programmation mais de pédagogie, d'ergonomie et enfin de marketing. Il n'y a là en effet aucun défi intéressant en terme de programmation.
7dav77
Messages : 14
Inscription : jeu. 14/mai/2009 16:06

Re: PureBasic au Lycée

Message par 7dav77 »

Dobro a écrit :
7dav77 a écrit :des petits malins vont nous pondre vite fait des petit langages ineptes, genre logo bâclé
c'est de moi que tu parle là ?? :lol:

Non.

Je ne connaissais pas ton Logo. Je trouve qu'avoir développé un langage de programmation (rudimentaire ou pas) est au programmeur ce que la réalisation d'un chef d'oeuvre est au Compagnon: un aboutissement.
Je t'envie de l'avoir fait et je regarde ton oeuvre de bien bas, avec mes jeux de la vie et mes tours de Hanoï.

Je suis un padawan.
Tu es un maître Jedi.
7dav77
Messages : 14
Inscription : jeu. 14/mai/2009 16:06

Message par 7dav77 »

comtois a écrit :Mais c'est déjà le cas, la version de démonstration est gratuite.
Elle est gratuite pour le particulier. Est-elle autorisée pour une utilisation par un établissement scolaire ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: PureBasic au Lycée

Message par Backup »

7dav77 a écrit : Je suis un padawan.
Tu es un maître Jedi.
aaaaaaaarg !! KCC sort de ce corps !! :twisted: :lol:

pour les droits, mieux vaut demander a Fred :)

huitbit se sert de Purebasic pour son ecole en guadeloupe :)

il ne distribue pas son purebasic, qui reste sa proprieté

et ses eleves l'utilisent avec lui en classe , du moins , je crois que c'est comme ça qu'il fait ;)
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Re: PureBasic au Lycée

Message par flaith »

7dav77 a écrit :Rendre dans un premier temps la version de démonstration gratuite pour les établissements (je ne me vois pas demander dès aujourd’hui à mon établissement de payer 79 euros par poste alors que mes collègues ne sont pas convaincus d’avance et vont peut-être réclamer un logo ou exiger du gratuit). Il suffirait que le message au lancement annonce la gratuité jusqu’à une certaine date, par exemple. On pourrait imaginer une version spéciale pour les établissements scolaires. Ou une première version gratuite avec mise à jour payante.
Je crois qu'il existe une version dite "Entreprise", qui doit être une licence pour quelques postes. Mais comme indiqué ci-dessus, je te conseille vivement d'en faire la demande directement à Fred :wink:
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Je reprend l'idée de Progi1984

Si tu crées une librairie perso avec TailBite par exemple
Cette librairie se charge directement avec PB. Pas besoin de l'appeler

Ensuite, tu peux faire dans cette librairie une fonction d'initialisation, qui est appeler dès que l'on se sert d'une fonction de la librairie.

Donc pas besoin d'appeler ton openscreen ou autre.

L'étudiant tape directement la fonction de la librairie, et quand il le fait, li'initialisation se fait en auto.

On peut donc imaginer facilement une librairie "Console Etudiant", une "2D Etudiant", etc...
avec des fonctions simplification, et avec l'initialisation directement intégré.

Après, sur cette idée, est-ce que Fred peut-être intéressé ou si qlq'un doit le faire.



Pour information :
A l'école, j'ai fais du Pascal, c'est très proche de PB, voir même plus compliqué pour l'initialisation des écrans.
Le prof avait filé un bout de code tout fait pour l'init

Mon ami a fait du C++
Je t'explique même pas le bazar au niveau de l'initialisation (appel des bonnes librairies et tout ça)

Donc PureBasic est déjà bien plus simple pour moi.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Huitbit
Messages : 940
Inscription : jeu. 08/déc./2005 5:19
Localisation : Guadeloupe

Message par Huitbit »

Hello,
J'ai peu de temps en ce moment car le bac arrive à grands pas ainsi que la fin de trimestre (boulot supplémentaire)de plus il y a des virus de la grippe qui traînent un peu partout(j'en ai déjà eu 3 :P ).
(rassurez vous, je bosse un peu quand même :lol: , dans peu de temps, un petit code utile pour les jeux :wink: )

Concernant Purebasic au lycée:
Je l'utilise avec des élèves de seconde qui ont l'option M.P.I(je l'ai déjà utilisé avec d'autres secondes)
J'ai acheté 9 licences il y a 3 ans pour le lycée.
Les élèves utilisent chez eux la version démo(avec 800 lignes on peut faire pas mal de choses :P ).

Il y a plusieurs manières d'aborder la programmation(jeux, mode console, utilisation des gadgets,... etc)

A mon avis, le plus important, c'est de mettre le langage au second plan.
L'algorithmique doit passer au premier plan.

A la fac, on avait fait un semestre d'informatique sans toucher ni voir un ordinateur !
Au deuxième semestre on a eu droit à l'assembleur et à un projet en turbopascal(pour mon binôme, résolution d'un circuit électrique avec des R des L et des C en régime forcé avec interface graphique pour construire le circuit, souvenirs,souvenirs :roll: ; sachant que personne n'avait de PC, on tapait le code (écrit sur un bout de papier) pendant les heures de TP)

Un lien que j'ai trouvé récemment :
http://www.pise.info/algo/codage.htm

J'ai revu des anciens élèves qui font maintenant des études d'informatique. Le langage C ne leur a pas posé de problèmes alors qu'ils avaient commencé par le basic.

Vous seriez étonnés de voir ce que certains élèves de seconde sont capables de faire !
Cette année, ils doivent présenter un projet à la fin du troisième trimestre, s'ils me l'autorisent, je mettrai quelques screenshots sur le forum !


En résumé, Purebasic ne devrait pas faire peur au profs !
Je ne vois pas l'intérêt de simplifier le langage (ce n'est que mon avis :roll: )
Il ne faut pas sous-estimer les élèves !

Hasta la vista !
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Message par Fig »

Le Soldat Inconnu a écrit : Pour information :
A l'école, j'ai fais du Pascal, c'est très proche de PB, voir même plus compliqué pour l'initialisation des écrans.
Le prof avait filé un bout de code tout fait pour l'init

Donc PureBasic est déjà bien plus simple pour moi.
+1
Avatar de l’utilisateur
case
Messages : 1545
Inscription : lun. 10/sept./2007 11:13

Re: PureBasic au Lycée

Message par case »

7dav77 a écrit : Lorsque j’étais élève en troisième, l’Amstrad venait d’arriver. J’avais de nombreux camarades qui, comme moi, s’amusaient à programmer en Basic. Dès la première ligne, il se passait quelque chose, on avait envie de continuer. C’était simple, on n’était pas bloqué dès le début par des trucs à déclarer, une fenêtre à ouvrir, un écran graphique à initialiser, un pilote à mettre à jour. Le manuel était très bien foutu. La vie était simple.

Et puis le troisième millénaire est advenu. Pas de voitures volantes, ni de robot pour faire mon ménage. Mon ordinateur a un microprocesseur trois mille fois plus rapide et une mémoire trois millions de fois plus grande, mais il boote trente fois plus lentement. Le TO7 a disparu, c’est déjà ça.

Aujourd’hui, pour tracer un bête segment, même en PureBasic il faut préalablement entrer quatre lignes :
déja une chose est sure a l'époque le basic était fourni avec l'ordinateur, il y avais des programmes a taper dans les magazines d'informatique, donc les jeunes qui achetaient les magazines tapaient les programmes pour jouer , certains d'entre eux cherchaient donc a faire eux même des programmes car cela leur plaisait. aujourd'hui aucune machine n'est vendue avec un basic ou un autre langage par défaut.

moi mon premier ordinateur que j'ai eu était un dragon 32, je l'ai acheté sans savoir que la boite qui le fabriquait avait fait faillite.. je me suis retrouvé avec un ordinateur pour lequel trouver un jeu ou une manette de jeu était impossible. je me suis donc intéressé a la programation... parce que les seuls trucs que j'avais avec c'était 3 jeux ( 1 qui nécessitait une manette de jeu que je n'avais pas, 1 en anglais que je ne comprenais pas , une aventure en mode texte, et 1 jouable au clavier heureusement. un manuel du basic , un livre avec des programmes en basic)

. il ne faut pas négliger aussi le fait aujourd'hui que la plupart des jeunes on une console de jeu ou se servent du pc pour jouer et aller sur le web.

avant tout le monde avait les outils et l'opportunité de programmer des qu'il allumais sa machine, aujourd'hui il doit d'abord faire la démarche de se procurer un langage de programmation , et ça c'est un mur encore plus grand que de devoir écrire 4 lignes de code pour afficher une ligne sur l'écran .
ImageImage
Répondre