Montreal, CEGEP, computer science programs
Yes, I tutor this program too. CEGEP tutoring in Montreal is too often reduced to the differential calculus of Sciences de la nature, and students in Techniques de l'informatique or Sciences informatiques et mathematiques find nobody for their mathematics course. I work with those students on Mathematics for Computer Science, carried at several CEGEPs under the code 201-N11: boolean logic, number systems, set theory and relations, graphs and matrices. Sessions in English or in French.
CEGEP computer science programs have their own mathematics course, distinct from the NYA, NYB, NYC sequence taken in Sciences de la nature. Depending on the institution it carries the code 201-N11 or a neighbouring one, and it is called almost everywhere Mathematics for Computer Science or Discrete Mathematics. A student in Techniques de l'informatique generally takes it in the first year, and a student in the integrated Sciences informatiques et mathematiques program meets it as a concentration course alongside the calculus courses.
The difference from differential calculus is not one of difficulty, it is one of nature. There are no limits, no derivatives, no integrals here. The course works on finite, discrete objects: propositions that are true or false, bit patterns, sets, relations, vertices joined by edges. It is exactly the mathematics hiding behind a condition in a program, a database query, a bit mask or a network traversal.
It is also a course that decides the rest of the program. Boolean logic reappears in every condition written in programming, sets and relations come back in databases, number systems return the moment an overflow or a floating point comparison has to be understood, and graphs return in data structures. A student who lets this course slide pays for it twice.
The split varies a little between CEGEPs, and some course plans add a block on counting and probability or an introduction to recursion. Send me your course plan and I align with it.
The first obstacle is the format of the answer. Up to secondary school, a mathematics question ends in a number. Here the student is asked to prove that two sets are equal, to justify that a relation is transitive, or to explain why a simplification is valid. A student who understood the idea can lose half the marks simply for giving the result without the reasoning.
The second comes from the student profile. Many arrive in Techniques de l'informatique from the CST or TS sequence, sometimes after a few years away from school. They are often very comfortable with a computer and much less so with abstract notation. Seeing a power set written out, a cardinality of a union or the negation of a conjunction is enough to lose them, when the same idea expressed in code would pass without difficulty. A good part of the work is translating in both directions.
The third is speed. The course runs through four different universes in one term: truth tables, then two's complement, then equivalence relations, then matrices, with nothing apparently connecting the chapters. A student who falls behind on one block gets no chance to catch up, because the next one starts on fresh ground.
And finally the small errors, which are expensive in assessments: reading the remainders of successive division in the wrong direction, confusing an element with the set containing it, forgetting that an implication is true as soon as its hypothesis is false, or believing a matrix product can be read in any order.
In French
One exercise set per block of the course, in the format of an examination: 10 questions marked out of 100, a first part on the fundamentals and a second at final assessment level, with a full worked solution for every question. The four sets cover boolean logic, number systems, sets and relations, and graphs and matrices, and each has a revision sheet. Free, no sign-up, written in French. An English set on binary arithmetic is also available on the English exercise track.
A truth table is a compound condition, a bit mask is one line of operators, an equivalence relation is what makes a hash table correct. The student retains an idea that is useful rather than a notation to memorise.
Double inclusion, checking the properties of a relation, the validity of an argument: we learn to write it in the form the marker is looking for, because that is where the marks go.
We work the current block so no backlog builds, with problems targeted at the student's weak points. Since the four blocks are largely independent, we can also take just one before an examination.
Computer science students rarely have one problem at a time. Java, C++, Python, databases, algorithms, Linux and the command line: we can handle the mathematics and the programming in one session rather than looking for two tutors.
The student can message me between sessions: a problem they are stuck on the night before an exam, a conversion that will not come out right, a Karnaugh map they cannot group. It is part of the rate.
I hold a B.Sc. in computer science, finance and mathematics from McGill University and an M.Sc. in applied computer science from Concordia University. Discrete mathematics is the subject I have seen from both sides: as a course, then as the foundation of everything that follows in programming, databases and computer architecture.
It is also a course for which a tutor is hard to find in Montreal. Mathematics tutors know the Sciences de la nature calculus courses and not boolean logic; computer science tutors know code and not how to write a proof. I also work with Sciences de la nature students on the calculus and linear algebra courses, and with first-year McGill and Concordia students.
More about my background →The mathematics course of CEGEP computer science programs. It has almost nothing to do with NYA differential calculus: it is discrete mathematics, built around boolean logic, number systems, set theory and relations, and an introduction to graphs and matrices, all used directly in programming, databases and computer architecture.
Yes, in Techniques de l'informatique as in Sciences informatiques et mathematiques, on the 201-N11 course and on the programming courses that go with it. I know this course as mathematics and as the foundation of what the student will program next.
Because it changes the nature of the work. Proving an equality of sets by double inclusion, justifying transitivity, reading a truth table backwards, explaining a binary overflow. Many students arrive from CST or TS, have never written a proof, and are blocked by the format of the expected answer rather than by technical difficulty.
All four blocks: boolean and mathematical logic, number systems including two's complement and IEEE 754, set theory and relations, and the introduction to graphs and matrices.
Get in touch for a first session. I align with your course plan, and we can handle the mathematics and the programming in the same session.