고등학교 정보 · 알고리즘과 프로그래밍 · 2022 개정 교육과정
[12정03-09] 성취기준 해설과 수업·평가 예시
성취기준 원문
[12정03-09] 실생활 및 다양한 학문 분야의 문제 해결을 위한 프로그램을 협력적으로 설계·구현한다.
쉽게 풀어 보면
실생활이나 과학, 사회, 예술 같은 다른 학문 분야의 문제를 골라 모둠원이 역할을 나누고 협력하여 프로그램을 설계하고 구현하는 성취기준이에요. 기능을 나눠 맡을 때 함수의 입력과 출력을 미리 약속하고, 코드를 합치며 검토하는 협업 과정이 핵심이에요.
학습지 문항 예시 예시
함께 만드는 문제 해결 프로그램
- 물리 시간에 배운 등가속도 운동을 시뮬레이션하는 프로그램을 만든다면 어떤 기능 단위로 나눌 수 있는지 쓰세요.
- 모둠원이 각자 함수를 만들 때 함수 이름, 매개변수, 반환값을 미리 정해 두어야 하는 까닭을 설명하세요.
- 두 사람이 같은 파일의 같은 줄을 동시에 고쳤을 때 생기는 충돌을 버전 관리 도구로 어떻게 확인하고 해결하는지 조사해 보세요.
- 우리 모둠 프로젝트의 역할 분담표와 일정표를 만들고, 중간 점검 때 확인할 기준 세 가지를 정해 보세요.
수업 흐름 예시 예시
- 도입: 여러 사람이 함께 만든 오픈 소스 소프트웨어 사례를 살펴보고 협업 프로그래밍이 어떻게 가능한지 질문해요.
- 전개 1: 모둠별로 다른 교과와 연계한 문제를 정하고 요구사항 목록과 기능 분해도를 함께 작성해요.
- 전개 2: 기능별 담당자를 정해 함수 인터페이스를 문서로 합의한 뒤 각자 구현하고, 짝 검토로 서로의 코드를 점검해요.
- 정리: 코드를 통합해 시연하고 협업 과정에서 겪은 갈등과 해결 방법을 회고 기록으로 남겨요.
서술형 평가 문항과 채점 기준 예시
지역 하천의 수질 측정 데이터를 분석해 위험 구간을 알려 주는 프로그램을 네 명이 협력하여 만들려고 한다. 기능을 나누어 역할을 분담하는 방법과 각자 만든 코드를 오류 없이 통합하기 위한 협업 전략을 구체적으로 서술하시오.
| 수준 | 채점 기준 |
|---|---|
| 상 | 데이터 읽기, 정제, 판정, 출력 등으로 기능을 나눠 역할을 분담하고, 함수 입출력 약속, 버전 관리, 코드 검토, 통합 시험 등 구체적인 협업 전략을 제시함 |
| 중 | 역할 분담은 적절하나 통합 단계의 오류 예방 전략이 구체적이지 않음 |
| 하 | 역할을 나눈다고만 쓰고 기능 분해나 협업 방법을 제시하지 못함 |
세특 기재 예시 예시
협력 프로그래밍 프로젝트에서 생명과학 교과와 연계하여 개체 수 변화 시뮬레이션 프로그램을 설계하고, 모둠원과 함수의 입력과 반환값을 문서로 먼저 합의하는 방식을 제안함. 통합 과정에서 단위가 서로 달라 생긴 오류를 찾아 공통 규칙을 정리함. 버전 관리 도구로 변경 이력을 남기며 역할별 진행 상황을 공유하는 모습을 보임.
이 예시는 179자, 나이스 기준 443Byte예요. 과목별 세특은 1,500Byte(500자)까지 써요. 내 문장은 나이스 글자수·바이트 계산기로 세어 볼 수 있어요.
세특에는 학생이 실제로 한 활동과 교사가 관찰한 내용만 써요. 대회명·기관명처럼 쓰면 안 되는 내용은 생기부 기재 금지 사전에서 확인할 수 있어요.
학생들이 자주 헷갈리는 점
협업 프로그래밍을 각자 맡은 코드를 마지막에 붙이기만 하면 된다고 생각하는 학생이 많아요. 입출력 형식이 조금만 달라도 통합 단계에서 오류가 쏟아지므로, 시작 단계에서 함수 약속을 정하고 자주 합쳐 시험하는 습관을 들이게 해 주세요.
이 영역의 적용 시 고려 사항 (고시 원문)
- 제시된 문제 상황을 컴퓨팅 시스템으로 해결할 수 있도록 문제 분해, 모델링, 알고리즘 설계 등의 추상화 과정 및 프로그램 작성, 실행 결과 평가, 오류 수정 등의 자동화 과정이 유기적으로 연결되도록 나선형으로 교수·학습을 제시하고 과정 전반을 평가하도록 한다.
- 정렬, 탐색 알고리즘 학습 과정에서 정렬, 탐색의 효율적인 부분을 효과적으로 이해할 수 있도록 실제 대규모 데이터를 정렬하고 탐색하는 과정을 교수·학습 과정에 충분히 포함하도록 한다.
- 다차원 데이터 구조 학습 과정에서 프로그래밍 언어에 따라 2차원 혹은 그 이상의 배열이나 리스트를 활용하도록 하며, 다차원 데이터를 활용하는 이유를 이해하기 쉽도록 실제로 사용되는 데이터의 예시를 충분히 제공하도록 한다.
- 프로그래밍 학습 시 최소 성취수준을 보장하기 위하여 프로그래밍 관련 학습 개념을 우선 이해할 수 있도록 미리 제작된 코드를 제공하거나, 프로그래밍 언어에서 활용할 수 있는 여러 라이브러리를 활용하는 방안을 구상하도록 한다. 기본적인 프로그래밍 개념이 부족한 학생을 위해 수준에 맞게 스스로 학습을 진행할 수 있는 추가적인 교육 내용을 제공하는 것도 고려하도록 한다.
같은 영역의 다른 성취기준
왓퀴즈는 이런 AI예요
왓퀴즈는 한국 학교의 수업과 기록 업무에 맞춘 교사용 AI예요. 이 사전과 같은 2022 개정 교육과정 성취기준 데이터로 학습지, 수업 PPT, 평가계획서 초안을 만들고, 2026학년도 학교생활기록부 기재요령 원문을 바탕으로 세특 초안을 쓰고 기재 금지 표현을 검사해요.