Montreal, CEGEP, computer science programs

Mathematics for Computer Science 201-N11, Tutor in Montreal

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.

Course 201-N11 Techniques de l'informatique Logic and boolean algebra Binary and hexadecimal Sets, relations, graphs ★ 5.0 · 11 Google reviews

Mathematics for Computer Science: what to know

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 four blocks of 201-N11

Boolean and mathematical logic

  • Connectives and truth tables
  • Laws of boolean algebra and De Morgan
  • Implication, contrapositive, converse, negation
  • Quantifiers and negating a quantified statement
  • Normal forms and Karnaugh maps
  • Logic circuits, the adder, the NAND gate

Number systems

  • Positional weights, binary, octal, hexadecimal
  • Conversion by successive division and multiplication
  • Binary arithmetic worked by hand
  • Two's complement and its asymmetric range
  • Overflow versus carry
  • Masks, bitwise operations, ASCII, BCD, Gray, IEEE 754

Sets and relations

  • Membership, inclusion, power set
  • Operations and the Cartesian product
  • De Morgan by double inclusion
  • Venn diagrams and inclusion-exclusion
  • Binary relations, matrix, directed graph
  • Order and equivalence relations, classes and partitions

Graphs and matrices

  • Vertices, edges, degrees, the handshake lemma
  • Adjacency matrix of a directed graph
  • Matrix operations and non-commutativity
  • Powers of the matrix and counting paths
  • Connectivity and the reachability matrix
  • Determinant, inverse, transformations of the plane

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.

What actually blocks students

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

Free corrected exercises for 201-N11

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.

How the sessions work

Every idea is tied to what it becomes in code

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.

We work on writing justifications

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.

Follow-up at the pace of the course plan

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.

Programming courses in the same session

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.

Support between sessions, included

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.

Why this course in particular

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 →

Frequently asked questions

What is course 201-N11?

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.

Do you tutor Techniques de l'informatique students?

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.

Why is the course hard?

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.

Which chapters do you cover?

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.

See also

Taking 201-N11 in a CEGEP computer science program?

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.

Site by Studio Squalli