Discrete Mathematics YMT211 · Fall 2026 Assoc. Prof. Ferhat Uçar

Fırat University · Software Engineering · YMT211

Discrete
Mathematics

The language computers think in. Logic, proofs, sets, counting and graphs: the ideas under every program you will ever write, learned on the board and then run in Python every single week.

When
Monday
08:15–12:00
Where
B101 / YM LAB 2
Who
Assoc. Prof. Ferhat Uçar

try it ↓ edit the formula, the truth table updates live

logic playground · truth_table.py

~ not · & and · | or · ^ xor · -> implies · <-> iff · variables p q r s …

python › 

Fall 2026 · 15 Mondays

One semester, six ideas

Each Monday is one lecture and one lab. Click any week to open its notes, reading and lab.

Full schedule
  1. 01 · weeks 1–3 p → q

    Propositional Logic

    Propositions, connectives and truth tables: the same Boolean logic your CPU, your if-statements and every search engine run on.

  2. 02 · weeks 4–5 ∀x ∃y

    Predicate Logic and Quantifiers

    Variables, predicates, ∀ and ∃. Precise specifications for programs and queries, from SQL WHERE clauses to API contracts.

  3. 03 · weeks 6–8 ∴

    Reasoning and Proof

    Rules of inference and proof techniques. How to be certain, and how verified software and theorem provers make machines certain too.

  4. 04 · weeks 9–11 A ∩ B

    Sets, Relations and Functions

    The data types of mathematics: sets, relations, functions, sequences, and the surprising sizes of infinity.

  5. 05 · weeks 12–13 n → n+1

    Induction, Recursion and Counting

    Prove things for every n, reason about recursive code, and count possibilities without listing them.

  6. 06 · weeks 14–15 G = (V, E)

    Graphs and Trees

    Networks, maps, schedules and file systems. Model the connected world and color it without conflicts.

Why this course

You already use discrete math. This term you learn to see it.

  • if (user && !banned)

    Every condition in your code

    is propositional logic. Simplify it wrong and you ship a security bug.

  • SELECT … WHERE ∀ ∃

    Every database query

    is predicate logic over sets. JOINs are Cartesian products with a filter.

  • seL4 · CompCert · Lean

    Verified software

    uses machine-checked proofs so aircraft, phones and compilers cannot fail silently.

  • hash(x) mod n

    Hash tables and caches

    are functions, relations and the pigeonhole principle doing the heavy lifting.

  • O(n log n)

    Algorithm analysis

    is sequences, sums, recurrences and induction. Growth rates decide what scales.

  • G = (V, E)

    Maps, social networks, compilers

    are graphs. Google Maps finds paths; register allocators color graphs.

How a Monday works

Board first, then code

Every class has two parts. The lab is designed so you can start on your own: the steps are on the lab page, the tests check your work, the instructor joins you in the lab.

  1. ∴

    Part 1

    Lecture

    New ideas on the board, worked examples, quick checks. Bring paper: you will write truth tables and proofs by hand.

  2. >_

    Part 2

    Lab

    Accept the week’s lab on Classroom 50, open it in Codespaces (VS Code in your browser) and turn the lecture into Python. Tests tell you instantly how you are doing.

  3. ✓

    After class

    Submit and reflect

    Finish the lab, git push, read your autograded score on GitHub. Skim next week’s reading.

Announcements

All →

Contact & channels

Channels

  • WhatsApp channel

    Quick announcements and reminders land here first. Everyone is expected to join.

  • Instagram · @dr.ferhatucar

    Short, useful posts on AI, software and what we do in class.

  • Public work calendar

    My weekly schedule: classes, meetings and when I am available.

  • Office hours booking

    Questions, your project or advice: pick a time that suits you.

Grading

Midterm 40% Final exam Project (15% of final)