Formation à l'informatique.
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

Formation à l'informatique.



  1. #1
    Dlzlogic

    Formation à l'informatique.


    ------

    Bonjour,

    Je suis toujours étonné que les questions posées dans le domaine de la formation en informatique, c'est à dire pour simplifier les exercices, concernent la syntaxe beaucoup plus que la logique. En d'autres termes, on cherche à trouver comment le faire avant de savoir ce qu'il faut faire.
    Une "preuve" : le terme algorithme est maintenant pratiquement synonyme de "code".
    Le terme "langage" est tout à fait approprié en ce qui concerne l'informatique. Imaginons un extraterrestre qui débarque sur la terre. Pour échanger, il a besoin d'apprendre une langue. Comme on sait, il y a une grand choix, une langue très utilisée dans les échanges internationaux, une langue bien adaptée à la littérature, une langue très imagée utilisée dans un très grand pays etc. Mais si notre extraterrestre n'a pas commencé à étudier la nature humaine, son fonctionnement, sa psychologie, la connaissance, même parfaite, d'une langue ne lui sera d'aucune utilité.
    Il y a eu des tentatives avec des pseudo-langages, c'est contourner le problème et pour le coup algorithme=code.

    J'ai des modules qui ont été écrits en Fortran 77, puis transposés en Basic(s), puis transposés en C, puis C++, puis PHP. C'est toujours la même logique, les différences de syntaxe sont minimes. En d'autres termes, si ces modules avait été écrits en s'attachant à la syntaxe au lieu de s'attacher à la logique, aucune transposition n'aurait été possible.

    Je n'ai pas vraiment de question, juste un constat d'une méthode d'apprentissage que je regrette.
    Bonne journée.

    -----

  2. #2
    CM63

    Re : Formation à l'informatique.

    Bonjour,

    Citation Envoyé par Dlzlogic Voir le message
    le terme algorithme est maintenant pratiquement synonyme de "code".
    Ça c'est pour les gens qui n'y connaissent rien, mais pour ceux qui maîtrisent le sujet: non.

  3. #3
    Arzhur

    Re : Formation à l'informatique.

    Bonjour,



    Ça c'est pour les gens qui n'y connaissent rien, mais pour ceux qui maîtrisent le sujet: non.
    Et du coup c'est un peu normal que les gens "en formation", qui ne maitrisent pas le sujet, aient une approche "naïve (ie se ruer sur le coder plutot que de réfléchir un bon coup avant)



    J'ai des modules qui ont été écrits en Fortran 77, puis transposés en Basic(s), puis transposés en C, puis C++, puis PHP. C'est toujours la même logique, les différences de syntaxe sont minimes. En d'autres termes, si ces modules avait été écrits en s'attachant à la syntaxe au lieu de s'attacher à la logique, aucune transposition n'aurait été possible.
    J'en sais trop rien, ça me parait un peu excessif. Si t'as un algorithme écrit dans un certain langage, je pense qu'il est tout de même possible d'en comprendre la logique a postériori, et de le traduire dans un autre langage.

    Je le pratique par moment lorsque je "porte" des algo écrit en Python en Java. Il y a quelques spécificités de Python qui n'existe pas en Java et qui demandent un peu plus de réflexion (ok, parfois on y laisse des cheveux).

  4. #4
    Dlzlogic

    Re : Formation à l'informatique.

    Bonsoir Erzhur,
    Je vais clarifier ma question : ce qui m'étonne, n'est pas la demande d'aide des élèves et des étudiants, il réagissent en fonction du contexte, c'est à dire, avoir une bonne note. Il me semble que, sauf cas rare, la demande sur un forum tel que celui-ci consiste surtout à obtenir une aide précise et éventuellement une réponse toute faite.
    Non, mon étonnement réside dans les réponses des sachant. Il et très rare de lire une réponse telle que "qu'est-ce tu veux faire". Il me parait clair que ces réponses qui m'étonnent correspondent aux réponses qu'attentent les demandeurs, c'est à dire, indirectement, les enseignants.

    Evidemment je ne parle pas de transposition, l'exemple des modules que j'ai cités n'est qu'un exemple. Le premier module écrit a été lors d'un stage de fin d'étude dont j'avais la responsabilité. En aucun cas je n'ai eu de difficulté à le comprendre, et pour cause.
    Pour être complet dans la réponse, dernièrement j'ai eu envie (juste à titre personnel) de transposer un code écrit en Pytho, en C. J'avoue que j'ai renoncé, mais c'est un autre débat.

  5. A voir en vidéo sur Futura
  6. #5
    albanxiii
    Modérateur

    Re : Formation à l'informatique.

    Bonjour,

    Citation Envoyé par Dlzlogic Voir le message
    Je n'ai pas vraiment de question
    Citation Envoyé par Dlzlogic Voir le message
    Je vais clarifier ma question :
    Comment dire...
    Not only is it not right, it's not even wrong!

  7. #6
    Dlzlogic

    Re : Formation à l'informatique.

    Bonjour Alban,
    J'ai essayé de trouver des termes polis et surtout non agressifs pour dire mon avis. Apparemment CM a bien compris.
    Ce sujet, je l'ai écrit dans le cadre de deux sujets de ces derniers jours, où je suis intervenu pour suggérer au PI d'expliquer ce qu'il cherche à faire avant de se demander comment le faire. C'est à dire d'écrire en français ce qu'on appelle vulgairement un algorithme, mais "on" a préféré lui indiquer ses erreurs de codage.
    Je constate que c'est la nouvelle méthode. Je pense aussi à certaines réactions qui traduisent la croyance qu'on peut demander à un logiciel de faire un certain calcul sans qu'il soit nécessaire de savoir le faire soi-même (modulo le temps nécessaire).
    Pour moi, le sujet est clos.

  8. #7
    Ikhar84
    Animateur Informatique

    Re : Formation à l'informatique.

    Bonjour,

    Je tends moi même à corriger le code plutôt que demander au posteur ce qu'il souhaite réaliser.
    C'est vrai que c'est une erreur...

    En dev, on doit résoudre un (ou plusieurs...) problèmes en proposant une solution viable (en terme d'argent, de ressources, et de temps), on doit donc clairement identifier le problème à résoudre, afin de concevoir la (une des) solutions, sous forme conceptuelle, puis algorythmique...

    Le code en lui même est presque négligeable, et dépend plus des compétences dans tel ou tel langage, des outils a disposition, de la platforme finale...

    Bref est indépendant du problème lui-même et de sa solution, mais entre plus dans des considérations "matérialistes"...

    J'exagère à peine...

    Mais je voulais signaler que dans le cycle de développement, et le cycle de vie du logiciel, le code lui même occupe une position mineure.
    D'où, je pense, ton coup de gueule...

    Mais lorsque l'on tente de répondre à une réponse précise, plus de type scolaire que proféssionnelle, à priori le type de questions présentes ici, on estime que le travail de réflexion a été réalisé, quz la problématique a résoudre est triviale, et sans but finale, et que finalement, la réponse attendue par le posteur, et son enseignant par extension, est une simple correction du code présenté, qu'il soit personnel, ou du simple copier/coller...

    Je ne sais si je suis clair, mais pour simple, j'ai tendance à donner une réponse plus orientée scolaire, sans finalité par elle-même qu'une meilleur connaissance du langage présenté, et surtout sans le (lourd) travail préalable d'analyse et conception (relatif pour une fonction de tri, par rapport à une suite logicielle complète bien sûr...)...

    Étant entendu qu'un développeur expérimenté, dans un cadre professionnel, ne poserait pas de telles questions, ou qu'il utiliserai des plateformes plus adaptées, futura ayant plus une vocation de vulgarisation scientifique que de support technique...

    Voilà c'était mon méa culpa personnel...

  9. #8
    pm42

    Re : Formation à l'informatique.

    Citation Envoyé par Dlzlogic Voir le message
    Ce sujet, je l'ai écrit dans le cadre de deux sujets de ces derniers jours, où je suis intervenu pour suggérer au PI d'expliquer ce qu'il cherche à faire avant de se demander comment le faire. C'est à dire d'écrire en français ce qu'on appelle vulgairement un algorithme, mais "on" a préféré lui indiquer ses erreurs de codage.
    Dans le 1er cas, la réponse a été faite à quelqu'un qui avait un problème précis avec scanf, pas un problème d'algorithme.
    Dans le 2nd cas, la même réponse a été faite à quelqu'un qui avait justement décrit en détail ce que le programme devait faire, son approche, là où il bloquait.

    Dans les 2 cas, ces contributions n'ayant absolument rien apporté, elles sont été ignorées par tous les participants. Je pense que le problème est là.

  10. #9
    Dlzlogic

    Re : Formation à l'informatique.

    Étant entendu qu'un développeur expérimenté, dans un cadre professionnel, ne poserait pas de telles questions, ou qu'il utiliserai des plateformes plus adaptées, futura ayant plus une vocation de vulgarisation scientifique que de support technique...
    Ben non, justement. Je parlais avec mon fils des logiciels formels. Il en avait entendu parler par un "développeur expérimenté" qui lui avait répondu, face à un problème donné, "ça, c'est du domaine d'un langage formel". Dans le même ordre d'idée, je viens de relire une discussion d'il y a deux ans où on m'expliquait que telle opération était difficile, pour preuve, Matlab donnait un résultat incohérent, pas de chance pour ces contradicteurs, des fonctions utilisant la logique (cad réfléchir avant de coder) donnaient un résultat satisfaisant. (détails par MP si tu veux).
    Il est clair aussi que ces réflexions ne s'adressent pas seulement au présent forum, mais il s'agit d'une critique générale, y compris aux forums spécialisés dans la formation ET/OU l'informatique

  11. #10
    Arzhur

    Re : Formation à l'informatique.

    Il me parait clair que ces réponses qui m'étonnent correspondent aux réponses qu'attentent les demandeurs, c'est à dire, indirectement, les enseignants.
    Si je te suis : Les enseignants s'attendent à ce que leurs élèves implémentent les algorithmes sans les comprendre ?


    Ce sujet, je l'ai écrit dans le cadre de deux sujets de ces derniers jours, où je suis intervenu pour suggérer au PI d'expliquer ce qu'il cherche à faire avant de se demander comment le faire. C'est à dire d'écrire en français ce qu'on appelle vulgairement un algorithme, mais "on" a préféré lui indiquer ses erreurs de codage.
    C'est vrai que c'est agaçant lorsque quelqu'un vend la mèche alors que tu essayes de guider le posteur....mais de là à s'enflammer sur les méthode de formation informatique, je te trouve dur.

  12. #11
    Dlzlogic

    Re : Formation à l'informatique.

    Juste un tout petit exemple : la fonction scanf.
    Tous les bouquins sont d'accord pour dire qu'il vaut mieux utiliser gets ou fgets puis fscanf au lieu de scanf, pourtant tous les exercices et corrections utilisent scanf. Cet exemple dépasse largement une histoire de syntaxe.
    J'ai ouvert ce sujet, non pas pour une histoire de "vendre la mèche", mais pour des raisons beaucoup plus profondes.
    Naturellement, des exemples, j'en ai des tas, ici c'était juste vis à vis d'une réponse d'un PI, à propos de la suppression d'un "\n" : "non, je veux aller à la ligne". Celui-ci n'a toujours pas compris la notion de "fin de données", la touche "entrée".

  13. #12
    Jack
    Modérateur

    Re : Formation à l'informatique.

    Naturellement, des exemples, j'en ai des tas, ici c'était juste vis à vis d'une réponse d'un PI, à propos de la suppression d'un "\n" : "non, je veux aller à la ligne". Celui-ci n'a toujours pas compris la notion de "fin de données", la touche "entrée".
    Et pourtant, c'est compréhensible car c'est aussi un problème de syntaxe, donc de langage. Exemple read et readln en PASCAL.
    Dernière modification par Jack ; 26/11/2016 à 15h28.

  14. #13
    pm42

    Re : Formation à l'informatique.

    Citation Envoyé par Dlzlogic Voir le message
    Tous les bouquins sont d'accord pour dire qu'il vaut mieux utiliser gets ou fgets puis fscanf au lieu de scanf, pourtant tous les exercices et corrections utilisent scanf. Cet exemple dépasse largement une histoire de syntaxe.
    Cet exemple est très mauvais : personne ne dit qu'il faut utiliser gets justement puisque le non contrôle de la taille des données utilisé rend cette fonction vulnérable à une attaque par dépassement de buffer, laquelle a déjà largement été utilisée, notamment par l'un des premiers vers informatiques, celui de Morris en 1988.
    Continuer à la conseiller pratiquement 30 ans après est étonnant pour dire le moins.
    Voir par ex:
    https://en.wikipedia.org/wiki/Buffer_overflow
    https://dhavalkapil.com/blogs/Buffer-Overflow-Exploit/
    http://faq.cprogramming.com/cgi-bin/...&id=1043284351

    Ensuite, pour un étudiant qui veut juste demander des données, faire du fgets va lui renvoyer une chaine non analysée.
    Il va donc devoir faire 2 appels et le suivant sera à sscanf...

    Dans l'exemple récent, cela n'aurait donc pas changé fondamentalement la question ni les réponses...

    Encore une fois, il vaudrait mieux faire attention à la pertinence de vos interventions et à la connaissance du sujet plutôt que de critiquer l'approche des autres.
    Dernière modification par pm42 ; 26/11/2016 à 16h34.

  15. #14
    Chanur

    Re : Formation à l'informatique.

    Citation Envoyé par Dlzlogic Voir le message
    Juste un tout petit exemple : la fonction scanf.
    Tous les bouquins sont d'accord pour dire qu'il vaut mieux utiliser gets ou fgets puis fscanf au lieu de scanf, pourtant tous les exercices et corrections utilisent scanf. Cet exemple dépasse largement une histoire de syntaxe.
    Le cas de scanf est très particulier. C'est à la limite du bizutage . On a besoin dès le début d'une fonction de lecture du clavier. scanf est une fonction qui fait ça toute seule, et ce n'est pas inutile que le jeune padawan voit de ces propres yeux ce que ça faite de mettre un entier là où il faut un pointeur !

    Sinon, je suis d'accord qu'il est absurde (et inefficace) d'essayer d'exprimer un algo dans un langage qu'on ne maîtrise pas si on n'est même pas capable de l'exprimer dans sa langue maternelle.
    Mais je ne suis pas sûr que ce soit un défaut récent. C'était pas la même chose, il y a 30 où 40 ans avec des fous qui programmaient des trucs incompréhensibles en basic et en assembleur ?

    Par contre je ne suis pas d'accord quand tu critique le fait de corriger la syntaxe. J'ai de clairs souvenirs, à mes début d'avoir été bloqué sur des problèmes de syntaxe du C. J'avais des collègues et de la doc, j'aurais bien aimé avoir internet et des forums ...
    C'est réellement un service à rendre à des débutant que les décoincer s'ils butent sur la syntaxe.

    Moins évident, bien sûr s'il s'agit d'un bug, parce que les techniques de recherche d'un bug sont intéressantes à apprendre, et parce que c'est parfois l'algo qui est défectueux et pas l'implémentation.
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  16. #15
    PrRou_

    Re : Formation à l'informatique.

    Citation Envoyé par Dlzlogic Voir le message
    la croyance qu'on peut demander à un logiciel de faire un certain calcul sans qu'il soit nécessaire de savoir le faire soi-même (modulo le temps nécessaire).
    Je crois qu'il y a beaucoup de gens qui utilisent un ordinateur sans savoir le réaliser eux-mêmes.
    Je crois qu'il y a beaucoup de gens qui utilisent des dizaines d'outils, du matin jusqu'au soir, sans savoir les faire eux-mêmes.
    Que de croyance ! MDR.

    Moi-même, j'utilise des logiciels de calculs pour réaliser des résolutions de problèmes que je ne saurais faire, car je n'ai pas la culture nécessaire. De toute manière, les méthodes efficaces en machines sont très souvent totalement différentes de ce que l'on fait à la main.

    Pour utiliser une machine, savoir faire ou ne pas savoir faire est un faux problème : le vrai problème est de comprendre ce que l'on veut faire faire à une machine, et d'avoir un sens critique sur le résultat qu'elle produit.
    Dernière modification par PrRou_ ; 26/11/2016 à 18h26.

  17. #16
    PrRou_

    Re : Formation à l'informatique.

    Citation Envoyé par Dlzlogic Voir le message
    Juste un tout petit exemple : la fonction scanf.
    Tous les bouquins sont d'accord pour dire qu'il vaut mieux utiliser gets ou fgets puis fscanf au lieu de scanf, pourtant tous les exercices et corrections utilisent scanf. Cet exemple dépasse largement une histoire de syntaxe.
    J'ai ouvert ce sujet, non pas pour une histoire de "vendre la mèche", mais pour des raisons beaucoup plus profondes.
    Naturellement, des exemples, j'en ai des tas, ici c'était juste vis à vis d'une réponse d'un PI, à propos de la suppression d'un "\n" : "non, je veux aller à la ligne". Celui-ci n'a toujours pas compris la notion de "fin de données", la touche "entrée".
    Tout ça n'a rien à voir avec de l'apprentissage de l'algorithmique, c'est simplement des soucis de codage...

Discussions similaires

  1. Faire une formation ( L2-L3 Informatique ) a distance ?
    Par AdibouKalash dans le forum Orientation après le BAC
    Réponses: 3
    Dernier message: 13/07/2015, 11h22
  2. Formation de développeur informatique
    Par invite4517bac6 dans le forum Orientation après le BAC
    Réponses: 11
    Dernier message: 22/06/2011, 20h13
  3. Formation Informatique en Alternance
    Par invitefc4880fa dans le forum Orientation après le BAC
    Réponses: 1
    Dernier message: 06/04/2010, 12h12
  4. Quelle formation en informatique ?
    Par invite98738866 dans le forum Orientation après le BAC
    Réponses: 4
    Dernier message: 22/02/2008, 14h14