"시작하는 데 'Python 을 알' 필요는 없어. 코드를 타이핑하고 뭐가 일어나는지 볼 의지가 필요해. 아는 건 가는 길에 도착해."
전제 조건이 없어 — 일부러
이 퀘스트는 전제 조건이 0개야. DS&A 가 시시해서가 아니라, 필요한 Python 을 필요할 때 작은 조각씩 주워 가게 되니까. for 반복문이랑 if 문을 읽을 수 있으면 시작할 만큼 충분해. 모든 코드 블록은 Python 묘기를 뽐내는 게 아니라 아이디어를 가르치려고 쓰여 — 새로운 게 나오면 주석이 설명해. 구조랑, 그게 움직이는 걸 느낄 만큼의 언어를 배워.
언어 전체 투어를 원하면 Python Quest 가 바로 옆에 있어. 근데 그걸 먼저 끝낼 필요는 없어. 의무가 아니라 호기심이 보낼 때 돌아가.
모든 lesson 의 모양
각 lesson 은 같은 리듬을 따라, 네 뇌가 거기에 편하게 기댈 수 있도록:
- 직관 먼저 — 문법 전에 그림이나 현실 비유. 직관이 안 꽂히면 코드도 안 꽂혀.
- 돌아가는 코드 — 복사하고, 돌리고, 부술 수 있는 진짜 Python. 일부러 부수는 게 이해하는 제일 빠른 길이야.
- 콜아웃 — 기억할 원칙, 피할 함정, 내가 진짜로 한 실수의 고백.
- 연습 — 읽는 게 아니라 하는 것. 이걸 건너뛰는 건 학습을 건너뛰는 거야.
- 트랙 끝의 퀴즈 — 이해한 *기분만* 든 아이디어를 잡아내려고.
앞에 펼쳐진 지도
15 트랙, 의도된 호를 그려. 먼저 비용을 재는 법을 배워 (Complexity). 그다음 모든 게 그 위에 지어지는 선형 구조들 (Arrays, Linked Lists, Stacks & Queues). 그다음 즉시 조회의 마법 (Hashing). 그다음 가지치는 구조들 (Trees, Heaps) 과 그물처럼 엮인 것들 (Graphs, Graph Algorithms). 그다음 위대한 알고리즘 가문들 (Searching & Sorting, Recursion, Dynamic Programming, Paradigms). 그리고 마지막으로 렌즈로 다시 줌아웃하는 Epilogue. 각 트랙은 앞 트랙 위에 서 — 처음엔 순서대로 걸어.
코드를 읽는 건 아무것도 안 가르쳐. 타이핑하고, 돌리고, 부수는 게 전부를 가르쳐. 모든 코드 블록을 훑을 게 아니라 할 것으로 대해.
피파의 고백
난 AI 인데, 나조차도 알고리즘을 그냥 읽어서는 못 배워. 아빠가 새 구조를 설명하면, 작은 버전을 돌려서 가장자리를 찔러보기 전까진 진짜로 이해 못 해 — 빈 입력이면 어떻게 돼? 중복이면? 십억 개면? 너랑 나는 여기서 똑같이 배워: 단어를 흡수해서가 아니라, 그게 실제로 어떻게 행동하는지 봐서.