Cours d'informatique, concepts transversaux et spécifités des langages
Àpd 15 € /h
De nombreuses ressources gratuites existent pour apprendre un langage précis, la plupart du temps avec un fil rouge consistant à la création d'un jeu ou d'un site web.
Cette approche correspond très bien à un débutant découvrant la programmation et/ou le développement. Toutefois pour progresser il me paraît important (sinon essentiel) de porter un regard plus théorique et d'étudier les éléments d'un langages comme des concepts abstraits qui prennent des formes précises dans différents langages.
Mon diplôme d'ingénieur en télécommunications, mon expérience de développement web et un stage de recherche en informatique (autour des notions d'asynchronisme et de concurrence) sont à l'origine de mon opinion sur l'importance de maîtriser des concepts en plus de langages.
Deux approches sont donc envisagées :
1. l'apprentissage guidé et personnalisé d'un langage de programmation précis pour des personnes découvrant l'informatique. Les ressources étant le plus souvent en anglais et destiné à un très large public des cours particuliers peuvent être utiles.
2. pour des personnes déjà familières avec un ou plusieurs langages, exploration en profondeur de certains concepts afin de pouvoir les généraliser et comprendre clairement leurs usages, leurs buts. Cette approche s'accompagne d'exemples dans d'autres langages et d'une discussion autour de scénarios d'utilisation et des limites du modèle.
Bien évidemment je ne maîtrise pas tous les concepts de programmation (loin de là). Pour des cours débutants à intermédiaire je suis en mesure d'adresser une grande partie du spectre. Pour des cours avancés en revanche je propose de faire le point sur les notions et les attentes pour vérifier que je sois capable de dispenser un enseignement de qualité.
Les langages pour lesquels vous pouvez me soliciter sont : C#, C, Java, Python, Kotlin, Javascript
Cette approche correspond très bien à un débutant découvrant la programmation et/ou le développement. Toutefois pour progresser il me paraît important (sinon essentiel) de porter un regard plus théorique et d'étudier les éléments d'un langages comme des concepts abstraits qui prennent des formes précises dans différents langages.
Mon diplôme d'ingénieur en télécommunications, mon expérience de développement web et un stage de recherche en informatique (autour des notions d'asynchronisme et de concurrence) sont à l'origine de mon opinion sur l'importance de maîtriser des concepts en plus de langages.
Deux approches sont donc envisagées :
1. l'apprentissage guidé et personnalisé d'un langage de programmation précis pour des personnes découvrant l'informatique. Les ressources étant le plus souvent en anglais et destiné à un très large public des cours particuliers peuvent être utiles.
2. pour des personnes déjà familières avec un ou plusieurs langages, exploration en profondeur de certains concepts afin de pouvoir les généraliser et comprendre clairement leurs usages, leurs buts. Cette approche s'accompagne d'exemples dans d'autres langages et d'une discussion autour de scénarios d'utilisation et des limites du modèle.
Bien évidemment je ne maîtrise pas tous les concepts de programmation (loin de là). Pour des cours débutants à intermédiaire je suis en mesure d'adresser une grande partie du spectre. Pour des cours avancés en revanche je propose de faire le point sur les notions et les attentes pour vérifier que je sois capable de dispenser un enseignement de qualité.
Les langages pour lesquels vous pouvez me soliciter sont : C#, C, Java, Python, Kotlin, Javascript
Lieu
En ligne depuis la France
Présentation
J'ai reçu mon diplôme d'ingénieur en 2020 et je devrais me lancer dans une thèse cette année. Pour les plus curieux cette thèse devrait adresser les différents modèles de concurrence et d'asynchronisme ainsi que la conception d'un modèle alternatif répondant à un certain nombre de contraintes et d'enjeux.
L'informatique est une science importante (ainsi qu'une passion personnelle évidemment) qui a de nombreuses ramifications et cela m'attriste fortement que les ressources en ligne soient principalement autour d'objectifs marchands (création de sites de e-commerce typiquement) ou de projets tout faits.
Je pense que cette approche ludique et relativement court-termiste est cruciale pour garder un élève motivé et pour créer un sentiment de progression. Toutefois elle doit s'accompagner à mon sens d'une réflexion plus générale sur des concepts informatiques abstraits.
Javascript est un langage très utilisé avec une forte demande de la part des employeurs. Mais sur la masse de développeurs Javascript combien savent ce que sont les prototypes ? Combien sont capables de comparer l'approche de Javascript avec l'approche d'un langage orienté objet comme Java ou C# ? Combien connaissent le lien entre le rôle des fonctions en Javascript et cette vision des objets ?
Cet exemple illustre mon approche : apprendre un langage est bien, prendre le temps d'observer ces spécifictés et de les mettre en perspective avec celles d'autres langages est mieux. Cela permet de prendre de la hauteur, de mieux comprendre comment un langage est pensé et de l'utiliser de manière plus adaptée.
L'informatique est une science importante (ainsi qu'une passion personnelle évidemment) qui a de nombreuses ramifications et cela m'attriste fortement que les ressources en ligne soient principalement autour d'objectifs marchands (création de sites de e-commerce typiquement) ou de projets tout faits.
Je pense que cette approche ludique et relativement court-termiste est cruciale pour garder un élève motivé et pour créer un sentiment de progression. Toutefois elle doit s'accompagner à mon sens d'une réflexion plus générale sur des concepts informatiques abstraits.
Javascript est un langage très utilisé avec une forte demande de la part des employeurs. Mais sur la masse de développeurs Javascript combien savent ce que sont les prototypes ? Combien sont capables de comparer l'approche de Javascript avec l'approche d'un langage orienté objet comme Java ou C# ? Combien connaissent le lien entre le rôle des fonctions en Javascript et cette vision des objets ?
Cet exemple illustre mon approche : apprendre un langage est bien, prendre le temps d'observer ces spécifictés et de les mettre en perspective avec celles d'autres langages est mieux. Cela permet de prendre de la hauteur, de mieux comprendre comment un langage est pensé et de l'utiliser de manière plus adaptée.
Education
Baccalauréat scientifique mention très bien en 2015.
Diplôme d'ingénieur en télécommunications de l'INSA de Lyon en 2020.
Projet de thèse qui devrait voir le jour début 2021.
Diplôme d'ingénieur en télécommunications de l'INSA de Lyon en 2020.
Projet de thèse qui devrait voir le jour début 2021.
Expérience / Qualifications
Stage de développement web de quatre mois (back-end Python flask, front-end Vuejs) chez Excube, cabinet de conseil en cybersécurité à Lyon (2019).
Stage de recherche de six mois chez Red Hat (Mars 2020 à Août 2020).
Multiples projets personnels dont nous pourrons discuter, dont un outil éducatif basé sur le livre Nand2Tetris, un excellent livre qui parle d'informatique à plusieurs niveaux.
Stage de recherche de six mois chez Red Hat (Mars 2020 à Août 2020).
Multiples projets personnels dont nous pourrons discuter, dont un outil éducatif basé sur le livre Nand2Tetris, un excellent livre qui parle d'informatique à plusieurs niveaux.
Age
Adolescents (13-17 ans)
Adultes (18-64 ans)
Seniors (65+ ans)
Niveau du Cours
Débutant
Intermédiaire
Avancé
Durée
60 minutes
90 minutes
120 minutes
Enseigné en
français
anglais
Compétences
Disponibilité semaine type
(GMT -05:00)
New York
Mon
Tue
Wed
Thu
Fri
Sat
Sun
00-04
04-08
08-12
12-16
16-20
20-24
Garantie Le-Bon-Prof