Bonjour,
Je suis développeur depuis bientôt un décennie et mon niveau de math ne s'est pas beaucoup amélioré depuis ma sortie de l'école (BTS). J'ai récemment fait l'acquisition de l'ouvrage "Conception d'algorithmes
Principes et 150 exercices corrigés" et je constate que mon niveau en math appliqué à la programmation me handicape vraiment pour sa lecture.
Comme un développeur se doit d'avoir un bon niveau de maths pour bien faire son travail, je me tourne vers vous afin d'obtenir des conseils, des références ou des indications sur un parcours à suivre pour remédier à mon retard. Si vous me posiez la question "quel est ton niveau" actuel ou "où t'est tu arrêté", je crois que je pourrais dire que repartir du début (lycée) ne me ferais pas de mal.
Pour illustrer cela, voici un extrait du dit ouvrage:
Je maîtrise les termes comme nombre rationnel, fraction irréductible, etc. Mais je me perd très vite dans les expression mathématique et la compréhension du sens global de ce qui est dit. Comme si ma bosse des maths était un dépression des maths :p
Évidemment mon idée n'est pas simplement de re-faire tout le programme de maths lycée + formations scientifique. J'ai une vie active qui ne me laisse pas tant de temps que ça . Je cherche à acquérir ce qui doit être essentiel pour un développeur :)
Merci d'avance !
# Cours particulier
Posté par j_m . Évalué à 5. Dernière modification le 23 juillet 2016 à 19:17.
Tu peux prendre des cours particuliers sur des thématiques qui t'intéressent.
Ou alors en autodidacte en posant des questions sur les forums.
Ici par exemple, on t'explique ce qu'est une démonstration par l'absurde. C'est une des 4 ou 5 techniques de démonstrations de base.
On te dit que démontrer un énoncé par l'absurde, c'est:
-1 Formuler le contraire de cet énoncé,
-2 Trouver une contradiction dans ce "contraire",
-3 Si on trouve une contradiction alors l'énoncé de départ est prouvé. Sinon, eh bien il faut chercher autrement.
Ici l'énoncé "contraire" est : "on a un petit nombre r positif, strictement, et c'est le plus petit des rationnels." C'est bizarre, développons:
Je peux diviser un rationnel par deux. J'ai le droit. J'essaie sur mon r:
Et ça, c'est pas plus petit que r ? Avec les nombres positifs, c'est comme ça. Si on divise le nombre par deux le résultat (baptisé s sur l'image, ou p ou n'importe quoi) est plus petit. Donc r n'est pas le plus petit des nombres rationels positifs. C'est une contradiction.
Voilà je suis arrivé où je voulais! J'ai ma contradiction, l'énoncé de base est démontré.
En espérant que ça t'aide. Sinon bon courage quand même !
[^] # Re: Cours particulier
Posté par j_m . Évalué à 2. Dernière modification le 24 juillet 2016 à 13:06.
Note qu'il doit rester des zones d'ombre dans la démonstration que tu montres. Moi je n'ai fais que paraphraser et structurer:
Comment obtiens-t-on la négation de P ? (j'ai été un peu approximatif dans le vocabulaire dans mon post, ça fait longtemps que je n'ai plus fait de math ;-) )
Et ce truc de r/2 < r, ne faut-il pas le prouver aussi ?
Je ne sais pas trop si c'est évident pour toi, ou si tu es capable de trouver la réponse.
# Expérience
Posté par nlhss (site web personnel) . Évalué à 1.
Coucou, j'ai une certaine expérience de la remise à niveau en mathématiques, car sur la dernière année, je me suis préparé au CAPES de mathématiques, essentiellement basé sur le programme de classe préparatoire de MP/MPSI.
En fait, bien maîtriser les mathématiques c'est un sujet qui est hyper intéressant en soi car ça te donne une réserve de puissance intellectuelle. Mais c'est un savoir qui est aussi un peu laborieux à apprendre. De plus, on dit souvent que les mathématiques ne sont pas applicables à la vie réelle et donc on s'en désintéresse facilement. Rien n'est plus faux en réalité mais elles conservent cette image de discipline austère et difficile d'accès.
Pour schématiser, l'activité mathématique dans les livre est souvent présentée comme une énumération fastidieuse de théorèmes et de preuves. Savoir prouver et avoir des connaissances en logique est très important pour un développeur je pense. En fait, savoir prouver un algo est sans doute dans l'aspect mathématique le plus intéressant pour un développeur.
En terme de mathématiques appliquées, il y a aussi des choses à prendre. Les « recettes » des maths, on peut les réutiliser car un ordinateur est avant tout un calculateur.
En terme de concepts plus élaborés (algèbre linéaire, théorie des groupes) ces derniers sont extrêmement importants, à la fois comme fondation des mathématiques et en terme de culture générale, mais ils demandent aussi un travail approfondi pour être bien maîtrisés.
Tu peux sélectionner ces différents aspects pour te composer une culture intéressante. Tu ne peux pas rattraper 10 ou 15 d'inactivité mathématique comme cela, tu vas avoir besoin de temps et de respirations pour progresser.
Avant tout cela il y a tout un vocabulaire à maîtriser, mais celui ci est en général bien résumé dans le premier chapitre d'un bon bouquin de MPSI.
# Renseigne-toi éventuellement auprès de CNED
Posté par totof2000 . Évalué à 4. Dernière modification le 23 juillet 2016 à 21:57.
http://www.cned.fr/vie-active/remise-a-niveau/formation-base
Aparamment ils ont un test en ligne pour les maths.
A mon avis si tu n'es pas coaché un minimum, tu vas laisser tomber des que quelque chose de plus intéessant se présentera à toi.
# Rigueur mathématique du bouquin
Posté par jben . Évalué à 3.
Tu postes 2 pages du bouquin, et je m'interroge sur la rigueur mathématique d'icelui.
En particulier
Il est immédiat que , mais la réciproque est fausse, juste par exemple, si , alors , mais il n'existe aucun entier tel que .
Ce n'est pas un problème dans le raisonnement, car seulement l'implication directe est nécessaire, l'implication réciproque étant fausse et non nécessaire au raisonnement, mais ça fait tâche.
De plus lorsqu'il écrit la phrase avec le , elle n'est pas déduite de uniquement la phrase précédente, mais aussi de .
C'est peut-être ma vision personnelle, mais je pense que pour suivre un raisonnement math, il faut que le raisonnement soit rigoureux et explicite. Ici, il n'est pas rigoureux, voir faux mais sur des points qui ne remettent pas en cause la validité globale du raisonnement, et pas explicite, puisqu'on réutilise des affirmation précédente à l'opposé du sens même du connecteur logique .
[^] # Re: Rigueur mathématique du bouquin
Posté par Michaël (site web personnel) . Évalué à 2. Dernière modification le 25 juillet 2016 à 13:54.
L'équivalence ne vaut que sous la condition (clairement indiquée par le texte) que p et q sont premiers entre eux. Cela intervient une deuxième fois quand il écrit “reformulation.”
[^] # Re: Rigueur mathématique du bouquin
Posté par jben . Évalué à 3.
Justement, il faut l'indiquer quand tu écrit l'équivalence.
D'ailleurs, en fait, quand on regarde, c'est ni un raisonnement par équivalence ou implication qui est fait. C'est un raisonnement déductif. Les phrases logiques du type sont à fixé.
Personnellement, je proposerai une formulation de type là (en très détaillé, ce qui est le but d'un ouvrage pédagogique) :
Et pour une version courte, je proposerais.
# Quelques conseils
Posté par Michaël (site web personnel) . Évalué à 3. Dernière modification le 25 juillet 2016 à 14:33.
Déjà je voudrais commencer par hiérarchiser un peu les objectifs de compétence, disons, par ordre de difficulté:
(Dès fois 5 et 6 sont abordables, mais dès fois c'est quasiment de la recherche!)
Ensuite pour la méthode je ne peux que te conseiller:
De travailler régulièrement, par exemple tu peux avoir pour objectif de regarder les 3/4 du livre que tu as acheté “à la cool, pépère” en te prenant 2 heures tous les vendredi matin pendant 6 mois.
Prendre le temps de chercher, et se poser des méta-questions: quand on lit la solution d'un problème qu'on a pas su résoudre, c'est bien de se demander “qu'est-ce que c'est le truc dur auquel je n'aurais pas pensé”. On peut aussi essayer des preuves différentes, par exemple la deuxième preuve utilise les relations de divisibilité. Le théorème de décomposition en facteurs premiers explique les relations de divisibilité entre les nombres, on peut essayer de prouver le même énoncé en utilisant cette décomposition au lieu de la version “petit bras” où l'on ne regarde que la division par 2.
Parler à des gens qui s'intéressent aussi à ça, par exemple une question de maths peut faire un bon petit sujet de cantine. :)
Tu n'es pas obligé de faire tous les exercices d'une leçon tout de suite, tu peux en garder un peu pour après.
Pour le sujets je pense qu'au début, c'est plus satisfaisant de se concentrer sur des sujets assez délimités pour avoir des compétences assez solides sur lesquelles on sait qu'on peut s'appuyer. Par exemple tu peux choisir parmi la “théorie des nombres”, de la combinatoire, de l'analyse réelle et des probabilités, je pense que n'importe laquelle de ces branches devrait être relativement proche de ton travail de programmeurs (l'analyse réelle est peut-être un peu en périphérie).
Ensuite le choix du livre. C'est très important de piocher des livres qui ont une vraie approche pédagogique et pas des listes fourre-tout d'exercices. Si tu es à l'aise en anglais je peux te recommander les quelques livres suivants (du plus facile au plus dur, disons):
C'est tous des classiques que tu devrais trouver d'occasion sans aucun problème à très bon marché. Je pense que le niveau est peut-être un peu exigeant pour un néo bachelier mais comme tu as déjà des cours dans le supérieur tu as déjà vu des preuves et des cours et même si tu as oublié le contenu je pense que tu devrais arriver à profiter de ces livres!
# Merci pour vos réponses
Posté par bux (site web personnel, Mastodon) . Évalué à 2.
Merci à tous pour tous ces conseils et analyses de la situation ! Je vais me construire un petit cursus à l'aide de vos remarques :)
🦀🐍 http://github.com/buxx 🖥 https://algoo.fr 📋 https://tracim.fr
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.