2022 개정 교육과정/과학과/고등학교/정보과학

덤프버전 :


파일:다른 뜻 아이콘.svg
은(는) 여기로 연결됩니다.
이 과목이 계승한 지난 교육과정의 과목에 대한 내용은 2015 개정 교육과정/과학과/고등학교/정보과학 문서
2015 개정 교육과정/과학과/고등학교/정보과학번 문단을
2015 개정 교육과정/과학과/고등학교/정보과학# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.






1. 개요
1.1. 성격
1.2. 목표
2. 성취기준


1. 개요[편집]


2022 개정 교육과정의 고등학교 과학 계열 진로 선택 과목인 <정보과학>에 관한 문서.


1.1. 성격[편집]


‘정보과학(Informatics)’은 인공지능으로 정의되는 사회에서 데이터와 정보로 인한 디지털 세상의 변화를 인식하고, 정보의 사회적 가치를 탐구하며, 정보를 처리하는 다양한 원리와 기술에 기반한 컴퓨팅 사고력을 바탕으로 실생활 및 다양한 학문 분야의 문제를 해결하는 능력과 태도를 기르는 교과이다. ‘정보과학’은 디지털 대전환 시대의 국가‧사회적 요구에 부응하여, 컴퓨팅을 활용한 문제 해결을 위해 사회 구성원이 갖추어야 할 필수 역량을 제공한다. ‘정보’의 학문적 기저는 컴퓨터에서 처리되는 데이터와 정보의 원리, 컴퓨팅 시스템을 설계하고 구현하는 기술과 방법, 정보를 다루는 인간 사회에 대한 이해 등을 포괄하고 있다. 즉, ‘정보과학’은 컴퓨터과학뿐 아니라 데이터 과학, 인공지능, 정보기술, 정보시스템, 소프트웨어 등의 분야를 포괄하는 정보과학에 대한 기본 개념과 원리를 기반으로 다양한 학문 분야와 미래 사회의 문제를 해결하는 데 도움이 되는 지식과 기술을 함양한다. 교과의 이러한 특성은 사회 각 분야에서 요구되는 소프트웨어와 인공지능에 대한 기본 소양을 갖추고, 공학뿐만 아니라 자연과학, 인문‧사회과학, 예술과 체육 등 다양한 학문 분야에서 문제를 창의적으로 해결하는 인재 양성에 도움을 준다.

‘정보과학’은 컴퓨터과학소프트웨어에 대한 깊이 있는 학문적 이해를 바탕으로 디지털 사회의 복잡한 문제를 이해하고, 미래 사회에 발생 가능한 문제를 해결하는 데 도움이 되는 문제 분석, 구조화, 해결을 위한 알고리즘 설계가 프로그래밍을 통해 구체화되는 과정을 경험할 수 있게 한다. 소프트웨어에 대한 깊이 있는 학습을 기반으로 대학의 소프트웨어 관련 다양한 전공과 연계되는 기초 지식을 습득하고, 컴퓨팅의 기본 개념과 원리, 컴퓨팅 시스템 등을 활용한 심도 있는 문제 해결 역량을 함양한다. 이를 통해 실세계 및 타 학문 분야의 문제를 융합적이고 창의적으로 해결할 수 있는 역량을 갖춘 디지털 민주시민으로 성장하게 된다.


1.2. 목표[편집]


고등학교 ‘정보과학’은 컴퓨터과학의 기본 개념과 원리, 컴퓨팅 기술을 기반으로 디지털 사회를 살아가는 데 필요한 기본 역량을 함양하고, 실생활에서 발생하는 문제와 다양한 학문 분야의 문제를 융합적으로 해결하기 위한 정보과학적 방법론을 습득하여 해결할 수 있는 능력을 기르는 데 중점을 둔다.

(1) 문제를 해결하기 위한 프로그래밍 과정을 통해 정확하고 효율적으로 작동하는 소프트웨어를 개발할 수 있는 능력을 기른다.
(2) 데이터의 처리를 위해 선행되어야 할 데이터의 구조에 대해 파악하고 효율적인 문제 해결을 위한 데이터 구조화의 가치를 파악하는 태도를 기른다.
(3) 실생활 및 다양한 학문 분야의 문제를 해결하는 과정을 통해 알고리즘 설계 및 구현 능력을 기른다.
(4) 컴퓨터과학의 기본 개념과 원리에 기반하여 타 학문 분야의 문제를 해결하기 위한 융합적 설계, 새로운 방법론 활용 등의 능력을 기른다.


2. 성취기준[편집]



2.1. 프로그래밍[편집]


[12정과01-01]함수 정의와 호출의 원리를 이해하고, 매개변수를 활용한 함수 프로그램을 작성한다.
[12정과01-02]주어진 문제에서 적용할 수 있는 재귀관계를 파악하고, 재귀구조를 활용하여 프로그램을 작성한다.
[12정과01-03]반복구조와 재귀구조를 활용하여 문제를 해결하고, 두 방식의 차이를 비교‧분석한다.

(가) 성취기준 해설
• [12정과01-02] 많은 알고리즘의 코드가 재귀적으로 구성되어 있고 재귀구조를 통해 높은 수준의 생산성을 기대할 수 있다. 문제 내에서 재귀관계를 파악할 때는 수학적 귀납법을 활용할 수 있음을 이해하고, 문제 해결책을 재귀구조를 활용하여 설계하고 프로그래밍할 수 있어야 한다. 또한, 이후의 학습 내용이 많은 부분 재귀구조와 관련되어 있음을 판단할 수 있어야 한다.
• [12정과01-03] 재귀구조와 반복구조는 문제 해결책을 설계하는 방법이나 코드의 표현에 있어서 서로 다른 지향점을 갖는다. 특정한 문제를 해결할 때 재귀구조를 사용하여 프로그래밍하는 것과 반복구조를 사용하여 프로그래밍하는 방식의 차이를 구체적으로 비교하여 설명할 수 있어야 한다.

(나) 성취기준 적용 시 고려 사항
• 수학적 귀납법을 적용할 때 주어진 명제를 수학적으로 증명하는 과정을 설명하는 방법보다는 귀납 가정 부분이 재귀함수 호출과 어떤 관계가 있는지를 다양한 예를 통해서 이해할 수 있도록 하여 실제 문제를 해결할 때 재귀구조를 활용할 수 있음을 인식하도록 한다.
• 최소 성취수준을 보장하기 위해 주어진 문제로부터 재귀관계를 파악하지 못하더라도 반복구조로 작성된 프로그램을 재귀함수로 변환하여 구현하는 방식의 활동을 제공하도록 한다.


2.2. 데이터 구조[편집]


[12정과02-01]스택과 큐의 원리를 이해하고, 순차적인 데이터 구조를 이용하여 스택과 큐를 구현한다.
[12정과02-02]스택, 큐를 활용하여 문제를 효율적으로 해결하는 프로그램을 작성한다.
[12정과02-03]인접행렬과 인접리스트를 활용하여 트리와 그래프를 구현한다.
[12정과02-04]트리, 그래프를 활용하여 문제를 효율적으로 해결하는 프로그램을 작성한다.

(가) 성취기준 해설
• [12정과02-01] 선입선출, 후입선출 구조를 활용하면 복잡한 문제를 간단하게 해결할 수 있음을 이해할 수 있어야 한다. 프로그래밍 언어의 특성에 따라 배열이나 리스트를 활용하여 대표적인 선입선출, 후입선출 구조인 스택과 큐를 구현하고 문제를 해결하는 데 활용할 수 있어야 한다.

(나) 성취기준 적용 시 고려 사항
• 스택과 큐를 배열이나 리스트로 구현하는 활동을 통하여 원리를 이해할 수 있도록 하고, 이후 진행되는 문제 해결 활동에서는 프로그래밍 언어별로 활용 가능한 스택과 큐의 라이브러리를 활용하여 구현하는 방법도 활용하도록 한다.
• 인접리스트는 트리와 그래프를 만드는 도구로서의 활용이 목적이므로 구조체와 포인터 등으로 직접 구현하는 방법보다는 프로그래밍 언어별로 제공하는 벡터(vector)와 같은 라이브러리를 이용하여 구현하는 방법도 활용하도록 한다.
• 데이터 구조의 원리를 이해하고 구현하는 과정이 궁극적으로는 문제를 효율적으로 해결하는 방법임을 이해하고 학습을 진행하는 것이 필요하다. 따라서 데이터 구조를 활용한 실생활의 문제 해결 활동과 예제를 제공하는 방식으로 교수·학습을 구성하고 해당 맥락에서 데이터 구조를 활용하는 능력을 향상하도록 한다.


2.3. 알고리즘[편집]


[12정과03-01]문제를 분석하여 상태 공간으로 구조화하고, 상태 공간을 모두 탐색하여 문제를 해결하는 알고리즘을 설계한다.
[12정과03-02]문제의 상태 공간 일부를 배제하는 알고리즘을 설계하고, 기존의 탐색기반 알고리즘과 비교‧분석한다.
[12정과03-03]전체 문제를 부분 문제로 분해하고, 전체 문제와 부분 문제의 관계를 발견한다.
[12정과03-04]부분 문제를 해결한 결과를 이용하여 전체 문제를 해결하는 알고리즘을 설계한다.
[12정과03-05]부분 문제가 중복으로 적용되지 않는 알고리즘을 설계하고 기존의 관계기반 알고리즘과 비교‧분석한다.
[12정과03-06]알고리즘의 복잡도를 빅오 표기법으로 표현하고 다른 알고리즘과 비교한다.

(가) 성취기준 해설
• [12정과03-02] 상태 공간 일부를 배제하고도 정확한 답을 구할 수 있는 분기한정법과 탐욕법 등의 알고리즘 설계 방법이 상태 공간을 배제하는 원리를 설명하고, 이를 활용하여 문제를 해결할 수 있는 알고리즘을 설계할 수 있어야 한다.
• [12정과03-04] 퀵 정렬, 합병 정렬 등을 활용하여 분할정복법이 문제를 해결하는 원리를 이해하고, 분할정복법을 활용하여 해결할 수 있는 문제를 탐색하여 해결 알고리즘을 설계할 수 있어야 한다.
• [12정과03-05] 배열 등을 활용하여 중복으로 계산되는 부분 문제들의 답을 저장하여 효율을 높이는 동적계획법의 원리를 설명하고, 이를 활용하여 문제를 해결하는 알고리즘을 설계할 수 있어야 한다. 동적계획법과 분할정복법을 기반으로 한 알고리즘 간의 차이를 여러 측면에서 설명할 수 있어야 한다.

(나) 성취기준 적용 시 고려 사항
• 탐색으로 알고리즘을 설계하는 방법은 인공지능 분야의 탐색과 추론영역과 연계됨을 인식하고 교수·학습을 구성할 때 관련된 용어가 명확하게 사용되는지 유의하도록 한다.
• 알고리즘 영역에서 제시되는 구체적인 알고리즘은 정보학의 문제 해결 과정에서 중요하게 활용되고 있음을 이해할 수 있도록 실제적인 예시를 통해 교수·학습을 구성하도록 한다. 이때 실제 알고리즘이 적용된 프로그램이나 시각적인 자료를 통해 학습자가 더욱 직관적으로 효율성을 인식하도록 구성하는 방식도 고려할 수 있다.
• 알고리즘을 적용한 프로그램의 평가 시 알고리즘의 효과성과 효율성을 종합적으로 평가하도록 한다. 특히 다양한 프로그램 환경이나 데이터를 활용하여 설계한 알고리즘이 동일하게 효율적으로 작동하는지를 평가하여 학습 내용이 확장·전이되었는지를 확인하도록 한다.
• 최소 성취수준을 보장하기 위하여 알고리즘을 경험할 수 있는 다양한 시뮬레이션 자료를 제공하고, 프로그래밍 언어가 제공하는 라이브러리 활용 방법을 안내하여 최소한의 알고리즘 적용 활동을 진행할 수 있도록 한다.


2.4. 정보과학 프로젝트[편집]


[12정과04-01]다양한 학문 분야에서 컴퓨터과학의 기본 개념과 원리를 바탕으로 해결할 수 있는 실생활의 문제를 발견한다.
[12정과04-02]발견한 문제를 분석하고, 문제를 해결하기 위한 프로젝트 수행 과정을 설계한다.
[12정과04-03]다양한 오픈소스 및 라이브러리를 활용하여 협력적으로 문제를 해결하기 위한 프로그램을 작성한다.
[12정과04-04]완성도 높은 프로그램을 구현하기 위하여 테스트와 디버깅 과정을 통해 검증한다.
[12정과04-05]프로젝트의 산출물을 기능적, 윤리적 관점에서 평가하고 결과를 공유한다.

(가) 성취기준 해설
• [12정과04-02] 프로젝트 수행 과정은 프로그래밍을 활용한 문제 해결 절차 즉, 문제 분석 및 구조화, 효율적으로 해결할 수 있는 알고리즘 설계, 프로그래밍을 통한 자동화, 그리고 검증하는 단계까지 포함하고 있음을 이해하고, 절차에 맞게 문제 해결 과정을 설계할 수 있어야 한다.

(나) 성취기준 적용 시 고려 사항
• 실생활의 다양한 문제를 발견하는 활동에서는 환경, 생태, 자연의 위기 등 생태 관련 주제도 포함될 수 있음을 안내하고, 이를 효율적으로 해결하는 것은 에너지 절약을 비롯한 환경을 보호하는 것과 관계가 있음을 인식할 수 있도록 한다.
• 프로젝트 활동은 주어진 문제를 해결하기 위한 알고리즘 설계 및 프로그래밍 과정을 포함하도록 교수·학습을 구성하며 주제 선정, 프로그래밍 언어 선정 등의 절차는 학습자 간의 협의를 통하여 민주적 절차로 이루어질 수 있도록 한다.
• 프로젝트를 해결하는 과정은 가능한 모둠별로 진행하고, 자신이 맡은 역할에 충실한 방식으로 협업이 원활하게 진행되도록 교사가 중재하도록 한다. 프로그래밍 과정에서는 세부적인 기능들을 모두 구현하는 것보다는 공개된 프로그램 코드나 프로그래밍 언어에서 제공하는 라이브러리를 적극적으로 활용하여, 목표로 하는 기능을 충분히 구현하고 프로젝트 과제를 해결할 수 있도록 한다.
• 프로젝트 주제에 따라 목적에 맞는 소프트웨어를 제작하는 활동이나 특정 문제를 해결하는 알고리즘을 설계하는 등 다양한 수준의 활동이 가능함을 이해하고 학생들의 역량과 환경에 따라 적절한 형태로 운영할 수 있도록 다양한 사례를 제시하고 활용하도록 한다.
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-10-30 19:36:09에 나무위키 2022 개정 교육과정/과학과/고등학교/정보과학 문서에서 가져왔습니다.