Skip to content

1주차 · 오리엔테이션

  • 코딩 수업에서 요구되는 기본 사고 순서를 설명할 수 있다.
  • 실행 환경/실행 개념을 생활 비유로 설명할 수 있다.
  • 짧은 코드 실행 후 출력과 에러를 구분해 읽을 수 있다.
  • 입력–처리–출력 흐름을 3단계로 나눠 기록할 수 있다.
  • 본인 실수 1개를 원인과 수정 방법으로 정리할 수 있다.

오리엔테이션 핵심: “코드를 배운다”의 진짜 의미

Section titled “오리엔테이션 핵심: “코드를 배운다”의 진짜 의미”

신입생이 처음 겪는 어려움은 문법보다 사고 순서입니다. 코딩 수업의 첫 목표는 “복잡한 프로그램 작성”이 아니라, 아래 3가지를 몸에 익히는 것입니다.

  1. 문제를 작은 단계로 쪼개기
  2. 컴퓨터가 이해하는 형식으로 지시 쓰기
  3. 결과를 확인하고 원인을 추적하기

실행 환경과 실행 개념 (완전 기초)

Section titled “실행 환경과 실행 개념 (완전 기초)”
  • 실행 환경은 코드를 실제로 돌려 주는 “작업 공간”입니다.
  • 교실 비유:
    • 코드 = 문제지
    • Python = 문제를 푸는 규칙
    • 웹 콘솔 = 실제로 문제를 푸는 책상
  • 실행은 “작성한 코드를 컴퓨터가 위에서 아래로 순서대로 수행하는 것”입니다.
  • print("안녕")을 실행하면 화면에 안녕이 나옵니다.
  • 핵심 관점: 컴퓨터는 문맥을 거의 추측하지 못하고, 작성된 규칙을 그대로 실행합니다.

초보용 핵심만 기억하세요.

  • 어떤 언어는 먼저 컴파일(번역)을 해야 실행됩니다.
  • Python은 입문 단계에서 보통 “작성 후 바로 실행” 흐름으로 체감됩니다.
  • 그래서 1주차에서는 “코드 작성 → 실행 버튼 클릭 → 출력/에러 확인 → 수정” 루프가 가장 중요합니다.
  • 실행 환경을 모르면 “내 코드가 왜 안 돌아가는지”를 위치조차 못 찾습니다.
  • 실행 개념을 모르면 “코드가 동시에 동작한다”고 오해해 디버깅이 어려워집니다.
  • 컴파일/실행 차이를 대략 알아두면 이후 C/C++/임베디드 과목에서 전환이 쉬워집니다.
  • 코드(Code): 컴퓨터에게 내리는 지시문
  • 입력(Input): 코드에 넣는 값(예: 이름, 숫자)
  • 출력(Output): 실행 후 화면에 나오는 결과
  • 에러(Error): 규칙에 맞지 않아 실행이 멈춘 상태
  1. “무엇을 입력할지”를 먼저 적는다.
  2. “어떤 계산/처리를 할지”를 한 줄 문장으로 쓴다.
  3. “어떤 출력이 나와야 정상인지”를 예상한다.
  4. 실행 후 예상과 실제를 비교한다.
  5. 다르면 한 줄씩 원인을 추적한다.
실행 루프
flowchart TB
  A[문제 이해] --> B[코드 작성]
  B --> C[실행 버튼 클릭]
  C --> D[결과 확인]
  D --> E[에러/오차 원인 추적]
  E --> B
  1. PythonConsole 창을 열고 코드 전체를 소리 내어 읽는다.
  2. 첫 실행 전에 “어떤 출력이 나올지” 1줄 예측을 적는다.
  3. 실행 버튼을 누르고 Output 영역을 끝까지 확인한다.
  4. 예측과 다르면 줄 번호 기준으로 한 줄씩 원인을 찾는다.
  5. 값 하나만 바꿔 재실행하고 변화 이유를 기록한다.

아래 실습은 “교과서 예제 따라 하기” 방식입니다. 핵심은 정답 암기가 아니라, 실행-확인-수정 루프를 반복하는 습관입니다.

예제 1 · 첫 실행과 출력 확인 Runs in-browser with Pyodide
Ready
  1. print("안녕하세요, 1주차 실습입니다!")
    • 화면에 고정 문장을 출력해 “실행 성공 여부”를 즉시 확인합니다.
  2. name = "홍길동"
    • 문자열 데이터를 name에 저장합니다.
  3. age = 19
    • 숫자 데이터를 age에 저장합니다.
  4. print("이름:", name)
    • 라벨(문자열) + 변수 값을 함께 출력합니다.
  5. print("나이:", age)
    • 저장된 숫자가 그대로 출력되는지 확인합니다.
  6. print("내년 나이:", age + 1)
    • 숫자 연산 결과를 즉시 출력해 변수 활용을 경험합니다.
  • age = 19age = 20으로 바꿔 다시 실행
  • name을 본인 이름으로 바꿔 실행
  • 출력 5줄이 모두 의도대로 바뀌는지 확인

예제 2: 입력을 바꿔 결과 변화 보기

Section titled “예제 2: 입력을 바꿔 결과 변화 보기”
예제 2 · 계산과 해석 연습 Runs in-browser with Pyodide
Ready
  1. study_hour = 2: 한 주 공부 시간을 정의합니다.
  2. week = 15: 학기 주차를 정의합니다.
  3. total_hour = study_hour * week: 전체 시간을 계산합니다.
  4. print(...) 3줄: 입력값과 계산값을 사람이 읽기 좋은 형태로 확인합니다.
  5. if total_hour >= 30:: 기준 충족 여부를 True/False로 판단합니다.
  6. else:: 기준 미달일 때 대체 메시지를 출력합니다.
  • study_hour를 1, 3, 4로 바꿔 결과 비교
  • 기준값 3040으로 바꿔 분기 결과 비교
  • “왜 해당 문장이 출력됐는지”를 한 줄로 설명
실수증상원인해결
따옴표 하나 누락SyntaxError, 실행 중단문자열 시작/끝 기호 불일치따옴표를 쌍으로 맞춘 뒤 재실행
변수 철자 불일치name 'x' is not defined선언 이름과 사용 이름이 다름같은 철자로 통일
if 블록 들여쓰기 누락expected an indented block블록 규칙 미이해if 아래 줄 4칸 들여쓰기
숫자를 문자열로 저장TypeError 발생자료형 개념 미정립계산값은 따옴표 없이 입력
수정 후 실행 누락출력이 그대로임실행 절차 누락수정할 때마다 실행 버튼 클릭
에러 첫 줄 미확인같은 오류 반복원인 줄을 안 읽음에러 메시지 첫 줄부터 확인

실수 예시: 표를 코드로 확인하기

Section titled “실수 예시: 표를 코드로 확인하기”

Bad

print("안녕하세요)

Good

print("안녕하세요")

설명: 문자열은 시작 따옴표와 끝 따옴표가 반드시 짝을 이뤄야 합니다.

Bad

ag = 19
print(age)

Good

age = 19
print(age)

설명: 파이썬은 철자가 다르면 완전히 다른 이름으로 인식합니다.

Bad

total_hour = 32
if total_hour >= 30:
print("enough practice")

Good

total_hour = 32
if total_hour >= 30:
print("enough practice")

설명: if 아래에서 실행될 코드는 반드시 한 단계 들여써야 합니다.

Bad

age = "19"
print(age + 1)

Good

age = 19
print(age + 1)

설명: 따옴표가 있으면 문자열이므로 숫자 연산이 되지 않습니다.

Bad

age = 19
print("내년 나이:", age + 1)
# 값을 20으로 고쳐 놓고 실행하지 않음

Good

age = 20
print("내년 나이:", age + 1)
# 수정 후 바로 다시 실행함

설명: 코드를 고친 뒤 실행하지 않으면 화면에는 이전 결과가 그대로 남습니다.

Bad

name = "Kim"
print(nmae)

Good

name = "Kim"
print(name)

설명: 에러 메시지의 첫 줄을 보면 어떤 이름이 정의되지 않았는지 바로 확인할 수 있습니다.

프로그래밍을 배울 때 에러는 피할 수 없습니다. 에러가 났을 때 당황하지 않으려면, 트레이스백(traceback)을 구조적으로 읽는 법을 먼저 익혀야 합니다.

트레이스백은 Python이 실행 중 오류를 만났을 때 출력하는 오류 보고서입니다. 보통 아래 구조로 구성됩니다.

Traceback (most recent call last):
File "<stdin>", line 2, in <module>
NameError: name 'nmae' is not defined
  • 줄 번호 (line 2): 오류가 발생한 코드 위치입니다.
  • 에러 종류 (NameError): 어떤 종류의 문제인지 알려 줍니다.
  • 에러 메시지 (name 'nmae' is not defined): 구체적인 원인을 설명합니다.

1) SyntaxError — 문법 규칙을 어겼을 때

Section titled “1) SyntaxError — 문법 규칙을 어겼을 때”
print("안녕하세요)
SyntaxError: EOL while scanning string literal

설명: 문자열의 닫는 따옴표가 없어 Python이 코드를 해석하지 못합니다.

2) NameError — 정의하지 않은 이름을 사용했을 때

Section titled “2) NameError — 정의하지 않은 이름을 사용했을 때”
name = "Kim"
print(nmae)
NameError: name 'nmae' is not defined

설명: name을 선언했지만 nmae라는 철자로 잘못 사용했습니다.

3) TypeError — 서로 다른 자료형끼리 연산했을 때

Section titled “3) TypeError — 서로 다른 자료형끼리 연산했을 때”
age = "20"
print(age + 1)
TypeError: can only concatenate str (not "int") to str

설명: age가 문자열("20")인데 숫자 1을 더하려 했습니다. age = 20처럼 따옴표 없이 저장해야 합니다.


문제: 화면에 환영 문장, 이름, 전공을 3줄로 출력하세요.

실습 문제 1 · 인사와 자기소개 출력 Runs in-browser with Pyodide
Ready