Montréal, cégep, programmes d'informatique
Oui, je donne aussi des cours pour ce programme. Le tutorat au cégep à Montréal se résume trop souvent au calcul différentiel de Sciences de la nature, et les étudiants inscrits en Techniques de l'informatique ou en Sciences informatiques et mathématiques ne trouvent personne pour leur cours de mathématiques. J'accompagne ces étudiants sur le cours Mathématiques pour l'informatique, porté dans plusieurs cégeps par le code 201-N11 : logique booléenne, systèmes de numération, théorie des ensembles et relations, graphes et matrices.
Les programmes d'informatique du cégep ont leur propre cours de mathématiques, distinct de la séquence NYA, NYB, NYC suivie en Sciences de la nature. Il porte selon les établissements le code 201-N11 ou un code voisin, et il s'appelle presque partout Mathématiques pour l'informatique ou Mathématiques discrètes. Un étudiant en Techniques de l'informatique le suit généralement dans sa première année, et un étudiant du programme intégré Sciences informatiques et mathématiques le retrouve comme cours de concentration à côté des cours de calcul.
La différence avec le calcul différentiel n'est pas une différence de difficulté, c'est une différence de nature. Il n'y a ici ni limite, ni dérivée, ni intégrale. Le cours travaille sur des objets finis et discrets : des propositions vraies ou fausses, des motifs de bits, des ensembles, des relations, des sommets reliés par des arêtes. C'est exactement la mathématique qui se cache derrière une condition dans un programme, une requête de base de données, un masque de bits ou un parcours de réseau.
C'est aussi un cours qui décide de la suite du programme. La logique booléenne se retrouve dans toutes les conditions écrites en programmation, les ensembles et les relations reviennent en base de données, la numération réapparaît dès qu'il faut comprendre un dépassement de capacité ou une comparaison de nombres à virgule flottante, et les graphes reviennent en structures de données. Un étudiant qui laisse passer ce cours le paie deux fois.
Le découpage varie un peu d'un cégep à l'autre, et certains plans de cours ajoutent un bloc de dénombrement et de probabilités ou une introduction à la récursivité. Envoyez-moi votre plan de cours, je m'aligne dessus.
Le premier obstacle est le format de la réponse. Jusqu'au secondaire, une question de mathématiques se termine par un nombre. Ici, on demande de démontrer que deux ensembles sont égaux, de justifier qu'une relation est transitive, ou d'expliquer pourquoi une simplification est valide. Un étudiant qui a compris la notion peut perdre la moitié des points simplement parce qu'il a donné le résultat sans le raisonnement.
Le deuxième vient du profil des étudiants. Beaucoup arrivent en Techniques de l'informatique depuis une séquence CST ou TS, parfois après quelques années passées hors de l'école. Ils sont souvent très à l'aise avec un ordinateur et beaucoup moins avec une notation abstraite. Voir écrit l'ensemble des parties d'un ensemble, un cardinal d'union ou la négation d'une conjonction suffit à faire décrocher, alors que la même idée exprimée en code passerait sans difficulté. Une bonne partie du travail consiste à traduire dans les deux sens.
Le troisième est la vitesse. Le cours enchaîne quatre univers différents en une session : on passe des tables de vérité au complément à deux, puis aux relations d'équivalence, puis aux matrices, sans que rien ne semble relier ces chapitres. Un étudiant qui prend du retard sur un bloc n'a pas d'occasion de le rattraper, parce que le suivant commence sur un terrain neuf.
Et enfin les erreurs de détail, qui coûtent très cher en évaluation : lire les restes d'une division successive dans le mauvais sens, confondre un élément et l'ensemble qui le contient, oublier qu'une implication est vraie dès que son hypothèse est fausse, ou croire qu'un produit de matrices se lit dans n'importe quel ordre.
Une série par bloc du cours, au format d'un examen : 10 exercices notés sur 100 points, une partie sur les bases et une partie au niveau de l'évaluation finale, avec le corrigé détaillé de chaque question. Accès libre, sans inscription.
Connecteurs et tables de vérité, lois de l'algèbre de Boole et De Morgan, implication avec contraposée et réciproque, quantificateurs et leur négation, formes normales lues sur une table. Puis une partie niveau examen : tableau de Karnaugh à quatre variables, demi-additionneur et porte NAND universelle, un contrôle d'accès à simplifier et la validation d'un raisonnement par le modus tollens.
10 exercices corrigés • /100 points
Poids positionnels et conversions entre binaire, octal, hexadécimal et décimal, divisions successives, arithmétique binaire posée, complément à deux et plage asymétrique, débordement contre retenue. Puis une partie niveau examen : masques et opérations bit à bit, codes ASCII, BCD, Gray et parité, un problème de couleurs et de mémoire, et le format IEEE 754 en simple précision. Deux laboratoires complets, en base 8 puis en base 16, prolongent les bases : notation développée, conversions dans les deux sens, additions, complément à 8 et à 16, soustractions, multiplications posées et aller-retour contrôlé en décimal.
12 exercices corrigés • /120 points
La division euclidienne et le reste toujours positif, avec la différence de convention entre Python et le langage C qui piège les programmeurs ; les congruences, leurs trois propriétés d'équivalence et la compatibilité avec la somme et le produit, démontrée puis utilisée pour réduire avant de multiplier ; les tables modulo 7 et modulo 6, où apparaissent les diviseurs de zéro et la raison pour laquelle un module premier change tout ; l'algorithme d'Euclide justifié en une ligne et illustré par un pavage de carrés, avec le pire cas des nombres de Fibonacci ; l'inverse modulaire, son critère d'existence et les équations de congruence à zéro, une ou plusieurs solutions. La partie B établit Bézout et l'algorithme d'Euclide étendu, le petit théorème de Fermat et l'exponentiation rapide avec son gain chiffré, puis traite les clés de contrôle ISBN et leur faiblesse sur les interversions, et enfin un chiffrement RSA complet sur de petits nombres premiers.
10 exercices corrigés • /100 points
Appartenance contre inclusion, ensemble des parties, opérations et produit cartésien, De Morgan par double inclusion et par table d'appartenance, diagrammes de Venn et inclusion-exclusion, relations binaires avec leur matrice et leur graphe sagittal. Puis une partie niveau examen : les quatre propriétés, relations d'équivalence et partitions, un sondage à trois ensembles et un problème d'ordre partiel avec fermeture transitive.
10 exercices corrigés • /100 points
Une table de vérité est une condition composée, un masque de bits est une ligne d'opérateur, une relation d'équivalence est ce qui rend une table de hachage correcte. L'étudiant retient une notion qui sert plutôt qu'une notation à mémoriser.
Double inclusion, vérification des propriétés d'une relation, validité d'un raisonnement : on apprend à écrire l'argument dans la forme que le correcteur cherche, parce que c'est là que se perdent les points.
On avance sur le bloc en cours pour ne jamais accumuler de retard, avec des exercices ciblés sur les points faibles de l'étudiant. Les quatre blocs étant largement indépendants, on peut aussi n'en reprendre qu'un seul avant un examen.
Les étudiants d'informatique ont rarement un seul problème à la fois. Java, C++, Python, bases de données, algorithmique, Linux et ligne de commande : on peut traiter les mathématiques et la programmation dans une même séance plutôt que de chercher deux tuteurs.
L'étudiant peut m'écrire entre les séances : un exercice bloqué la veille d'un examen, une conversion qui ne tombe pas juste, un tableau de Karnaugh qu'il n'arrive pas à regrouper. Ce suivi est compris dans le tarif.
Je suis bachelier en informatique, finance et mathématiques de l'Université McGill et maître en informatique appliquée de l'Université Concordia. Les mathématiques discrètes sont la matière que j'ai vue des deux côtés : comme cours, puis comme fondation de tout ce qui vient ensuite en programmation, en base de données et en architecture des ordinateurs.
C'est aussi un cours pour lequel il est difficile de trouver un tuteur à Montréal. Les tuteurs de mathématiques connaissent les calculs de Sciences de la nature et pas la logique booléenne, les tuteurs d'informatique connaissent le code et pas la rédaction d'une preuve. J'accompagne également les étudiants de Sciences de la nature sur les cours de calcul et d'algèbre linéaire, ainsi que les étudiants de l'Université McGill et de l'Université Concordia en première année.
En savoir plus sur mon parcours →C'est le cours de mathématiques de la formation spécifique des programmes d'informatique au cégep, porté dans plusieurs cégeps de Montréal par le code 201-N11. Il n'a presque rien à voir avec le calcul différentiel NYA de Sciences de la nature : c'est un cours de mathématiques discrètes, construit autour de la logique booléenne, des systèmes de numération, de la théorie des ensembles et des relations, et d'une introduction aux graphes et aux matrices. Les notions y servent directement en programmation, en base de données et en architecture des ordinateurs.
Oui. J'accompagne les étudiants des programmes d'informatique du cégep, en Techniques de l'informatique comme en Sciences informatiques et mathématiques, sur le cours de mathématiques 201-N11 et sur les cours de programmation qui l'accompagnent. Bachelier en informatique de l'Université McGill et maître en informatique appliquée de l'Université Concordia, je connais ce cours des deux côtés : comme mathématiques, et comme fondation de ce que l'étudiant programmera ensuite.
Parce qu'il change la nature du travail demandé. Au secondaire, une question de mathématiques se résout par un calcul. En 201-N11, il faut démontrer une égalité d'ensembles par double inclusion, justifier qu'une relation est transitive, lire une table de vérité à l'envers pour reconstruire une expression, ou expliquer pourquoi une addition binaire déborde. Beaucoup d'étudiants arrivent d'une séquence CST ou TS, n'ont jamais rédigé de preuve, et se retrouvent bloqués non par la difficulté technique mais par le format de la réponse attendue.
Les quatre blocs du cours : la logique booléenne et mathématique (connecteurs, tables de vérité, algèbre de Boole, quantificateurs, formes normales, tableaux de Karnaugh, circuits logiques), les systèmes de numération (binaire, octal, hexadécimal, complément à deux, débordement, codes, virgule flottante IEEE 754), la théorie des ensembles et les relations (opérations, De Morgan, Venn et inclusion-exclusion, relations d'ordre et d'équivalence), et l'introduction aux graphes et aux matrices (degrés, matrice d'adjacence, comptage de chemins, connexité, déterminant, transformations du plan).
Oui, une série par bloc du cours, en accès libre sur le site. Chaque série reprend le format d'un examen : 10 exercices notés sur 100 points, une première partie sur les bases et une seconde au niveau de l'évaluation finale, avec le corrigé détaillé de chaque question. Les quatre séries couvrent la logique booléenne, les systèmes de numération, les ensembles et relations, et les graphes et matrices.
Contactez-moi pour une première séance. Je m'aligne sur votre plan de cours, et on peut traiter les mathématiques et la programmation dans la même séance.