핵심 아이디어
이 단원을 관통하는 세 가지 큰 생각
추상화 — 나누고 단순하게
문제를 효율적으로 해결하려면 문제를 추상화하고, 프로그래밍을 위한 알고리즘을 설계합니다.
데이터 모델링
문제 해결에 필요한 데이터 간의 관계를 분석하고 정의하여 모델링합니다.
자동화 — 프로그래밍의 힘
프로그래밍을 통한 자동화는 다양한 학문 분야의 문제를 해결하는 데 도움을 줍니다.
이 단원의 성취기준 — 10개의 봉우리
교과서 전체에서 가장 많은 성취기준! 차근차근 하나씩 정복해요.
복잡한 문제를 해결 가능한 작은 문제로 분해하고 모델링한다.
데이터를 정렬하는 다양한 알고리즘의 특징과 효율을 비교·분석한다.
데이터를 탐색하는 다양한 알고리즘의 특징과 효율을 비교·분석한다.
자료형의 종류와 특성을 알고, 적합한 자료형을 선택하여 프로그램을 작성한다.
표준입출력과 파일입출력을 활용한 프로그램을 작성한다.
다차원 데이터 구조를 활용한 프로그램을 작성한다.
다양한 제어 구조를 복합적으로 활용한 프로그램을 작성한다.
객체를 구현하는 클래스와 인스턴스를 활용하여 프로그램을 작성한다.
실생활 및 다양한 학문 분야의 문제 해결을 위한 프로그램을 협력적으로 설계·구현한다.
문제 해결을 위한 프로그램의 성능을 평가하고 공유한다.
시작하기 전에 — 여러분은 이미 알고리즘 설계자
알고리즘 = 문제를 해결하는 절차. 라면 끓이기 단계를 올바른 순서대로 클릭해 보세요!
💡 단계 하나만 순서가 바뀌어도(끓기 전에 면을 넣으면…) 결과가 달라지죠? 명확한 단계를 올바른 순서로 — 그것이 알고리즘의 전부입니다. 컴퓨터는 이 절차를 무서운 속도로 실행할 뿐이에요.
학습 로드맵 — 9차시 대장정
완성된 차시부터 차례로 공개됩니다.
코끼리를 냉장고에 넣는 법 — 문제 분해와 모델링
복잡한 문제를 작은 문제로, 현실을 모델로 · 🕹️ 분해 트리 탐험 · 🕹️ 모델링 선택 게임
순서를 만드는 기술 — 정렬 알고리즘
버블·선택·삽입 정렬의 원리와 효율 · 🕹️ 정렬 시각화 극장 · 🕹️ 알고리즘 레이스
10억 개에서 30번 만에 — 탐색 알고리즘
순차 탐색 vs 이진 탐색의 대결 · 🕹️ 업다운 게임 · 🕹️ 탐색 대결 시뮬레이터
데이터에 맞는 그릇 — 자료형
수, 문자열, 리스트, 딕셔너리 · 🐍 브라우저 파이썬 실습 · 🕹️ 자료형 판별 게임
프로그램의 입과 귀 — 표준입출력과 파일입출력
input/print, 파일 읽고 쓰기, CSV 분석 · 🐍 브라우저 파이썬 실습
표로 생각하기 — 다차원 데이터 구조
2차원 리스트로 시간표·성적표·이미지 다루기 · 🕹️ 픽셀 아트 → 코드 변환기
흐름을 지휘하다 — 제어 구조의 복합 활용
반복 속의 선택, 중첩 구조 · 🐍 업다운 게임을 직접 만들기!
세상을 객체로 — 클래스와 인스턴스
붕어빵 틀의 철학, 객체 지향 첫걸음 · 🕹️ 캐릭터 공장
함께 만들고 평가하다 — 협력 프로젝트와 성능 평가
테스트 케이스·시간 측정 · 🕹️ 프로젝트 계획 캔버스 · 평가 루브릭
단원 마무리
개념 지도 · 단원평가 14문항(10개 성취기준 총망라) · 자가평가
출발 전 점검 — 중학교에서 배운 내용
가볍게 풀어 보세요. 틀려도 이 단원에서 다시 배우니 걱정 마세요!
배경지식 진단 퀴즈
중학교 정보 · 3문항
1"만약 비가 오면 우산을 챙기고, 아니면 그냥 나간다"처럼 조건에 따라 실행이 갈라지는 제어 구조는?
2프로그램에서 값을 저장해 두는 '이름 붙은 공간'을 무엇이라고 하는가?
3"안녕"을 100번 출력하는 프로그램을 만드는 가장 좋은 방법은?