단원 목록
정보 · 3단원 — 이 교과서에서 가장 긴 여정

알고리즘과 프로그래밍

문제를 잘게 나누고, 풀이 절차를 설계하고, 코드로 자동화한다 — 컴퓨팅 사고력의 심장부에 온 것을 환영합니다. 이 단원이 끝나면 여러분은 '만드는 사람'이 됩니다.

🧩 문제 분해📊 정렬·탐색 🐍 파이썬🏗️ 클래스🤝 협력 프로젝트
💡

핵심 아이디어

이 단원을 관통하는 세 가지 큰 생각

🔪

추상화 — 나누고 단순하게

문제를 효율적으로 해결하려면 문제를 추상화하고, 프로그래밍을 위한 알고리즘을 설계합니다.

🔗

데이터 모델링

문제 해결에 필요한 데이터 간의 관계를 분석하고 정의하여 모델링합니다.

⚙️

자동화 — 프로그래밍의 힘

프로그래밍을 통한 자동화는 다양한 학문 분야의 문제를 해결하는 데 도움을 줍니다.

🎯

이 단원의 성취기준 — 10개의 봉우리

교과서 전체에서 가장 많은 성취기준! 차근차근 하나씩 정복해요.

12정03-01

복잡한 문제를 해결 가능한 작은 문제로 분해하고 모델링한다.

12정03-02

데이터를 정렬하는 다양한 알고리즘의 특징과 효율을 비교·분석한다.

12정03-03

데이터를 탐색하는 다양한 알고리즘의 특징과 효율을 비교·분석한다.

12정03-04

자료형의 종류와 특성을 알고, 적합한 자료형을 선택하여 프로그램을 작성한다.

12정03-05

표준입출력과 파일입출력을 활용한 프로그램을 작성한다.

12정03-06

다차원 데이터 구조를 활용한 프로그램을 작성한다.

12정03-07

다양한 제어 구조를 복합적으로 활용한 프로그램을 작성한다.

12정03-08

객체를 구현하는 클래스와 인스턴스를 활용하여 프로그램을 작성한다.

12정03-09

실생활 및 다양한 학문 분야의 문제 해결을 위한 프로그램을 협력적으로 설계·구현한다.

12정03-10

문제 해결을 위한 프로그램의 성능을 평가하고 공유한다.

🕹️

시작하기 전에 — 여러분은 이미 알고리즘 설계자

알고리즘 = 문제를 해결하는 절차. 라면 끓이기 단계를 올바른 순서대로 클릭해 보세요!

💡 단계 하나만 순서가 바뀌어도(끓기 전에 면을 넣으면…) 결과가 달라지죠? 명확한 단계를 올바른 순서로 — 그것이 알고리즘의 전부입니다. 컴퓨터는 이 절차를 무서운 속도로 실행할 뿐이에요.

🗺️

학습 로드맵 — 9차시 대장정

완성된 차시부터 차례로 공개됩니다.

1차시

코끼리를 냉장고에 넣는 법 — 문제 분해와 모델링

복잡한 문제를 작은 문제로, 현실을 모델로 · 🕹️ 분해 트리 탐험 · 🕹️ 모델링 선택 게임

2차시

순서를 만드는 기술 — 정렬 알고리즘

버블·선택·삽입 정렬의 원리와 효율 · 🕹️ 정렬 시각화 극장 · 🕹️ 알고리즘 레이스

3차시

10억 개에서 30번 만에 — 탐색 알고리즘

순차 탐색 vs 이진 탐색의 대결 · 🕹️ 업다운 게임 · 🕹️ 탐색 대결 시뮬레이터

4차시

데이터에 맞는 그릇 — 자료형

수, 문자열, 리스트, 딕셔너리 · 🐍 브라우저 파이썬 실습 · 🕹️ 자료형 판별 게임

5차시

프로그램의 입과 귀 — 표준입출력과 파일입출력

input/print, 파일 읽고 쓰기, CSV 분석 · 🐍 브라우저 파이썬 실습

6차시

표로 생각하기 — 다차원 데이터 구조

2차원 리스트로 시간표·성적표·이미지 다루기 · 🕹️ 픽셀 아트 → 코드 변환기

7차시

흐름을 지휘하다 — 제어 구조의 복합 활용

반복 속의 선택, 중첩 구조 · 🐍 업다운 게임을 직접 만들기!

8차시

세상을 객체로 — 클래스와 인스턴스

붕어빵 틀의 철학, 객체 지향 첫걸음 · 🕹️ 캐릭터 공장

9차시

함께 만들고 평가하다 — 협력 프로젝트와 성능 평가

테스트 케이스·시간 측정 · 🕹️ 프로젝트 계획 캔버스 · 평가 루브릭

마무리

단원 마무리

개념 지도 · 단원평가 14문항(10개 성취기준 총망라) · 자가평가

🩺

출발 전 점검 — 중학교에서 배운 내용

가볍게 풀어 보세요. 틀려도 이 단원에서 다시 배우니 걱정 마세요!

✏️

배경지식 진단 퀴즈

중학교 정보 · 3문항

1"만약 비가 오면 우산을 챙기고, 아니면 그냥 나간다"처럼 조건에 따라 실행이 갈라지는 제어 구조는?

2프로그램에서 값을 저장해 두는 '이름 붙은 공간'을 무엇이라고 하는가?

3"안녕"을 100번 출력하는 프로그램을 만드는 가장 좋은 방법은?