This lesson is only available in Korean for now.
Dr. Son's Discrete Mathematics, First Steps

From the two words true and false
to ciphers and graphs

You learn discrete mathematics, the mathematics computers use, from the very beginning — analogies instead of memorised formulas, and counting it and checking it yourself instead of only reading.
Python runs right inside this page. There is nothing to install.

🐍 Python🔀 logic🎯 sets & relations 🎲 counting🔐 number theory🇬🇧 English
Start lesson 1 →

How you'll learn

💡Understanding by analogy

A proposition is a sentence that is settled as true or false, a set is a sack you put things in, a function is a pairing-up. You get a picture of the meaning before you memorise the notation.

▶️Run it yourself

Every piece of code has a run button. Take the answer you worked out by hand and have Python count it and confirm it.

🎨See it drawn

Every lesson comes with an illustration of the idea it teaches.

🛠️Learn by building

You build truth tables, Venn diagrams, the odds on a lottery ticket and RSA encryption, and run them all.

Full curriculum

01
명제 — 참인지 거짓인지 딱 정해지는 문장
이산수학의 가장 작은 벽돌
✓
02
진리표 — 모든 경우를 빠짐없이 적는 표
그리고 · 또는 · 아니다
✓
03
조건명제 — 만약 …라면
역 · 이 · 대우, 그리고 헷갈리는 '거짓이면 참'
✓
04
부울대수 — 논리를 계산으로 바꾸기
그리고 그 계산을 그대로 만든 전자 회로
✓
05
한정기호 — 모든 것과 어떤 것
∀ 와 ∃, 그리고 그 부정
✓
06
증명 — 우겨서 이기는 게 아니라 길을 놓는 일
직접증명 · 대우증명 · 귀류법 · 반례
✓
07
집합 — 순서도 중복도 없는 자루
무엇이 들었는지만 중요합니다
✓
08
집합 연산 — 겹치는 부분, 합친 부분, 빼는 부분
벤 다이어그램은 진리표의 그림 버전입니다
✓
09
관계 — 누가 누구와 이어져 있는가
반사 · 대칭 · 추이, 그리고 데이터베이스의 조상
✓
10
함수 — 하나에 하나씩만 짝지어 주는 규칙
단사 · 전사 · 전단사, 그리고 해시와 암호
✓
11
수학적 귀납법 — 도미노 쓰러뜨리기
무한히 많은 것을 두 줄로 증명하는 법
✓
12
점화식 — 자기를 자기로 설명하기
피보나치 · 하노이 · 그리고 알고리즘의 비용
✓
13
세는 법 — 곱할 때와 더할 때
경우의 수의 두 가지 기본기
✓
14
순열 — 순서가 있는 뽑기
줄 세우기, 그리고 팩토리얼의 폭발
✓
15
조합 — 순서를 따지지 않는 뽑기
파스칼 삼각형과 이항정리
✓
16
비둘기집 원리 — 세어 보지 않고도 아는 것
너무 당연해서 강력한 원리
✓
17
포함배제 — 두 번 센 것을 도로 빼기
더하고, 빼고, 다시 더하고
✓
18
확률 — 세는 일의 다른 이름
경우의 수를 전체로 나누면 확률
✓
19
정수론 — 나머지의 세계
소수 · 최대공약수 · 합동, 그리고 암호
✓
20
그래프 — 점과 선으로 세상 그리기
쾨니히스베르크의 다리에서 지하철 노선도까지
✓