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. Every chapter of the course has a free corrected exercise set and a revision sheet in English, on the 201-N11 course hub.
CEGEP computer science programs have their own mathematics course, distinct from the 201-SN2-RE, 201-SN3-RE and 201-SN4-RE sequence (formerly NYA, NYB and NYC) 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 many course plans add proof techniques, modular arithmetic, injective and surjective functions, induction and recursion, and counting and probability. Those chapters are covered too, each with its own corrected set and revision sheet. 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.
Written in English for students taking the course at an English CEGEP, in the format of a real test, with a full worked solution for every exercise. More sets of the course are available in French below.
Logical connectives and truth tables, the laws of Boolean algebra and De Morgan, the implication with its contrapositive and converse, quantifiers and their negation, normal forms read off a truth table. Then an exam-level part: a four-variable Karnaugh map, the half adder and the universal NAND gate, an access control system to simplify, and checking an argument with modus tollens.
10 corrected exercises • 100 points
In EnglishThe five techniques of the course, and above all choosing the structure before the first line: direct proof, the contrapositive that is not the converse, proof by contradiction with irrationality and the infinitude of primes, proof by cases, disproof by counterexample. Then an exam-level part: the pigeonhole principle proved and then generalized, induction placed among the five, the impossibility of a universal lossless compressor and four write-ups of the same proof to sort out.
10 corrected exercises • 100 points
In EnglishPositional weights and conversions between binary, octal, hexadecimal and decimal, repeated division, binary arithmetic worked by hand, two's complement and its asymmetric range, overflow versus carry. Then an exam-level part: masks and bitwise operations, ASCII, BCD and Gray codes with parity, a problem on colours and memory, and the IEEE 754 single-precision format. Two complete labs, in base 8 and then in base 16, extend the basics: expanded notation, conversions both ways, addition, 8's and 16's complements, subtraction, long multiplication and a round trip checked in decimal.
12 corrected exercises • 120 points
In EnglishAddition and subtraction column by column, borrowing against the two's complement method, multiplication and the two right shifts, the asymmetric signed range, and the difference between a carry out and a signed overflow. Then at exam level: hexadecimal masks on a status register, binary fractions and Q4.4 fixed point, a 12-bit sensor whose sign extension is wrong, and the IEEE 754 single precision format down to the last bit.
10 corrected exercises • 100 points
In French
One exercise set per chapter of the course, in the format of a real test, with a first part on the fundamentals, a second at final assessment level and a full worked solution for every exercise. Nine chapter sets, each with its revision sheet: boolean logic, number systems, sets and relations, graphs and matrices, then proof techniques, modular arithmetic, injective and surjective functions, induction and recursion, and counting and probability. A synthesis exam brings the course together. Free, no account needed, written in French.
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 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 differential calculus 201-SN2-RE (formerly NYA): 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.
The four core blocks, and the chapters many course plans add: boolean and mathematical logic, number systems including two's complement and IEEE 754, set theory and relations, and the introduction to graphs and matrices, plus proof techniques, modular arithmetic, injective and surjective functions, induction and recursion, and counting and probability.
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.