Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment s'auto-former à haut niveau ?

    15 mars 2019 à 12:00:23

    Bonjour à tous !

    Je crée ce topic aujourd'hui car j'ai un léger problème : n'ayant pas fait d'études en informatique, je n'arrive plus à progresser ni à situer mon réel niveau dans ce domaine...

    J'ai commencé à apprendre la programmation assez jeune en autodidacte, vers 14 ans (j'en ai 23 aujourd'hui). Bien sûr, je n'ai pas toujours été très régulier dans mon apprentissage, mais globalement, je pense avoir un niveau plutôt correct.

    Le problème étant que j'ai l'impression de stagner, de ne plus pouvoir avancer lorsqu'il s'agit de comprendre les « fondamentaux de l'informatique ». J'ai beau apprendre de nouveaux langages, découvrir de nouvelles technos ou pratiquer continuellement, il y a un gouffre qui m'obstrue le chemin.

    Par exemple, utiliser Electron avec Node.js pour développer des applications multi-plateformes ne me pose aucun problème, mais dès qu'il s'agit de comprendre comment ce framework fonctionne réellement (à bas niveau j'entends) pour pouvoir le modifier ou mieux, en créer un similaire (et plus léger !), je suis bloqué et je ne sais pas comment m'y prendre ni par où commencer... Pourtant, le dépôt GitHub est disponible, et je sais grosso modo que ça utilise le moteur V8 en interne, mais je reste devant les sources comme un demeuré ne sachant pas où regarder...

    D'où ma question initiale : comment s'améliorer suffisamment en informatique pour être en mesure de comprendre comment tout cela fonctionne ? Qu'est ce qu'il me manque pour progresser (c'est peut-être seulement de la persévérance je ne sais pas trop...) ? Où chercher les bonnes informations ?

    Voilà j'espère que vous pourrez m'aider à y voir plus clair :)

    Je vous remercie par avance pour vos réponses !

    -
    Edité par Sharkou_ 15 mars 2019 à 16:23:12

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      15 mars 2019 à 12:19:47

      Ce qui vous manque c'est justement ces enseignements fondamentaux qu'on trouve à la fac et qui sont si décriés par les aficionados des pseudo-écoles comme EPITECH ou InTech'info, qui vous expliquent que vous deviendrez ingénieur sans cours et juste en enchaînant pendant 5 ans des projets.

      Ces cours ce sont la théorie des langages et la programmation orientée objet par exemple mais un VRAI cours de POO, fait par un enseignant compétent et qui maîtrise parfaitement les mécanismes de la POO, pas par quelqu'un présenté comme un génie parce qu'il travaille en entreprise mais qui peut aussi programmer en C++ sans maîtriser les concepts.

      Après pour répondre à votre question, je ne vois pas très bien comment rattraper cela car justement ce qui est simple est en général disponible en ligne, ces savoirs pointus là sont beaucoup plus difficile à trouver. Avez-vous fait une recherche de livres ? Certains enseignants d'université écrivent des ouvrages même si souvent ce sont plutôt des ouvrages grand public, où les notions sont peu poussées, parce que l'objectif est de vendre un maximum.

      • Partager sur Facebook
      • Partager sur Twitter
        15 mars 2019 à 12:47:34

        généralement tu trouveras les informations relatives au plan d'études et le programme des cours directement sur le site des universités. 

        par exemple pour l'epfl :

        https://ic.epfl.ch/informatique/plan-etudes_bachelor_1

        si tu regardes les ressources par exemple pour le cours "conceptions de systèmes numériques" :

        http://isa.epfl.ch/imoniteur_ISAP/!itffichecours.htm?ww_i_matiere=1795351321&ww_x_anneeAcad=2018-2019&ww_i_section=249847&ww_i_niveau=6683111&ww_c_langue=fr

        tu verras la bibliographie en fin de page.

        Après tu peux faire tous les cours en autodidacte, ou alors, tant qu'à refaire tout le programme sois-même, autant s'inscrire directement à l'université. Car si tu veux aller dans le fond des choses, ce qui est sûr, c'est que tu vas avoir besoin des cours au complet. Tu ne pourras pas par exemple te dire: ok je veux étudier la cryptographie quantique, sans avoir pour autant des notions avancées de math et de physique. 

        • Partager sur Facebook
        • Partager sur Twitter
          15 mars 2019 à 18:36:27

          Dans toutes les disciplines, franchir ce cap est probablement l'étape la plus difficile. Mais je pense que tu dois d'abord chercher réellement ce que tu veux apprendre.

          C'est peut-être le phase la plus difficile mais tu dois essayer de comprendre précisément quel est ton objectif et ensuite faire un petit "diagnostic" des lacunes que tu dois combler pour l'atteindre.

          Si tu veux apprendre à développer pour l'embarqué, tu ne vas pas travailler les mêmes bases que celles que tu devras exploiter pour créer un nouveau langage de prog. Il y a des bases communes, mais moi j'ai plutôt l'impression que tu entres dans une phase où tu dois arrêter de "toucher à tout" et plonger à fond dans un domaine pour développer une sorte d'expertise. Si, au passage, tu constates qu'il te manque des notions théoriques plus "basiques" (algorithmie, réseau, etc.) alors tu pourras combler ces manques.

          Alors, maintenant, par quels moyens? Je pense que l'idée des programmes des universités et écoles est très bonne et constitue un bon point de départ pour savoir ce qui te manque. Ensuite, une fois que tu as une idée des enseignements qui sont dispensés à plus haut niveau, il te faudra trouver des ressources. Là, c'est plus difficile que lorsqu'on veut se former à un langage parce que les ressources sont plus rares. Il faut surtout regarder du côté des livres, parce que c'est encore le support préféré des enseignants d'universités. Il faut aussi chercher des ressources pédagogiques et foncer vers tout ce qui est anglophone, comme d'habitude.

          Par contre, tout seul c'est vraiment plus difficile parce que trouver des projets pour appliquer ce que tu apprends devient difficile à ce niveau. Disons que, par exemple, quand tu apprends à créer une application web, tu peux faire un TP à chaque notion que tu assimiles. Quand tu travailles des concepts beaucoup plus pointus, ça devient plus abstrait et, qui plus est en autodidacte, il faut avoir un courage énorme pour poursuivre.

          C'est sûr que si tu as la possibilité de le faire au travers d'une école ou d'une formation, c'est tout bénéf!

          Sinon, pour revenir un peu sur les pseudo écoles, je voudrais nuancer un peu ce qui a été dit. Je suis le premier à ne pas les recommander en première option quand on peut choisir un cursus classique. Cependant (et je ne parle que pour 42, puisque j'y suis depuis quelques mois) on peut vraiment y toucher à des projets très pointus et qui requièrent des compétences très avancées. Je pense que moins de cinq pour cent des "étudiants" (ils n'aiment pas ce terme à l'école, ils disent plutôt apprenants et c'est plus représentatif) portent leur cursus jusque là, mais certains y arrivent et deviennent de solides candidats à des postes d'ingénieurs. Nous avons, entre autres, toute une branche de notre cursus qui permet de développer un kernel semblable à celui de Linux (en plus petit avec des bretelles, évidemment) et c'est une branche qui se complète rarement en moins d'une année (je parle du projet kernel, mais pour le débloquer il faut déjà avoir passé au moins un an et demi à l'école pour développer d'autres notions). Il s'agit d'un projet incrémental qui a été conçu par un élève qui est aujourd'hui ingénieur système chez Airbus me semble-t-il.

          Enfin bref, c'était juste pour dire que certaines écoles dites "douteuses" proposent une autre façon de travailler tout en abordant des projets d'un niveau relativement élevé.

          Bon courage à toi pour trouver ton bonheur et pour aller au delà de cette difficulté :)

          • Partager sur Facebook
          • Partager sur Twitter
            15 mars 2019 à 20:58:04

            Bonjour

            si vous avez actuellement un emploi, vous pouvez vous former par le CNAM (à distance ou en cours du soir) ce qui vous permet de conserver votre emploi et de progresser à votre rythme.

            Il existe différents modules adaptés à tous les niveaux.

            Un cursus à l'université est difficilement envisageable si vous n'avez pas de bac scientifique.

            -
            Edité par Givrali 15 mars 2019 à 21:01:00

            • Partager sur Facebook
            • Partager sur Twitter
              16 mars 2019 à 18:22:04

              Merci beaucoup pour toutes vos réponses !

              FranckLeSaux a écrit:

              Ce qui vous manque c'est justement ces enseignements fondamentaux qu'on trouve à la fac [...]

              Ces cours ce sont la théorie des langages et la programmation orientée objet par exemple mais un VRAI cours de POO [...]

              Ces cours ne sont-ils pas trop théoriques ? Je parle surtout pour la théorie des langages car je suis totalement d'accord pour dire que la POO est indispensable à partir du moment où on a à faire au paradigme objet lors de l'analyse ou la conception d'une application. Mais est-ce que suivre un cours sur la théorie des langages ou n'importe quel autre enseignement théorique m'aidera réellement à me débloquer lorsqu'il s'agira de comprendre le fonctionnement d'une application complexe ?

              FranckLeSaux a écrit:

              Après pour répondre à votre question, je ne vois pas très bien comment rattraper cela car justement ce qui est simple est en général disponible en ligne, ces savoirs pointus là sont beaucoup plus difficile à trouver. Avez-vous fait une recherche de livres ? Certains enseignants d'université écrivent des ouvrages même si souvent ce sont plutôt des ouvrages grand public, où les notions sont peu poussées, parce que l'objectif est de vendre un maximum.

              Oui c'est exactement ça ! On trouve facilement des ressources en ligne sur des sujets relativement simples mais lorsqu'il s'agit d'aller plus profondément dans un sujet, c'est tout de suite plus difficile... Je n'ai pas spécialement fait de recherches de livres, en auriez-vous certains à me conseiller en particulier ?

              Alex Le Zero a écrit:

              généralement tu trouveras les informations relatives au plan d'études et le programme des cours directement sur le site des universités. 

              par exemple pour l'epfl :

              https://ic.epfl.ch/informatique/plan-etudes_bachelor_1

              si tu regardes les ressources par exemple pour le cours "conceptions de systèmes numériques" :

              http://isa.epfl.ch/imoniteur_ISAP/!itffichecours.htm?ww_i_matiere=1795351321&ww_x_anneeAcad=2018-2019&ww_i_section=249847&ww_i_niveau=6683111&ww_c_langue=fr

              tu verras la bibliographie en fin de page.

              Après tu peux faire tous les cours en autodidacte, ou alors, tant qu'à refaire tout le programme sois-même, autant s'inscrire directement à l'université. Car si tu veux aller dans le fond des choses, ce qui est sûr, c'est que tu vas avoir besoin des cours au complet. Tu ne pourras pas par exemple te dire: ok je veux étudier la cryptographie quantique, sans avoir pour autant des notions avancées de math et de physique. 

              Merci beaucoup pour les liens !

              C'est en effet peut-être une cohérence globale qu'il me faut, je vais lire tout ça :)

              Givrali a écrit:

              Bonjour

              si vous avez actuellement un emploi, vous pouvez vous former par le CNAM (à distance ou en cours du soir) ce qui vous permet de conserver votre emploi et de progresser à votre rythme.

              Il existe différents modules adaptés à tous les niveaux.

              Un cursus à l'université est difficilement envisageable si vous n'avez pas de bac scientifique.

              -
              Edité par Givrali il y a environ 21 heures

              C'est effectivement le cas ! Je vais me renseigner là-dessus ça a l'air très intéressant.

              J'ai un bac scientifique donc je peux toujours envisager l'université...

               MadiPoupou a écrit:

              Dans toutes les disciplines, franchir ce cap est probablement l'étape la plus difficile. Mais je pense que tu dois d'abord chercher réellement ce que tu veux apprendre.

              C'est peut-être le phase la plus difficile mais tu dois essayer de comprendre précisément quel est ton objectif et ensuite faire un petit "diagnostic" des lacunes que tu dois combler pour l'atteindre.

              Si tu veux apprendre à développer pour l'embarqué, tu ne vas pas travailler les mêmes bases que celles que tu devras exploiter pour créer un nouveau langage de prog. Il y a des bases communes, mais moi j'ai plutôt l'impression que tu entres dans une phase où tu dois arrêter de "toucher à tout" et plonger à fond dans un domaine pour développer une sorte d'expertise. Si, au passage, tu constates qu'il te manque des notions théoriques plus "basiques" (algorithmie, réseau, etc.) alors tu pourras combler ces manques.

              Je vois merci pour ton conseil !

              Je vais donc me concentrer davantage sur un domaine en particulier.

              MadiPoupou a écrit:

              Alors, maintenant, par quels moyens? Je pense que l'idée des programmes des universités et écoles est très bonne et constitue un bon point de départ pour savoir ce qui te manque. Ensuite, une fois que tu as une idée des enseignements qui sont dispensés à plus haut niveau, il te faudra trouver des ressources. Là, c'est plus difficile que lorsqu'on veut se former à un langage parce que les ressources sont plus rares. Il faut surtout regarder du côté des livres, parce que c'est encore le support préféré des enseignants d'universités. Il faut aussi chercher des ressources pédagogiques et foncer vers tout ce qui est anglophone, comme d'habitude.

              [...]

              Bon courage à toi pour trouver ton bonheur et pour aller au delà de cette difficulté :)

              Je retiens donc qu'il faut que je commence à chercher dans les ouvrages les ressources qu'il me manque, par rapport aux programmes universitaires.

              En tout cas encore merci pour votre aide ! Ça me motive énormément :)

              -
              Edité par Sharkou_ 16 mars 2019 à 19:27:33

              • Partager sur Facebook
              • Partager sur Twitter

              Comment s'auto-former à haut niveau ?

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown