Notebook으로 생각을 설명하기
인공지능응용 2주차 · 개념 설명과 실습 안내
오늘의 목표는 코드를 실행하고, 그 코드가 하는 일을 다른 사람이 이해할 수 있게 설명하는 것입니다. Colab과 Markdown을 익히며 자신이 관심 있는 AI 주제로 작은 Notebook을 만들어봅니다.
영상을 본 뒤 기억이 흐릿한 부분부터 읽어도 됩니다. 밑줄 친 용어는 마우스를 올리거나 눌러 뜻을 확인하세요. 자세한 예시는 펼쳐 읽고, 확인 질문에는 먼저 스스로 답해보세요.
준비물: Google 계정, 웹 브라우저. 이번 실습에는 GPU나 유료 서비스가 필요하지 않습니다.
버튼을 누르면 새 탭에서 이번 실습 Notebook이 열립니다. 필요한 경우 Google 계정에 로그인하고, 사본 만들기를 확인한 뒤 본인 Drive에서 작업하세요. 다운로드·업로드 과정 없이 시작할 수 있습니다.
1. 프로그래밍과 설명은 왜 함께 필요한가?
반복되는 계산을 매번 손으로 하면 시간이 들고 실수하기도 쉽습니다. 프로그램은 사람이 정한 절차를 컴퓨터가 반복해서 수행하도록 표현한 것입니다. 따라서 코드를 쓰기 전에 ‘무슨 일을 시킬지’를 정해야 합니다.
설명·코드·결과의 관계를 확인하기 위한 예시로, 온도 측정값 세 개의 평균을 계산하겠습니다.
| 먼저 정할 것 | 이 예제의 선택 |
|---|---|
| 입력 | 온도 측정값 20, 22, 24 |
| 처리 | 세 값을 더한 뒤 측정 횟수로 나누기 |
| 출력 | 평균 온도 22 |
readings = [20, 22, 24]
average = sum(readings) / len(readings)
print(average) # 22.0readings는 측정값을 묶어 놓은 리스트입니다. sum은 합, len은 개수를 구합니다. 아직 함수 이름을 외울 필요는 없습니다. 코드가 앞서 정한 계산 절차와 어떻게 대응하는지 보세요.
AI를 사용할 때도 이 구분은 필요합니다. 예를 들어 음성 인식은 음성을 입력받아 텍스트를 출력합니다. ‘AI를 사용한다’는 말만으로는 해결하려는 문제가 충분히 설명되지 않습니다. 이번 보고서에서도 자신이 고른 기술의 입력과 결과를 구체적으로 적어봅시다.
위 코드를 실행한 결과가 22.0만 남아 있다면, 어떤 값의 평균인지 알 수 있을까요? 결과 아래에 어떤 설명을 한 문장 붙이면 좋을까요?
답변 방향 보기
예를 들어 “세 번 측정한 온도 20, 22, 24의 평균은 22이다”라고 적으면 입력과 결과의 관계를 알 수 있습니다. 이번 실습에서도 코드 셀에는 실행 결과를, 바로 아래 텍스트 셀에는 그 결과의 의미를 남깁니다.
2. Notebook, Colab, Drive의 역할
Notebook은 설명과 실행을 담는 문서
Notebook의 파일 확장자는 .ipynb입니다. 문서 안에는 여러 개의 셀(cell)이 있고, 셀마다 역할이 있습니다. 위에서부터 읽고 실행하면서 하나의 실험 과정을 기록할 수 있습니다.
Colab은 브라우저에서 Notebook을 열고 Python 코드를 실행하는 환경입니다. Google Drive는 Notebook 파일을 보관하는 장소입니다. 코드는 Google이 제공하는 실행 컴퓨터, 즉 런타임(runtime)에서 동작합니다.
| 구분 | 무엇이 들어 있는가? | 기억할 점 |
|---|---|---|
| Notebook 파일 | 설명, 코드, 저장된 출력 | Drive에 저장할 문서 |
| 런타임 | 실행 중인 변수, 설치한 패키지, 임시 파일 | 연결이 끝나면 상태가 사라질 수 있음 |
| Drive | 저장한 Notebook과 개인 파일 | 런타임과 동일한 저장공간이 아님 |
Notebook을 Drive에 저장하는 것과 drive.mount()로 개인 파일을 실행 환경에 연결하는 것은 다른 일입니다. 이번 실습은 개인 파일을 읽지 않으므로 Drive 마운트 코드가 필요하지 않습니다. GPU 설정도 바꾸지 않아도 됩니다.
처음 열었을 때 확인할 것
- Google 계정에 로그인했는지 확인합니다.
- 받은 Notebook을 열고 본인 Drive에 사본을 저장합니다.
- 파일명을
이름_학번_2주차.ipynb로 바꿉니다. - 가장 위의 실행 셀부터 실행합니다. 실행 버튼 또는
Shift + Enter를 사용할 수 있습니다. - 결과가 나타나는지 확인하고 저장 상태도 확인합니다.
확인 질문: 어제의 출력이 보이면 오늘 실행도 끝난 걸까요?
아닙니다. 화면에 남은 출력은 이전 실행 때 저장된 결과일 수 있습니다. 현재 런타임에는 그때의 변수가 없을 수도 있습니다. 위에서부터 다시 실행하여 현재 상태에서 결과가 나오는지 확인해야 합니다.
3. 설명하는 셀과 실행하는 셀
| 같은 내용을 어디에 쓰는가? | 결과 |
|---|---|
Markdown 셀에 print(1 + 1) 작성 |
코드가 글자로 표시됨 |
Code 셀에 print(1 + 1) 작성 후 실행 |
계산 결과 2가 출력됨 |
Markdown에서 백틱 세 개로 코드를 감싸면 보기 좋게 표시할 수 있지만, 그것만으로 실행되지는 않습니다.
```python
print(1 + 1)
```이 구분은 보고서를 작성할 때 유용합니다. 실행한 결과는 Code 셀에 남기고, 그 결과가 무엇을 뜻하는지는 바로 아래 Markdown 셀에서 설명하면 됩니다.
확인 질문: 코드가 글자로만 보인다면 무엇부터 확인할까요?
셀 종류를 확인합니다. 설명용 텍스트 셀에 쓴 것은 아닌지 보고, 실행하려는 코드는 코드 셀로 옮긴 뒤 실행합니다. 코드의 계산식 자체를 바꾸기 전에 실행 위치부터 확인하세요.
4. Markdown으로 문서의 구조 만들기
# 제목, **강조**, - 목록처럼 간단한 기호로 문서를 구조화합니다. 기호를 입력한 뒤 어떻게 표시되는지 확인하는 과정까지가 연습입니다.
제목은 내용의 관계를 보여준다
#, ##, ###은 제목의 수준을 나타냅니다. 단순히 글씨 크기를 바꾸는 도구라기보다 큰 주제와 작은 주제의 관계를 표시한다고 생각하면 좋습니다. 기호 뒤에는 공백을 넣으세요.
# 음성 인식
## 어떤 문제를 해결하는가
### 음성을 문자로 바꾸기이번 과제에는 3단계 이상의 제목 구조가 필요합니다. 위 예시를 그대로 복사하기보다 자신의 주제에 맞는 제목을 정하세요.
강조와 목록
**중요한 용어**는 굵게 표시합니다.
*특별히 강조할 말*은 기울임으로 표시할 수 있습니다.
함수나 변수 이름은 `print`처럼 적습니다.
- 음성 데이터
- 텍스트 데이터
- 이미지 데이터
1. 입력을 준비한다.
2. 처리한다.
3. 결과를 확인한다.순서가 중요하면 번호 목록을, 단순히 항목을 묶는다면 글머리 목록을 씁니다. 문단을 나누려면 빈 줄을 넣는 것이 가장 명확합니다. 같은 문단 안에서 강제로 줄을 바꿔야 할 때는 줄 끝 공백 두 칸 등을 사용할 수 있습니다.
짧은 인용과 코드 표시
> 이 문장은 인용 또는 강조할 설명입니다.한 줄의 함수 이름은 백틱 하나로, 여러 줄의 코드 예시는 백틱 세 개로 감쌉니다. 이때 사용하는 백틱은 키보드의 작은따옴표와 다른 기호입니다.
확인 질문: ##주제와 **설명*은 어디가 어색한가요?
제목 기호 뒤 공백이 빠졌고, 굵게 표시하는 양쪽 기호의 개수가 다릅니다. ## 주제, **설명**으로 고친 뒤 실제로 어떻게 표시되는지 확인하세요. 문법을 입력한 상태와 렌더링된 상태를 번갈아 보는 습관이 도움이 됩니다.
5. 그림·표·수식은 설명을 돕는 도구
무엇을 보여주거나 비교할지 먼저 정하고, 그에 맞는 표현을 고릅니다. 이미지·수식·링크에는 의미를 설명하는 문장을 붙이세요.
링크와 이미지
[자료의 이름](https://example.org)
두 문법의 차이는 앞의 !입니다. 위 example.org와 이미지 주소는 형식을 보여주는 자리표시자입니다. 과제에는 자신의 주제에 맞는 실제 자료를 선택해야 합니다.
이미지는 무엇을 보여주는지, 선택한 AI 기술과 어떤 관계가 있는지 설명하세요. 링크에는 선택 이유나 그 페이지에서 확인할 수 있는 내용을 적습니다. 타인에게 보이지 않는 개인 Drive 이미지 주소를 사용했다면 다른 사람이 문서를 열었을 때 그림이 나오지 않을 수 있습니다.
표는 비교 기준을 먼저 정한다
표를 만들 때는 열마다 같은 종류의 정보를 넣어야 비교하기 쉽습니다. 다음은 문법 연습용 예입니다.
| 항목 | 입력 | 결과 |
|---|---|---|
| 평균 계산 | 여러 숫자 | 평균값 |
| 정렬 | 순서가 섞인 숫자 | 크기순 숫자 || 항목 | 입력 | 결과 |
|---|---|---|
| 평균 계산 | 여러 숫자 | 평균값 |
| 정렬 | 순서가 섞인 숫자 | 크기순 숫자 |
두 번째 줄은 헤더와 데이터를 나누는 구분선입니다. 헤더는 데이터 행 수에 포함하지 않습니다. 이번 과제의 표에는 3열 이상, 데이터 행 4개 이상이 필요합니다. 위 연습 표는 행이 부족하고 AI 주제 보고서의 완성 예도 아닙니다.
수식에는 기호의 뜻을 붙인다
예를 들어 앞서 계산한 평균은 다음과 같이 나타낼 수 있습니다.
N은 값의 개수, xᵢ는 i번째 값, x̄는 평균입니다. 20, 22, 24를 넣으면 N=3, 평균은 22가 됩니다. 수식을 읽을 때 기호 → 구체적인 값 → 계산 결과를 연결해보세요.
$$
\bar{x}=\frac{1}{N}\sum_{i=1}^{N}x_i
$$Colab의 Markdown 셀에서는 이처럼 LaTeX 문법으로 수식을 표시할 수 있습니다. 이번 과제에는 수식 2개 이상과 각각의 의미 설명이 필요합니다. 복잡한 식을 고르기보다 자신이 뜻을 설명할 수 있는 식을 고르세요.
확인 질문: 표의 헤더 한 줄과 데이터 세 줄이 있으면 4행 조건을 만족할까요?
아닙니다. 과제에서 요구하는 것은 데이터 행 4개입니다. 또한 그림이나 수식을 삽입하는 것만으로 과제가 완성되지 않습니다. 무엇을 나타내는지 설명도 있어야 합니다.
6. Python 코드를 읽기 위한 최소 문법
변수에 값을 저장하고, 문장을 순서대로 실행하고, 결과를 확인합니다. 아래에서 필요한 문법만 펼쳐 읽어보세요.
변수와 출력
변수는 값에 붙이는 이름입니다. =는 오른쪽에서 계산한 값을 왼쪽 이름에 저장합니다.
count = 4
print(count)
print(f"항목 수: {count}")첫 출력은 4, 두 번째 출력은 항목 수: 4입니다. 두 번째 줄처럼 print는 값을 보여줍니다. f"...{count}..."는 문장 안에 변수 값을 넣는 표현입니다. 문장에 변수 값을 넣을 때 f-string을 사용하면 읽기 쉽습니다.
주석과 문자열
# 이 줄은 설명을 위한 주석입니다.
message = "실습 시작"
print(message)# 뒤의 내용은 그 줄에서 실행되지 않는 주석입니다. 따옴표로 감싼 것은 문자열, 즉 텍스트 값입니다.
삼중 따옴표도 문자열을 만드는 문법입니다. 여러 줄을 적을 수 있다고 해서 주석 전용 문법은 아닙니다. 함수 등의 첫 문장에 쓰이면 설명문서인 docstring이 될 수 있습니다. 여러 줄 문자열과 주석을 구분해서 사용하세요.
들여쓰기는 코드의 범위를 정한다
ready = True
if ready:
print("준비가 되었습니다")
print("이 줄은 if 바깥입니다")들여쓴 줄은 ready가 참일 때 실행됩니다. 마지막 줄은 if의 바깥이므로 조건과 관계없이 실행됩니다. 여기서는 공백 4칸을 사용하고 탭과 공백을 섞지 않습니다.
입력은 먼저 문자열로 들어온다
text = input("숫자를 입력하세요: ")
number = float(text)
print(number + 1)input()으로 3을 입력해도 처음에는 문자열 "3"입니다. 숫자 계산을 하려면 float나 int로 변환합니다. 숫자가 아닌 문자를 변환하면 오류가 날 수 있습니다. 이번 제출용 Notebook의 지정 코드는 입력창 없이 실행되므로, 이 예는 문법 이해용입니다.
확인 질문: “3” + “1”과 3 + 1은 같을까요?
문자열끼리 더하면 "31", 숫자끼리 더하면 4입니다. 화면에 비슷하게 보이는 값도 자료형이 다르면 동작이 달라집니다. 예상과 다르면 type(값)으로 자료형을 확인해보세요.
7. 실행이 막힐 때 확인하는 순서
| 증상 | 먼저 확인할 것 |
|---|---|
| 코드를 썼는데 글자로만 보임 | 셀 종류가 Code인지 |
NameError |
변수를 만드는 앞 셀을 실행했는지, 철자가 같은지 |
IndentationError |
들여쓰기 단계와 공백이 일관되는지 |
TypeError |
문자와 숫자처럼 서로 다른 자료형을 섞었는지 |
| 표·강조가 이상하게 보임 | Markdown 구분선·기호의 짝·공백 |
오류가 나면 마지막 줄의 오류 이름과, 문제가 생긴 코드 줄을 먼저 읽습니다. 여러 줄을 한꺼번에 고치기보다 한 가지를 바꾸고 다시 확인하세요. 이미 출력이 남아 있어도 위에서부터 순서대로 실행하면 셀 사이의 의존성을 확인할 수 있습니다.
8. 이제 자신의 AI 주제로 작성하기
실습 Notebook을 Colab에서 열기 ↗에는 시작 안내, 작은 실행 확인, 보고서 작성란과 오류 수정 문제가 들어 있습니다. 본문의 빈칸은 자신의 주제로 채우고, 힌트 문구는 제출 전에 정리하세요. 실습은 조교 안내에 따라 진행합니다.
현재 과제의 세부 요구사항 보기
현재 과제에서 요구하는 것은 다음과 같습니다.
- 3단계 이상의 제목, 굵게·기울임·인라인 코드 각각 1회 이상.
- 순서 목록·글머리 목록 각각 3개 이상. AI 처리 과정의 순서 목록은 4단계 이상.
- AI 기술 소개 3–5문장: 기술, 데이터, 해결 문제, 활용.
- 이미지 1개 이상과 설명 1–2문장.
- 표 3열 이상, 데이터 행 4개 이상.
- 수식 2개 이상과 각각 1문장 이상의 의미 설명.
- 관련 링크 1개 이상과 선택 이유/내용 1–2문장.
- 지정 Code Cell 실행, 셀의 차이 2가지 이상 설명, Markdown 오류 수정.
참고 자료
- Colab FAQ: Notebook, 런타임, 파일 저장의 구분.
- Python 어휘 분석: 주석과 문자열.
- PEP 8: 들여쓰기 공백 권장.
- Python 내장 함수: 입력 함수의 반환값.
자료 버전: 2026-2-02 · 기준일: 2026-09-10
실습 자료
- AI_Applications_Week02_Notebook_Basics.ipynbColab 노트북 미리보기 · Colab 노트북 다운로드
- HW1_Markdown.ipynbColab 노트북 미리보기 · Colab 노트북 다운로드
- L01_Colab_Tutorial.ipynbColab 노트북 미리보기 · Colab 노트북 다운로드
- L02_Markdown_Tutorial.ipynbColab 노트북 미리보기 · Colab 노트북 다운로드