University of Toronto

CSC165 Tutoring

Mathematical Expression and Reasoning — the course that teaches you to think like a computer scientist, not just code like one.

Logic, proofs, induction — I'll make the abstract concrete so you stop guessing and start reasoning.

📚 Book a Session

✨ First Hour FREE!

What We'll Cover in CSC165

Propositional Logic (AND, OR, NOT, implication, biconditional)
Logical Equivalences & Truth Tables
Predicate Logic & Quantifiers (∀, ∃)
Direct Proofs
Proof by Contrapositive
Proof by Contradiction
Proof by Cases
Mathematical Induction (simple + strong)
Structural Induction
Sets, Subsets & Set Operations
Functions: injective, surjective, bijective
Relations: reflexive, symmetric, transitive, equivalence classes
Divisibility, GCD & Modular Arithmetic
Assignment walkthroughs (proofs, induction, combinatorics)

Why CSC165 Trips Students Up

🧮 It Is Not Programming

CSC students expect to write code. CSC165 asks you to write proofs in formal mathematical language. Most students have never done this before — the whole mental model has to shift.

🔄 Induction Feels Circular

Mathematical induction is the #1 stumbling block. Students struggle with the structure: assuming P(k) to prove P(k+1) feels like assuming the thing you're proving. It is not — and once that clicks, everything opens up.

📐 Precision Is Brutal

In CSC165, vague is wrong. "It is obvious that..." earns zero marks. Every step must be justified, every quantifier placed correctly, every logical gap explicitly closed. Examiners are ruthless about rigor.

How I Teach CSC165

🗺️

Proof Blueprints First

Every proof type has a skeleton. I give you the blueprint — the exact structure you fill in — so you're never staring at a blank page. Direct proof, contrapositive, contradiction, induction: each has a template.

🔧

Write Proofs Together Live

We work through actual CSC165-style problems together. I annotate every step, flag every justification, and make the grader's expectations explicit — so your written proofs earn full marks.

🎯

Exam-Pattern Drilling

CSC165 exams recycle patterns: induction on divisibility, predicate negation, bijection proofs. I know the recurring question types and drill you on them until the structure is automatic.

🌉

Connect It to CS

CSC165 is not abstract for its own sake. I connect proofs to algorithm correctness, Big-O reasoning, and the foundations of CSC236 and CSC263 so you understand why this matters beyond the course.

Don't Lose Marks on Proofs You Could Have Nailed

CSC165 is a prerequisite for nearly every upper-year CS course. Nail the foundations now — book a free first session.

📚 Book Free First Session

No commitment. See if we're a good fit first.

Get CSC165 Help Today

Frequently Asked Questions

I am good at coding but terrible at math proofs — can you help?

That is the most common CSC165 student profile. Programming ability does not transfer directly to proof writing. The good news: proof writing is a learnable skill with clear patterns. We will build yours.

💰 What are your rates?

First hour is FREE! After that:

  • Individual Sessions: $40/hour
  • Group Sessions (2+ students): $25/hour per student

My CSC165 midterm is next week. Is there still time?

Yes. One focused session on proof blueprints and induction structure can meaningfully move your marks. Message me now and we will build a crash plan for the exam topics.

Does this connect to CSC236?

Directly. CSC236 (Theory of Computation) builds on everything in CSC165 — induction, predicate logic, asymptotic notation. Solid CSC165 foundations make CSC236 significantly easier.