상위 문서: 2015 개정 교육과정/정보과/고등학교
이 과목을 계승한 이후 교육과정의 과목에 대한 내용은 2022 개정 교육과정/정보과/고등학교/정보과학 문서 참고하십시오.
관련 문서: 정보(교과)
2015 개정 교육과정 고등학교 과학 계열 전문 교과 ('18~'24 高1) | |||
* | * | * | * |
■ 이후 교육과정: 2022 개정 교육과정 과학 계열 선택 과목 *: 수학과 선택 과목 |
1. 성격
21세기 지식・정보사회의 인재는 정보와 정보처리기술을 올바르게 활용할 뿐만 아니라, 새로운 지식과 정보, 기술을 창의적으로 생성하고 이를 통해 문제를 해결하는 능력을 갖추어야 한다. 정보과학 과목은 컴퓨터과학의 기본 개념과 원리 및 기술을 바탕으로 창의적이고 효율적으로 다양한 분야의 문제를 해결하는 역량을 기르기 위한 과목이다.따라서 정보과학 과목은 컴퓨터과학에 대한 깊이 있는 이해를 바탕으로 디지털 사회에서 발생하는 다양하고 복합적인 문제들을 분석하여 구조화하고, 효율적인 문제 해결을 위해 알고리즘을 설계하며 이를 프로그래밍을 통해 해결하는 창의적인 문제 해결 역량을 신장한다. 또한 이러한 역량을 바탕으로 실세계나 타 학문 분야의 융합 문제들을 컴퓨팅 기반의 시뮬레이션이나 피지컬 컴퓨팅을 통해 해결할 수 있는 창의적인 인재를 기르기 위한 과목이며 다음과 같은 기능을 가진다.
첫째, 컴퓨터과학의 개념과 원리를 습득하고 컴퓨팅 기기를 활용한 창의적이고 실제적인 문제 해결 능력을 신장한다.
둘째, 실생활 및 다양한 학문 분야의 문제를 추상화하고 컴퓨팅 기기에서 자동화할 수 있는 알고리즘적 사고와 프로그래밍 역량을 함양한다.
셋째, 프로그래밍에 기반한 실험 및 실습을 통해 컴퓨터과학의 개념 및 원리를 깊이 있게 이해하고 실제적으로 구현하는 능력을 기른다.
넷째, 다양한 분야의 문제 해결 및 융합 프로젝트의 수행 과정을 통해 효과적인 의사소통 및 협업 능력을 배양하고 컴퓨터의 올바른 활용 방법을 이해하고 실천하는 능력을 함양한다.
정보과학 과목의 내용은 '프로그래밍', '자료 처리', '알고리즘', '컴퓨팅 시스템' 영역으로 구분되며, 네 영역 모두 컴퓨팅 사고력을 기반으로 실생활 및 다양한 학문 분야의 복잡한 문제를 해결하는 능력에 중점을 둔다.
정보과학 과목에서 추구하는 역량은 '컴퓨팅 사고력'과 '협력적 문제해결력'으로 역량별 의미와 하위 요소는 다음과 같다.
'컴퓨팅 사고력'은 컴퓨터과학의 기본 개념과 원리 및 컴퓨팅 시스템을 활용하여 실생활 및 다양한 학문 분야의 문제를 이해하고 창의적으로 해법을 구현하여 적용할 수 있는 능력을 말한다. '컴퓨팅 사고력'은 '추상화(abstraction) 능력'과 프로그래밍으로 대표되는 '자동화(automation) 능력', '창의・융합 능력'을 포함한다. 추상화는 문제의 복잡성을 제거하기 위해 사용하는 기법으로 핵심요소 추출, 문제 분해, 모델링, 분류, 일반화 등의 방법으로 이루어진다. 추상화 과정을 통해 도출된 문제 해결 모델은 프로그래밍 과정을 통해 자동화된다.
'협력적 문제해결력'은 네트워크 컴퓨팅 환경에 기반한 다양한 지식・학습 공동체에서 공유와 효율적인 의사소통, 협업을 통해 문제를 창의적으로 해결할 수 있는 능력을 말한다. '협력적 문제해결력'은 '협력적 컴퓨팅 사고력', '디지털 의사소통능력', '공유와 협업능력'을 포함한다.
고등학교 '정보과학'은 중학교에서 이수한 '정보'와 고등학교 '정보'의 심화 과목으로서 내용체계의 연계성을 갖는다.
또한 “정보과학” 과목에서 배우는 내용은 미국 Advanced Placement 과목 중 “AP 컴퓨터과학 AB” 에서 배우는것과 거의 동일하다. 그러나 현재 AP 컴퓨터과학 AB 과목은 사라졌고 AP 컴퓨터과학 A과 AP 컴퓨터과학 기본만 남은 상태이다.
다만 위의 AP 과목과 구별되는 점이라면 바로 AP 컴퓨터과학 A/AB에서는 Java를 배우고, AP 컴퓨터과학 기본은 언어를 자유롭게 선택할 수 있지만 정보과학에서는 C언어를 배운다는 점이다.
2. 목표
정보과학 과목의 목표는 컴퓨터과학의 기본 개념과 원리, 컴퓨팅 기술을 바탕으로 실생활 및 다양한 학문 분야의 문제를 창의・융합적으로 해결하는 능력과 협력적 태도를 기르는 데 중점을 둔다.가. 프로그래밍을 통해 소프트웨어를 개발하고 문제를 해결하는 역량을 기른다.
나. 자료를 효율적으로 처리하는 방법을 이해하고 문제 해결에 활용하는 능력을 기른다.
다. 다양한 학문 분야의 복잡한 문제를 해결하기 위한 효율적인 알고리즘을 설계하고 구현하는 능력을 기른다.
라. 컴퓨팅 시스템의 구성 및 동작 원리를 이해하고 실생활의 문제를 해결할 수 있는 창의적 컴퓨팅 시스템을 구현할 수 있는 능력을 기른다.
나. 자료를 효율적으로 처리하는 방법을 이해하고 문제 해결에 활용하는 능력을 기른다.
다. 다양한 학문 분야의 복잡한 문제를 해결하기 위한 효율적인 알고리즘을 설계하고 구현하는 능력을 기른다.
라. 컴퓨팅 시스템의 구성 및 동작 원리를 이해하고 실생활의 문제를 해결할 수 있는 창의적 컴퓨팅 시스템을 구현할 수 있는 능력을 기른다.
3. 내용체계 및 성취기준
3.1. 내용 체계
영역 | 핵심 개념 | 일반화된 지식 | 내용 요소 | 기능 |
프로그래밍 | 연산수행 | 변수와 상수, 연산자를 이용하여 연산을 수행한다. | -변수와 상수 -연산자 | 분석하기 설계하기 추상화하기 프로그래밍하기 개발하기 |
자료 저장 | 자료 저장 및 처리에 효율적인 자료형을 선택하거나 정의하여 활용한다. | -자료형 -다차원 배열 | ||
흐름 제어 | 효율적인 프로그램을 설계하기 위해 프로그램의 실행 흐름을 제어한다. | -순차, 선택, 반복 구조 -중첩 제어 구조 | ||
모듈화 | 프로그램의 생산성과 최적화를 위해 프로그램 구조를 기능 단위로 분할한다. | -함수 -변수의 영역 | ||
자료처리 | 자료구조 | 자료와 정보를 효율적으로 처리하고 관리하기 위해 자료 간의 관계를 구조화하고 정의한다. | -선형 자료구조 -비선형 자료구조 | 비교하기 분석하기 표현하기 추상화하기 프로그래밍하기 |
정렬과 탐색 | 정렬과 탐색은 컴퓨터 내부의 자료 처리를 위한 기본적인 방법이다. | -자료의 정렬 -자료의 탐색 | ||
알고리즘 | 문제와 알고리즘 | 계산의 관점에서 문제를 분류하고, 문제 해결을 위한 알고리즘의 복잡도를 표현함으로써 성능을 비교하고 효율성을 분석한다. | -문제 -알고리즘 복잡도 | 분석하기 분류하기 설계하기 표현하기 추상화하기 프로그래밍하기 구현하기 |
탐색기반 알고리즘 | 컴퓨팅 시스템의 탐색 능력을 기반으로 해를 찾는 알고리즘을 설계하고 탐색 공간을 줄임으로써 효율성을 높인다. | -전체 탐색 -탐색 공간의 배제 | ||
관계기반 알고리즘 | 주어진 문제와 부분 문제와의 관계를 정의하고 동적 테이블을 구성하는 방법으로 최적해를 구한다. | -관계 정의 -동적 계획법 | ||
컴퓨팅 시스템 | 시뮬레이션 | 모의실험을 설계하고 구현하기 위해 근사, 난수, 시각화 등의 방법을 이용한다. | -시뮬레이션 설계 -시뮬레이션 구현 | 분석하기 설계하기 시뮬레이션하기 프로그래밍하기 구현하기 협력하기 |
피지컬 컴퓨팅 | 마이크로프로세서와 다양한 입・출력 장치로 피지컬 컴퓨팅 시스템을 구성하고 프로그래밍을 통해 제어한다. | -피지컬 컴퓨팅 구성 -피지컬 컴퓨팅 구현 |
3.2. 성취기준
3.2.1. 프로그래밍
프로그래밍 영역의 성취기준은 컴퓨터과학의 개념 및 원리를 깊이 있게 이해하고 실제적인 문제 해결 역량을 함양하는 데 중점을 두어 설정하였다. 텍스트 기반 프로그래밍을 통해 소프트웨어를 개발하는 방법을 습득하는 것이 이 영역의 기본적인 학습 활동이다. 프로그래밍의 이해는 자료 처리, 알고리즘, 컴퓨팅 시스템 영역에서의 문제 해결을 위해 필요한 선행과정이다. 따라서 이 영역에서는 연산 수행, 자료 저장, 흐름 제어, 모듈화의 개념과 원리를 이해하고 이를 적용한 효율적인 문제 해결 프로그램의 구현에 중점을 둔다.
- [12정과01-01]변수와 상수를 활용하여 프로그램을 작성한다.
- [12정과01-02]다양한 연산자를 활용하여 프로그램을 작성한다.
- [12정과01-03]기본 자료형과 사용자 정의 자료형을 활용하여 프로그램을 작성한다.
- [12정과01-04]다차원 배열을 활용하여 프로그램을 작성한다.
- [12정과01-05]순차, 선택, 반복 구조를 활용하여 프로그램을 작성한다.
- [12정과01-06]중첩 제어 구조를 활용하여 프로그램을 작성한다.
- [12정과01-07]함수를 정의하는 방법을 이해하고 문제 해결을 위해 필요한 함수를 모듈화하여 프로그램을 작성한다.
- [12정과01-08]변수의 적용 범위를 이해하고 효율적인 모듈화 프로그램을 작성한다.
3.2.1.1. 학습 요소
변수와 상수, 연산자, 기본 자료형, 사용자 정의 자료형, 1차원 배열, 2차원 배열, 3차원 배열, 순차 구조, 선택 구조, 다중 선택 구조, 반복 구조, 중첩 제어 구조, 라이브러리 함수, 사용자 정의 함수, 재귀 함수, 전역변수와 지역변수, 변수의 적용 범위3.2.1.2. 성취기준 해설
- [12정과01-02] 다양한 연산자의 유형과 특징 및 사용 방법을 이해하고 이를 활용하여 수학, 과학 문제를 프로그래밍으로 해결할 수 있어야 한다.
- [12정과01-03] 기본 자료형의 속성과 활용 방법을 알고, 문제 해결에 적합한 자료형을 선택하여 프로그램을 작성할 수 있어야 한다. 또한 사용자 정의 자료형을 활용하는 프로그램을 작성할 수 있어야 한다.
- [12정과01-04] 동일한 형태의 자료들을 효율적으로 저장하고 활용하기 위해 배열을 사용할 수 있어야 하며, 문제 상황에 적합한 다양한 차원의 배열을 활용하여 프로그램을 작성할 수 있어야 한다.
- [12정과01-07] 프로그램의 생산성과 최적화를 위해 모듈화된 함수를 정의하는 방법을 이해하고, 문제 해결을 위해 필요한 함수를 활용하는 프로그램을 작성할 수 있어야 한다.
- [12정과01-08] 전역변수와 지역변수의 개념을 이해하고 변수의 적용 범위를 고려하여 효율적인 모듈화 프로그램을 작성할 수 있어야 한다.
3.2.1.3. 교수・학습 방법 및 유의 사항
- 학습자의 수준에 적합한 텍스트 기반의 프로그래밍 언어를 선택하여 교수・학습을 전개한다.
- 사용할 텍스트 기반 프로그래밍 언어의 문법에 대한 학습을 최소화하고 수학, 과학 등 다양한 학문 분야의 문제 해결을 위한 프로그래밍 활동 중심으로 교수・학습을 전개한다.
- 프로그래밍에 대한 학습 동기를 유지하기 위해 학습 초기 단계에서는 학습자의 상황이나 수준을 고려하여 쉽게 해결 가능한 문제를 제시하고, 점진적으로 문제의 수준을 높여 제시한다.
- 프로그래밍 영역의 프로젝트 학습 시 학습자의 수준을 고려하여 적절한 과제를 선택하고 해결할 수 있도록 지도한다.
- 프로그래밍 언어의 선행 조직자를 제시하기 위해 중학교 또는, 고등학교의 '정보' 과목에서 학습한 프로그래밍 언어를 사용하여 문제를 해결하게 한 후 사용할 텍스트 기반 프로그래밍 언어로 구현해보는 방법을 적용할 수 있다.
3.2.1.4. 평가 방법 및 유의 사항
- 프로그래밍 언어의 핵심 개념을 이해하고 문제 해결에 활용할 수 있는지를 확인하기 위해 과제 수행 과정을 관찰하여 평가한다.
- 형성평가를 통해 자료형, 함수, 변수의 영역 등과 같은 내용 요소의 개념과 필요성을 이해하고 있는지를 확인한다.
- 프로그래밍 영역의 프로젝트 학습 시 보고서 평가를 통해 과제 선정의 적합성에서부터 최종 산출물의 완성도까지 단계별로 평가한다.
- 프로그래밍 과제 평가 시 프로그램 자동 평가 시스템 등을 활용하여 평가의 효율을 높일 수 있다. 단, 프로그래밍 과정에서 발생한 오류에 대한 교정적 피드백을 제공하여 학습자가 프로그램을 수정・보완할 수 있도록 한다.
3.2.2. 자료 처리
자료 처리 영역의 성취기준은 자료를 효율적으로 처리하는 방법을 이해하고 문제 해결에 활용하는 능력을 함양하는 데 중점을 두어 설정하였다. 자료 간의 관계를 구조화하고 정의하는 방법과 정렬, 탐색 등의 자료 처리 방법을 습득하고 프로그래밍을 통해 구현하는 것이 이 영역의 기본적인 학습 활동이다. 이러한 방법의 이해는 알고리즘, 컴퓨팅 시스템 영역에서의 문제 해결을 위해 필요한 선행과정이다. 따라서 이 영역에서는 선형 및 비선형 자료구조의 개념과 원리, 다양한 정렬과 탐색 알고리즘의 효율성을 분석하고 이를 통해 문제 해결에 적합한 자료구조와 알고리즘을 선택하는 데 중점을 둔다.- [12정과02-01]선형 자료구조의 종류와 특성을 이해하고 프로그래밍을 통해 구현한다.
- [12정과02-02]비선형 자료구조의 종류와 특성을 이해하고 프로그래밍을 통해 구현한다.
- [12정과02-03]다양한 정렬 알고리즘을 구현하고 효율성을 비교・분석한다.
- [12정과02-04]순차 탐색과 이진 탐색 알고리즘을 구현하고 효율성을 비교・분석한다.
- [12정과02-05]깊이 우선 탐색과 너비 우선 탐색 알고리즘을 구현하고 효율성을 비교・분석한다.
3.2.2.1. 학습 요소
- 스택, 큐, 리스트, 트리, 그래프, 선택 정렬, 버블 정렬, 삽입 정렬, 퀵 정렬, 힙 정렬, 순차 탐색, 이진 탐색, 깊이 우선 탐색, 너비 우선 탐색
3.2.2.2. 성취기준 해설
- [12정과02-01] 스택, 큐, 리스트와 같은 선형 자료구조의 개념과 특성을 비교할 수 있어야 한다. 또한 다양한 선형 자료구조를 프로그래밍을 통해 구현할 수 있어야 한다.
- [12정과02-03] 선택 정렬, 버블 정렬, 삽입 정렬, 퀵 정렬, 힙 정렬 같은 정렬 알고리즘의 개념과 특성을 비교・분석할 수 있어야 한다. 또한 다양한 정렬 알고리즘을 프로그래밍을 통해 구현할 수 있어야 한다.
- [12정과02-04] 순차 탐색과 이진 탐색 알고리즘의 개념과 특성을 비교・분석할 수 있어야 한다. 또한 탐색 알고리즘을 프로그래밍을 통해 구현할 수 있어야 한다.
3.2.2.3. 교수・학습 방법 및 유의 사항
- 선형 자료구조와 비선형 자료구조에 대한 이해를 바탕으로 문제 상황에 적합한 자료구조를 선택하고 그 이유에 대해 토론하도록 한다.
- 프로젝트 학습을 통해 대표적인 정렬 및 탐색 알고리즘의 특징을 비교・분석하도록 한다.
- 복잡한 문제에 대해서는 모둠별 프로젝트 학습을 통해 효율적인 정렬 및 탐색 알고리즘을 선택하여 텍스트 기반 프로그래밍 언어로 구현하도록 한다.
3.2.2.4. 평가 방법 및 유의 사항
- 토론 과정의 관찰을 통해 선형 자료구조와 비선형 자료구조의 특성을 이해하였는지 평가한다.
- 산출물 평가를 통해 정렬과 탐색 알고리즘의 개념과 특성, 필요성을 이해하였는지 평가한다.
- 프로젝트 수행 과정의 관찰을 통해 문제를 해결하는 과정에서 효율적인 자료구조나 알고리즘을 선택하여 프로그램으로 구현하였는지 평가한다.
3.2.3. 알고리즘
알고리즘 영역의 성취기준은 다양한 학문 분야의 복잡한 문제를 해결하기 위해서 효율적인 알고리즘을 설계하고 구현하는 데 중점을 두어 설정하였다. 문제와 알고리즘의 특성을 분석하는 방법과 탐색 기반 및 관계 기반의 알고리즘을 설계하는 방법을 습득하고 프로그래밍을 통해 구현하는 것이 이 영역의 기본적인 학습 활동이다. 따라서 이 영역에서는 계산의 관점에서 문제를 분석하고 알고리즘의 효율성을 분석한다. 또한 탐색 기반, 관계 기반 알고리즘을 적용한 문제 해결에 중점을 둔다.- [12정과03-01]문제를 계산 가능 문제와 불가능 문제로 나누고, 계산 가능 문제는 결정 문제, 탐색 문제, 계수 문제, 최적해 문제 등으로 분류한다.
- [12정과03-02]알고리즘을 자연어, 의사코드 등으로 표현하고 알고리즘의 수행시간을 측정하여 다양한 표기법을 이용하여 나타낸다.
- [12정과03-03]전체 탐색 방법을 이용하여 문제를 해결하는 알고리즘을 설계하고 프로그래밍을 통해 구현한다.
- [12정과03-04]탐욕(욕심쟁이) 알고리즘을 이용하여 전체 탐색 방법의 효율을 높일 수 있는 알고리즘을 설계하고 프로그래밍을 통해 구현한다.
- [12정과03-05]분기한정 알고리즘을 이용하여 전체 탐색 방법의 효율을 높일 수 있는 알고리즘을 설계하고 프로그래밍을 통해 구현한다.
- [12정과03-06]관계기반 알고리즘을 이해하고 전체 문제와 부분 문제의 재귀적 관계를 정의한다.
- [12정과03-07]하향식 동적 계획법을 이용한 알고리즘을 설계하고 프로그래밍을 통해 구현한다.
- [12정과03-08]상향식 동적 계획법을 이용한 알고리즘을 설계하고 프로그래밍을 통해 구현한다.
3.2.3.1. 학습 요소
- 문제의 분류, 알고리즘 성능 분석, 알고리즘 복잡도, 알고리즘 수행 시간, 선형 전체 탐색, 비선형 전체 탐색, 탐욕(욕심쟁이) 알고리즘, 분기한정 알고리즘, 문제 분해, 관계 정의, 재귀적 관계, 하향식 동적 계획법, 메모이제이션, 상향식 동적 계획법
3.2.3.2. 성취기준 해설
- [12정과03-03] 해가 될 수 있는 대상들 중에서 주어진 조건을 만족하는 해를 탐색함으로써 탐색 기반 알고리즘의 특성과 설계 방법을 이해하고 프로그래밍을 통해 구현할 수 있어야 한다.
- [12정과03-04] 전체 탐색 방법의 효율을 높이기 위해서는 자료 간의 관계를 단순화하는 탐욕(욕심쟁이) 알고리즘을 설계하고 프로그래밍을 통해 구현할 수 있어야 한다.
- [12정과03-05] 전체 탐색 방법의 효율을 높이기 위해서는 탐색 경험을 바탕으로 탐색 공간의 크기를 줄이는 분기한정 알고리즘을 설계하고 프로그래밍을 통해 구현할 수 있어야 한다.
- [12정과03-06] 주어진 문제를 전체 문제와 부분 문제로 분해하고 이들 간의 재귀적 관계를 이용하여 문제를 해결하는 관계 기반 알고리즘의 특성과 설계 방법을 이해하고 프로그래밍을 통해 구현할 수 있어야 한다.
- [12정과03-07] 전체 문제와 부분 문제 간의 재귀적 관계를 바탕으로 효율적으로 문제를 해결하는 하향식 동적 계획법과 메모이제이션(memoization) 방법을 이용하여 알고리즘을 설계하고 프로그래밍을 통해 구현할 수 있어야 한다.
- [12정과03-08] 전체 문제와 부분 문제 간의 재귀적 관계를 바탕으로 효율적으로 문제를 해결하는 상향식 동적 계획법을 이용하여 알고리즘을 설계하고 프로그래밍을 통해 구현할 수 있어야 한다.
3.2.3.3. 교수・학습 방법 및 유의 사항
- 문제 중심 학습을 통해 알고리즘 설계 기법의 개념과 필요성에 대해 정확하게 이해하고, 이를 바탕으로 실제 문제를 해결할 수 있도록 한다.
- 문제 해결 과정에서 학습자의 동기를 유발하기 위해 학습자의 환경 및 수준에 적합한 문제 상황을 제시한다.
- 공개용 소프트웨어나 오픈 소스 통합 개발 환경을 선택함으로써 교수・학습 활동에 학습자의 접근성을 높일 수 있도록 한다.
- 자기주도적 학습과 수준별 학습이 용이하도록 프로그램 자동 평가 시스템을 적극 활용한다.
3.2.3.4. 평가 방법 및 유의 사항
- 질의응답 및 형성 평가 등을 통해 탐색 기반 알고리즘과 관계 기반 알고리즘의 설계 기법에 대한 개념 및 필요성을 정확하게 이해하였는지 평가한다.
- 토론 및 발표 과정을 관찰함으로써 알고리즘의 효율을 수행 시간의 관점에서 정확한 표기법을 이용하여 비교・분석하였는지 평가한다.
- 수학, 과학 등 다양한 학문 분야의 문제 해결 과제를 제시하고, 학습자가 효율적인 알고리즘 설계 기법을 적용하여 해결하였는지 평가한다.
- 프로그램 자동 평가 시스템을 적용할 때는 학습자가 개발한 프로그램의 수행 시간, 소스 코드의 길이 등을 종합적으로 평가한다.
3.2.4. 컴퓨팅 시스템
컴퓨팅 시스템 영역의 성취기준은 컴퓨팅 시스템의 구성 및 동작 원리를 이해하고 실생활의 문제를 해결할 수 있는 창의적 컴퓨팅 시스템을 구현하는 데 중점을 두어 설정하였다. 시뮬레이션 프로그램을 개발하고, 피지컬 컴퓨팅 시스템을 구현하는 방법을 습득하는 것이 이 영역의 기본적인 학습 활동이다. 따라서 이 영역에서는 근사, 난수, 시각화 등의 시뮬레이션 프로그램을 개발하고 마이크로컨트롤러와 입・출력 장치를 사용하여 피지컬 컴퓨팅 시스템을 구현함으로써 다양한 융합 문제들을 창의적으로 해결하는 데 중점을 둔다.- [12정과04-01]문제 해결을 위한 시뮬레이션 프로그램을 설계한다.
- [12정과04-02]문제 해결을 위한 시뮬레이션 프로그램을 구현한다.
- [12정과04-03]문제 해결을 위한 피지컬 컴퓨팅 시스템을 설계하고 구성한다.
- [12정과04-04]피지컬 컴퓨팅 시스템을 제어하기 위한 프로그램을 구현한다.
3.2.4.1. 학습 요소
- 근사, 난수, 시각화, 시뮬레이션 프로그램, 마이크로컨트롤러, 입・출력 장치, 피지컬 컴퓨팅 시스템의 구성, 제어 프로그램 작성, 피지컬 컴퓨팅 시스템 개발
3.2.4.2. 성취기준 해설
- [12정과04-01] 실세계 및 다양한 학문 분야의 복잡한 문제들을 해결하기 위해서는 컴퓨팅 시스템의 계산 능력에 기반한 시뮬레이션 방법을 이해할 수 있어야 한다. 이를 위해 근사, 난수, 시각화의 개념을 이해하고 이를 활용하여 시뮬레이션 알고리즘을 설계할 수 있어야 한다.
- [12정과04-03] 실세계 및 다양한 학문 분야의 융합 문제들을 해결하기 위해서는 피지컬 컴퓨팅 시스템을 설계할 수 있어야 한다. 따라서 문제 해결을 위해 적합한 마이크로컨트롤러와 다양한 입・출력 장치를 선택하고 피지컬 컴퓨팅 시스템을 구성할 수 있어야 한다.
- [12정과04-04] 컴퓨팅 시스템을 구성한 후 실제로 문제를 해결하기 위해서는 하드웨어 장치를 제어할 수 있는 프로그램을 작성하고, 이를 통해 피지컬 컴퓨팅 시스템을 구현할 수 있어야 한다.
3.2.4.3. 교수・학습 방법 및 유의 사항
- 시뮬레이션 영역의 교수・학습을 전개할 때는 시각화의 구현이 용이한 텍스트 기반의 프로그래밍 언어와 통합 개발 환경을 활용한다.
- 다양한 수치해석 기법 등을 활용하여 근사, 난수 알고리즘에 대한 교수・학습을 전개한다.
- 피지컬 컴퓨팅 영역의 교수・학습을 전개할 때는 학교의 상황과 학습자의 수준에 맞는 교구를 선택하여 활용할 수 있도록 한다.
- 마이크로컨트롤러와 다양한 입・출력 장치를 사용하여 학습자 스스로 컴퓨팅 시스템을 구성하고 제어 프로그램을 구현하도록 한다.
- 피지컬 컴퓨팅 구성 및 구현 과정에서 문제 해결의 효율을 높이기 위해 선택한 방법들을 발표와 토론을 통해 공유할 수 있도록 한다.
- 컴퓨팅 시스템의 설계와 구현을 위한 프로젝트 학습에서는 다양한 자료를 자기 주도적으로 찾아 활용할 수 있도록 한다.
3.2.4.4. 평가 방법 및 유의 사항
- 프로젝트 수행과정을 관찰하고 보고서를 평가하여 산출물뿐만 아니라 문제 해결 과정에 대한 평가가 종합적으로 이루어지도록 한다.
- 시뮬레이션 구현을 통한 문제 해결 과정을 평가하는 경우에는 발표 및 토론 과정을 관찰하고 다양한 시뮬레이션 알고리즘을 비교・분석하여 보다 효율적인 알고리즘을 선택하였는지에 중점을 둔다.
- 문제 해결을 위해 학습자가 구현한 피지컬 컴퓨팅 시스템을 평가하는 경우에는 동작 수행의 정확성과 더불어 하드웨어 구성과 설계의 창의성과 효율성에 중점을 둔다.
4. 교수・학습 및 평가의 방향
4.1. 교수・학습 방향
- (1) 컴퓨팅 사고력을 기반으로 실생활의 복잡하고 다양한 문제를 해결할 수 있는 역량을 기를 수 있도록 교수・학습을 설계한다.
- (2) 단순한 내용 요소의 나열과 이에 대한 암기를 지양하고, 학습 요소에 대한 정확한 이해를 바탕으로 심화된 탐구 학습이 이루어질 수 있도록 지도한다.
- (3) 내용 요소별 핵심 개념 및 원리를 안내한 후 학습자가 새로운 문제 상황에서 핵심 개념과 원리를 적용하여 문제를 해결해 볼 수 있는 풍부한 기회를 제공하도록 한다.
- (4) 교과 내에서의 영역 간 연계성, 중・고등학교 정보 과목 간 연계성, 타 교과와의 연계성까지 고려한 학습 경험이 가능하도록 교수・학습 활동을 구성하되, 융합적 문제 해결 능력을 함양할 수 있도록 타 교과의 다양한 문제들을 활용한다.
- (5) 학습자의 수준과 진로 방향을 고려한 탐구 활동이나 프로젝트를 제시하여 학습자의 꿈과 재능이 발휘될 수 있도록 한다.
- (6) 학습자의 발달 단계 및 수준에 적합한 문제와 알고리즘을 예시로 활용하고, 학습자 간 개인차를 고려하여 동료 간 코칭이나 팀 티칭 등의 방법을 적극 활용한다.
- (7) 정렬과 탐색에 대한 다양한 알고리즘의 효율성 분석이나 알고리즘 설계 기법과 시뮬레이션 기법의 장단점 분석은 학습자 스스로가 이해하고 비교・분석할 수 있도록 토론을 유도한다.
- (8) 프로그래밍과 피지컬 컴퓨팅 시스템 구현을 지도할 때는 의사소통능력, 창의・융합적 사고능력, 정보처리능력을 함양할 수 있도록 문제 해결 중심의 협력적 프로젝트 수행에 중점을 둔다.
4.2. 평가 방향
- (1) 컴퓨팅 사고력을 실생활이나 학문간 융합적 맥락 속에서 적용할 수 있는가에 초점을 두어 평가한다.
- (2) 컴퓨팅 사고력과 협력적 문제해결력의 평가 항목은 각 역량의 하위 요소를 기반으로 구체화한다.
- (3) 학습자의 수준을 파악하고 교수・학습 설계에 반영할 수 있도록 형성평가를 적극 활용한다.
- (4) 모둠별 탐구 활동의 성과물에 대한 평가뿐만 아니라 협업 및 발표, 토론 수행 등의 전 과정에서 합리적이고 객관적인 평가가 이루어질 수 있도록 평가 기준과 구체적인 체크리스트를 마련하고 교사 평가뿐만 아니라 동료 평가, 자기 평가를 위한 도구로 활용한다.
- (5) 학습 내용의 정확한 이해를 바탕으로 학습자가 스스로 지식을 구조화하였는지 평가하기 위해 질의응답 및 퀴즈 등의 평가방법을 활용한다.
- (6) 영역별 종합적인 탐구 과제나 프로젝트를 제시하여 협업을 통한 창의적인 문제 해결 능력과 의사소통능력을 평가한다.