|
| 1 | +# `starting.ipynb` 3시간 수업 운영안 (1.5h × 2회) |
| 2 | + |
| 3 | +- 구성: **각 회차 90분 = (앞 30분 요약 강의) + (뒤 60분 실습/문제풀이)** |
| 4 | +- 목표: 학생들이 "파이썬이 뭔지"가 아니라, **직접 실행하고(Shift+Enter), 에러를 읽고, 작은 코드 단위로 고쳐나가는 흐름**을 몸에 익히게 한다. |
| 5 | +- 원칙(반복해서 말하기): |
| 6 | + 1) 복붙 금지(학습 효과 급감) 2) 에러 메시지 마지막 줄부터 읽기 3) 헷갈리면 `print()`로 확인 |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +## 1회차(90분) — 30분 요약 스크립트 |
| 11 | + |
| 12 | +### 0–3분: 오리엔테이션(오늘의 미션) |
| 13 | +- 오늘 목표: **문자열 출력 + 변수 할당 + (노트북 실행 방식) + (기본 에러 친해지기)** |
| 14 | +- 진행 방식 안내: “앞 30분은 제가 핵심만 보여드리고, 뒤 60분은 여러분이 직접 타이핑하면서 따라오고 질문 받겠습니다.” |
| 15 | + |
| 16 | +### 3–10분: 노트북 사용법(Notebook vs Script) + 표현식/명령문 |
| 17 | +- 데모(매우 짧게): |
| 18 | + - 셀에 `10 + 20`만 적고 실행 → 값이 바로 보임 |
| 19 | + - 셀에 `print(10 + 20)` 실행 → 출력이 보임 |
| 20 | +- 한 문장 정의(칠판/슬라이드에 고정): |
| 21 | + - **표현식(Expression)**: 실행하면 “값”이 되는 것 (예: `10+20`, `'Hello'`) |
| 22 | + - **명령문(Statement)**: 컴퓨터에게 “하라”라고 시키는 것 (예: `a = 10`, `print(...)`) |
| 23 | +- 초보자 포인트: “노트북은 마지막 줄의 표현식 결과를 보여줄 때가 많다. 헷갈리면 `print()`를 쓰면 된다.” |
| 24 | + |
| 25 | +### 10–18분: `print()`로 문자열 출력(따옴표 규칙) |
| 26 | +- 핵심 메시지 3개: |
| 27 | + 1) 문자열은 따옴표로 감싼다: `"Hello"` 또는 `'Hello'` |
| 28 | + 2) 따옴표 종류는 상관없지만 **시작/끝은 같은 따옴표** |
| 29 | + 3) 화면에 따옴표가 안 찍혀도, 문자열에서 따옴표가 사라진 게 아니다(표시만 안 함) |
| 30 | +- 데모: |
| 31 | + - `print("Hello, world!")` |
| 32 | + - `print('Hello', 'world', '!')` → 인자 사이에 공백이 들어감을 보여주기 |
| 33 | +- 빠른 확인 질문: |
| 34 | + - “`'3'`과 `3`은 뭐가 다르죠?” (문자열 vs 숫자) |
| 35 | + |
| 36 | +### 18–25분: 변수 할당(=의 의미) + 이름이 중요하다 |
| 37 | +- 데모(최소 2개): |
| 38 | + - `a = 10` 다음 줄에 `a` 또는 `print(a)` |
| 39 | + - `a = a + 1` (재할당 맛보기) |
| 40 | +- 꼭 짚을 문장: |
| 41 | + - “`=`는 수학의 ‘같다’가 아니라 **대입(할당)**이다.” |
| 42 | +- 에러 맛보기(의도적으로 1번): |
| 43 | + - 정의 안 한 변수 출력 → `NameError` (에러 메시지 마지막 줄 읽기) |
| 44 | + |
| 45 | +### 25–30분: 변수 이름 규칙(문법) vs 관례(약속) |
| 46 | +- 문법(안 지키면 에러): |
| 47 | + - 숫자로 시작 불가, 공백 불가, 예약어 불가 등 |
| 48 | +- 관례(안 지켜도 돌아가지만 권장): |
| 49 | + - 변수는 보통 `snake_case` 사용 |
| 50 | +- 짧게 던질 멘트: |
| 51 | + - “변수 이름은 미래의 나/팀원이 읽는 설명서다.” |
| 52 | + |
| 53 | +### 뒤 60분 실습(학생 안내 문구) |
| 54 | +- 미션: [starting.ipynb](starting.ipynb)을 보면서 **새 코랩/새 노트북에 직접 타이핑**해서 실행한다. |
| 55 | +- 체크포인트: |
| 56 | + - 문자열 출력 예제를 최소 3개 바꿔서 실행해보기(문장/기호/이름 등) |
| 57 | + - `NameError`/`SyntaxError`가 뜨면 스크린샷이 아니라 **에러 마지막 줄을 한국어로 해석**해보기 |
| 58 | + - 변수 이름 규칙 위반 예제는 “왜 에러인지” 한 줄 주석으로 설명하기 |
| 59 | + |
| 60 | +--- |
| 61 | + |
| 62 | +## 2회차(90분) — 30분 요약 스크립트 |
| 63 | + |
| 64 | +### 0–5분: 리캡 + 오늘 목표 |
| 65 | +- 리캡 질문 3개로 시작: |
| 66 | + 1) 표현식/명령문 차이 한 문장으로? |
| 67 | + 2) `=`는 무슨 뜻? |
| 68 | + 3) 에러가 나면 어디부터 읽는다? |
| 69 | +- 오늘 목표: **파이썬 계산기(연산자) + 자료형 `type()` + 에러 메시지 읽기 + 연습문제 풀이 전략** |
| 70 | + |
| 71 | +### 5–15분: 파이썬 계산기(연산자) 핵심만 |
| 72 | +- 반드시 다루기(입문에서 가장 헷갈리는 3종 나눗셈): |
| 73 | + - `/` : 결과가 보통 실수(`float`)로 나옴 |
| 74 | + - `//`: 몫(버림) |
| 75 | + - `%` : 나머지(시간/짝홀 판별에 자주 씀) |
| 76 | +- 짧은 데모(숫자는 크게): |
| 77 | + - `7 / 2`, `7 // 2`, `7 % 2` |
| 78 | +- 문자열 연산 맛보기: |
| 79 | + - `'Py' + 'thon'` |
| 80 | + - `'Ha' * 3` |
| 81 | + |
| 82 | +### 15–20분: 자료형(`type()`)과 동적 타이핑 감 잡기 |
| 83 | +- 핵심 메시지: |
| 84 | + - “같아 보이는 `3`과 `'3'`은 완전히 다른 타입이다.” |
| 85 | +- 데모: |
| 86 | + - `type(3)`, `type(3.14)`, `type('3')` |
| 87 | +- 짧게 언급: |
| 88 | + - “파이썬은 변수에 타입을 미리 고정하지 않는 편(동적 타이핑). 대신 실행 중에 타입 관련 에러가 난다.” |
| 89 | + |
| 90 | +### 20–25분: 에러 메시지 읽기(초보자용 루틴) |
| 91 | +- 루틴(말로 외우게 하기): |
| 92 | + 1) **맨 마지막 줄**부터 읽기 |
| 93 | + 2) 에러 종류 확인(NameError/SyntaxError/TypeError/ZeroDivisionError 등) |
| 94 | + 3) 메시지에 나온 변수/기호를 코드에서 찾기 |
| 95 | + 4) 한 번에 한 줄씩 고치고 다시 실행 |
| 96 | +- 데모(가능하면 1개만): |
| 97 | + - `print(10 / 0)` → `ZeroDivisionError` (실험은 괜찮지만 원인 파악이 먼저) |
| 98 | + |
| 99 | +### 25–30분: 연습문제 풀이 전략(뒤 60분 실습 연결) |
| 100 | +- 풀이 전략 4단계: |
| 101 | + 1) 요구사항을 변수로 쪼개기(입력/중간값/출력) |
| 102 | + 2) 먼저 `print()`로 중간값 확인 |
| 103 | + 3) 단위(초/분/시간)·타입(int/float/str) 점검 |
| 104 | + 4) 마지막에만 출력 정리 |
| 105 | +- 강사 멘트: |
| 106 | + - “정답보다 중요한 건, **내가 쓴 코드가 왜 그렇게 동작하는지 설명하는 능력**입니다.” |
| 107 | + |
| 108 | +### 뒤 60분 실습(학생 안내 문구) |
| 109 | +- 미션: 노트북의 **연산자/자료형 파트**를 따라 실행하고, 연습문제(예: 시간 계산, 단위 변환, 문자열 연산 등)를 스스로 해결한다. |
| 110 | +- 체크포인트: |
| 111 | + - `/`, `//`, `%`를 각각 언제 쓰는지 예시 1개씩 만들기 |
| 112 | + - `type()`으로 확인하는 습관 들이기(헷갈리면 바로 확인) |
| 113 | + - 에러가 나면 “에러 종류 + 내 코드의 원인 후보”를 말로 설명하고 질문하기 |
| 114 | + |
| 115 | +--- |
| 116 | + |
| 117 | +## 강사용 운영 팁(짧게) |
| 118 | +- 학생이 막히는 지점은 대부분 ① 따옴표 ② `=`의 의미 ③ 변수 이름 규칙 ④ 나눗셈 3종 ⑤ 에러 메시지 공포감이다. |
| 119 | +- 설명은 짧게, 데모는 작게, 실습은 길게: “한 번에 많이”보다 “조금씩 확실히”를 반복한다. |
0 commit comments