창의적 코딩교육

   
조쉬 콜드웰(역:곽소아 외)
ǻ
미디어숲
   
18800
2020�� 09��



■ 책 소개

 

모든 교과 영역에 컴퓨터 과학을 통합하고
효과적으로 수업을 진행할 수 있도록 돕는 안내서!

 

〈Part I〉에서는 이 책의 전반에서 다룰 교육학 이론과 교수전략, 학습 도구들을 소개합니다. 정규 수업에서 컴퓨터 과학이 어떠한 역할을 하는지, 컴퓨터 과학 교사가 되기 위해서 어떠한 새로운 교수 전략을 도입해야 하는지 논의합니다. 여기서 소개하는 철학들은 교실과 교수법을 변화시키는 데 도움이 될 것이며, 이후에 소개할 활동들이 왜 필요하고 어떻게 설계되어야 하는지에 대한 맥락을 제공합니다.

 

〈Part II〉에서는 언어, 사회, 과학, 수학 등 네 가지 하위 섹션으로 구성되었습니다. 각 교과별 고려해야 할 사항들을 반영하고 교과 영역과 컴퓨터 과학을 실세계에 응용할 수 있는 교차점에 특별히 주목하며, 해당 교과 영역에서 컴퓨터 과학을 가르치는 사례를 소개합니다.

 

아울러 컴퓨터가 없이도 네 가지 교과 영역에서 컴퓨터 과학이 수행할 수 있는 역할을 가르칠 수 있도록 컴퓨터 과학 언플러그드 활동들도 함께 살펴봅니다. 각 섹션의 마지막 부분에는 컴퓨터 과학이 해당 교과 영역에서 다루는 실생활 문제와 오버랩되는 부분을 강조하기 위해 다양한 코딩 프로젝트를 소개합니다.

 

〈Part III〉에서는 컴퓨터 과학을 교실에 도입하기 위한 실용적인 방법에 주목합니다. 〈Part II〉에서 소개한 프로젝트들을 통해 학생들을 평가하고 지원할 수 있는 다양한 접근 방법들을 탐색할 수 있습니다. 각 교과 영역의 표준과 컴퓨터 과학 사이의 균형을 유지하면서 평가하고자 하는 요소들을 실제로 평가할 수 있도록 몇 가지 접근법들을 소개합니다.

 

아울러 반드시 초보 프로그래머라면 반드시 해결해야 할 버그(bug) 컴퓨터 프로그램이나 시스템의 오류, 결함, 또는 오류로 인해 올바르지 않거나 예기치 않은 결과가 발생하거나 의도하지 않은 방식으로 작동하는 것과 여러 가지 문제를 해결하는 방법들을 소개합니다.

 

■ 저자 조쉬 콜드웰
코드닷오알지(Code.org)의 교육 프로그램 매니저로, K-8(유치원부터 중학교) 학생들을 위한 다채로운 컴퓨터 과학 커리큘럼을 개발하고 있습니다. 개인이나 소규모 업체와 협력하는 오픈 소스 지지자이기도 합니다. 중학교 교사 재직 시절에는 학생들의 관심사와 지역 사회의 이슈들을 컴퓨터 과학과 연결하기 위해 프로젝트 기반의 컴퓨터과학 및 로봇공학 과정을 개발하고 가르쳤습니다.

 

최근에는 커리큘럼 개발 과정 가이드를 비롯하여 전 세계의 교사들을 위한 전문적인 학습 워크숍을 운영하고 있습니다. 그중에서도 다른 교과를 담당하는 교사들이 컴퓨터 과학 교육을 시작할 수 있도록 돕기 위해 많은 노력을 기울이고 있습니다.

 

■ 역자
곽소아

고려대학교에서 컴퓨터교육학을 전공하여 석사 학위를 취득했다. 현재는 대학 부설 영재교육원에서 중학생을 대상으로 강의하고 있다. 학부시절 북아프리카에 있는 모로코 아이들과 함께 스크래치 프로젝트를 만든 것을 시작으로 코딩교육의 사각 지대에도 관심을 갖고 작은 노력들을 이어가고 있다.

 

가족이 함께 참여하는 창의적 활동에도 관심이 많다. 올해 여섯 살이 된 아들, 얼마 전 태어난 딸과 함께 일상의 창작을 즐기며, 신나는 놀이의 재료가 되는 코딩 활동과 도구들을 고민하고 있다.

 

옮긴 책으로는 『코딩 플레이그라운드』 『초등교사를 위한 코딩교육 길라잡이 : 두렵지 않은 코딩교육』이 있다.

 

장윤재
고려대학교에서 컴퓨터교육학을 전공하여 박사 학위를 취득했다. 학부에서 앨런 케이(Alan Kay)와 스퀵(Squeak)을 만나 아이들을 위한 코딩 교육에 관심을 갖고 공부를 해왔다. 현재는 고려대학교 정보창의교육연구소에서 재직하며 코딩 교육 관련 연구를 하고 있으며, 여러 대학 및 대학원에서 정보 교사 양성을 위한 강의를 맡고 있다.

 

옮긴 책으로는 『코딩 플레이그라운드』 『초등교사를 위한 코딩교육 길라잡이 : 두렵지 않은 코딩교육』이 있다.

 

■ 차례
시작하며
이 책을 소개합니다

 

Part 1. 도구와 전략
CHAPTER 1) 주요 교과에서 컴퓨터 과학 가르치기
CHAPTER 2) 수업 전략
CHAPTER 3) 적절한 도구 선택하기

 

Part 2. 주요 교과에서 코딩하기
CHAPTER 4) 언어 교과에서 코딩하기
CHAPTER 5) 사회 교과에서 코딩하기
CHAPTER 6) 과학 교과에서 코딩하기
CHAPTER 7) 수학 교과에서 코딩하기

Part 3. 평가 및 피드백
CHAPTER 8) 코딩 프로젝트 평가하기
CHAPTER 9) 디버깅과 지속하기

부록
A) 학습자료
B) 앱 랩 세팅하기
C) 또 다른 언어 고려하기
D) 2016 ISTE 학생 표준

 




창의적 코딩교육


도구와 전략

주요 교과에서 컴퓨터 과학 가르치기

자신을 표현하는 도구

일각에서는 기술이 우리 사회에 반드시 필요하기 때문에 컴퓨터 과학을 가르쳐야 한다고 주장합니다. 하지만 이러한 주장 말고도 컴퓨터 과학을 가르쳐야 하는 매우 합당한 주장이 있습니다. 매우 흥미로운 주장이지요!


컴퓨터 과학은 이전에 없었던 개인적인 표현을 할 수 있는 아주 강력한 매체입니다. 학생들이 예술이나 음악, 퍼포먼스, 글쓰기 등 다양한 방법으로 일상의 즐거움을 찾거나 자신을 표현할 때 코딩이 훌륭한 도구가 되며, 더욱 풍부하게 표현할 수 있도록 돕습니다.


평등함 VS 공정함

학생들에게 공정함을 제공한다는 것은 학생들이 성공하는 데 필요한 것을 지원받는 것을 의미합니다. 극복해야 할 고정관념이 있거나 다른 학생들은 가지고 있는 도구에 대한 접근성이 낮은 경우, 다른 학생들보다 더 많은 도움이 필요하거나 다른 학생들과는 다른 방식으로 지원해야 할 학습과제를 가진 학생들은 출발점에서 더 많은 것들을 필요로 합니다.


이것을 인정하는 것은 상대적으로 지원이 덜 필요한 학생에게는 그만큼 지원을 적게 하는 것 역시 인정하는 것입니다.


컴퓨터 과학 프로젝트와 활동 통합하기

이 책의 목적은 교사들이 컴퓨터 과학과 컴퓨팅 사고, 코딩을 다른 교과 영역에 통합할 수 있도록 지원하는 것입니다. 우선 일반적으로 새로운 기술을 통합하기 위한 접근법을 생각해보는 것이 좋습니다.


코딩을 특정 영역 프로젝트에 통합하는 방법을 연구하기에 앞서, 학생들이 원하는 것이 무엇인지를 먼저 고민해 보아야 합니다.


루벤 푸엔테두라(Ruben Puentedura) 박사가 대중화시킨 기술 통합에 대한 SAMR 모델은 컴퓨터 과학을 다른 교과 영역에 통합하는 방법을 고민할 수 있는 훌륭한 출발점이 되어줍니다. SAMR 모델은 기술을 교실 수업에 통합하기 위한 방법으로 대체(Substitution), 강화(Augmentation), 개선(Modification), 재정의(Redefinition) 등 네 가지 단계로 제시하고 있습니다.


기술 통합은 SAMR 모델이 제시하는 각 단계들을 거치면서 더욱 풍부해지고 강력해집니다. 아날로그 매체를 대체하기 위해 사용되는 신기술은 몇몇 학생들에게 흥미롭게 느껴질지 모르나, 기술을 활용하여 지식을 얻는 새로운 학습경험은 제공해 주지 못합니다.


컴퓨터 과학의 통합을 위해 SAMR 모델을 적용할 때에는 설계상 통합된 기술이 추가적인 학습 객체(Learning Objects)를 제공하지 않는다고 가정하기 때문에 어려움이 따릅니다. 도구를 통합할 때 “도구 자체를 가르치기”를 피하고 싶을 때에는 문제가 되지 않지만, 컴퓨터 과학을 수업에 도입할 때는 그렇지 않습니다.


이러한 이유로, 주요 교과 내용과 컴퓨터 과학 내용 사이의 균형을 고려하여 SAMR 모델을 수정한 새로운 프레임 워크 SEAA(대체 : Substitution, 향상 : Enrichment, 진정한 적용 : Authentic Application)를 제안합니다.


이제 SEAA 모델을 적용하는 방법을 단계별로 살펴보겠습니다. 컴퓨터 과학을 통합하기 전, 사회 교과 시간에 지역지구제 변경 제안(local proposed zoning change)에 대한 내용을 포스터 프로젝트로 진행합니다. 학생들은 서로 다른 세 가지 제안을 조사한 다음, 각 제안의 장단점을 강조하여 보여주는 포스터를 만듭니다.


SEAA 모델에서 대체(Substitution) 단계는 컴퓨터 과학을 통합하기 전과 본질적으로 동일합니다. 이 단계에서는 학생들이 만든 포스터를 스크래치(Scratch) 프로젝트로 대체할 수 있습니다. 학생들은 스크래치 프로젝트에 애니메이션, 사운드 효과 인터랙션 등을 추가 할 수는 있지만, 기존 매체와 효과적으로 상호작용할 수 있는 방법이 없습니다.


강화(Enrichment) 단계는 확대와 약간의 수정을 포함합니다. 컴퓨터 과학과 통합한 활동은 학생들이 컴퓨터 과학 없이는 구현하기 어려운 결과물을 만들 수 있도록 합니다.


예를 들어, 이 단계에서는 학생들이 스크래치 프로젝트에서 사용자에게 선호하는 지역제 변경안을 묻고, 사용자가 입력한 응답을 분석하여 사람들이 선호하는 변경안을 확인합니다. 학생들은 자신이 제시한 정보에 사용자들이 어떻게 반응했는지를 확인할 수 있고 컴퓨터 과학 없이는 수행하기가 어려운 활동을 성공적으로 수행할 수 있습니다.


진정한 적용(Authentic Application) 단계는 이 책이 가장 중점적으로 다루는 것으로. 가장 강력한 컴퓨터 과학 통합 유형입니다. 이 단계는 SAMR 모델의 개선 단계와 재정의 단계가 혼합된 것으로, 컴퓨터 과학과 주요 교과 영역은 사람들이 “실제” 세상에서 어떻게 일하는지에 따라 한데 뒤엉킵니다.


여기서는 지역제 변경 프로젝트를 여러 가지 방식으로 진행할 수 있습니다. 한 가지 방법은 각각의 변경안들에 대해 간단한 모델을 만들고 사용자가 모델을 사용하여 변경안과 실제적인 방식으로 상호작용하도록 하는 것입니다.


또 다른 방법은 강화 단계의 예시활동에서처럼 사용자의 응답 데이터를 추적하는 것입니다. 사용자가 프레젠테이션과 상호작용하기 전과 그 이후의 응답을 모두 추적하여 프레젠테이션이 사용자들이 인식을 어떻게 변화시켰는지를 분석하거나 사용자들로부터 다양한 의견을 수집하여 이들이 각 지역제 변경안의 어떤 요소에 응답하였는지 확인하고 이를 반영한 네 번째 변경안을 개발합니다.


두 방법 모두 교실에 고립되어 있던 활동을 끌어내어 컴퓨터 과학에 통합하고, 학생들이 도시 기획자처럼 더욱 실제적으로 프로젝트를 수행하도록 합니다.


수업 전략

페어 프로그래밍

페어 프로그래밍은 소프트웨어 개발 분야에서 비롯된 기법으로, 두 명의 개발자가 나란히 앉아 컴퓨터 한 대를 같이 사용하며 문제를 해결합니다. 두 사람이 하나의 컴퓨터에서 일을 하는 것은 비효율적인 것처럼 생각될 수 있으나, 페어 프로그래밍을 효과적으로 잘 수행할 경우에 코드뿐 아니라 커뮤니케이션의 질을 모두 높일 수 있습니다.


페어 프로그래밍은 더 나은 제품을 개발하고 싶은 회사에서 사용하기에 좋은 방법이기도 하지만 프로그래밍 기술을 향상 시키고 싶은 학생들에게도 많은 도움이 됩니다. 또한 초·중·고 교육에서도 효과적으로 적용되어 컴퓨터 과학을 배우는 학생들이 만드는 결과물 수준을 높이고 소통과 협업을 향상시켜 줍니다.


페어프로그래밍은 경쟁적이거나 다른 누군가를 고립시키는 것이 아닌 협력적이고 사회적인 활동입니다. 따라서 관련 연구에서 컴퓨터 과학을 배우는 학생들 간의 성별 격차를 줄이는 것으로 나타났습니다.


적절한 도구 선택하기

중학교에서의 장단점

-블록 기반 VS 텍스트 기반

블록 기반 언어는 레고 블록을 조립하는 것처럼 명령어 블록을 조합하여 프로그래밍을 하는 것으로 초보자들도 쉽게 사용할 수 있습니다. 전 세계적으로 인기있는 스크래치(Scratch)와 구글의 블록리(Blockly)가 대표적인 블록 기반 언어입니다.


블록 기반 언어는 초보 학습자들이 가장 많이 겪는 세 가지 문제를 해결해 줍니다. 첫 번째는 문법에 대한 어려움입니다. 프로그래밍 언어의 문법은 코드를 작성하는 방법을 정의하는 규칙이므로 반드시 알아야 합니다. 전통적인 프로그래밍 언어에서는 중괄호와 세미콜론을 언제 어떻게 사용해야 하는지가 중요했습니다. 일부 언어에서는 들여쓰기와 공백을 구분해서 사용하기도 합니다.


초보 학생들에게는 프로그래밍의 기본 논리를 배우는 것과 동시에 이러한 문법까지 배우는 것이 어렵게 느껴질 수 있습니다. 특히 프로그램의 버그가 논리 구조를 잘 이해하지 못한 데서 비롯된 것인지, 아니면 논리 구조는 문제가 없으나 문법 오류 때문에 비롯되었는지를 판단하는 것은 매우 어렵습니다.


그래픽 블록은 문법 요소가 포함되어 있기 때문에 문법적으로 올바른 방법으로만 블록을 조합할 수 있습니다. 학생들은 문법에 대한 걱정 없이 문제를 논리적으로 분석하고 프로그래밍하여 문제를 해결하는 데 자신감을 가질 수 있습니다.


두 번째는, 블록 기반 언어는 어린 학습자처럼 글을 읽고 쓰는 것을 어려워하거나, 타이핑이 느린 학생들에게도 도움이 됩니다. 명령어 블록으로 코딩할 때에는 텍스트를 입력하거나 철자를 고려하지 않아도 됩니다. 일반적으로 블록 기반 언어는 학생들이 코드를 읽거나 작성하는 데 도움을 주기 위해 글자 이외에도 블록의 모양과 색상으로 힌트를 줍니다.


마지막으로, 블록 기반 언어는 자체 문서화(self-documenting)를 지원합니다. 학생들은 사용할 수 있는 모든 명령어 블록 중에서 직접 명령어 블록을 선택하기 때문에 새로운 명령어나 기능을 쉽게 발견할 수 있습니다.


하지만 블록 기반 언어가 언제나 해답이 되는 것은 아닙니다. 블록 기반 언어가 프로그래밍하기는 쉽지만, 특히 고학년 학생들의 경우에는 프로그래밍 기술이 점점 더 향상될수록 블록 기반 언어가 덜 효율적이고 덜 효과적이며 “현실감”이 떨어진다고 생각합니다.


텍스트 기반 언어로 프로그래밍할 수 있는 학생들은 블록 기반 언어를 사용할 때 복사/붙여넣기, 검색 및 바꾸기 등의 텍스트 처리 기법이 텍스트 기반 언어보다 번거롭다고 느끼고 블록 기반 언어에서는 불가능한 작업들을 많이 발견하게 됩니다.


초등학교에서 블록 기반 언어를 성공적으로 이미 습득한 학생들은 중학교에서 텍스트 기반 언어로 전환할 준비가 된 것이며, 스스로도 배우고 싶어 할 겁니다.


블록과 텍스트 모두 가능

본래 자바스크립트는 텍스트 기반 언어지만, 앱 랩에서는 텍스트 기반의 자바스크립트를 작성할 수 있을 뿐 아니라 드래그 앤 드롭(drag and drop) 방식으로 블록들을 조합할 수 있습니다.


앱 랩은 검색 가능한 코드, 간단한 문법 사용과 같은 블록 기반 환경의 장점들을 지원하기 때문에 학생들이 어렵지 않게 프로그래밍을 할 수 있습니다. 따라서 앱 랩은 학생들이 사용할 수 있는 언어가 제각각이고 여러 다양한 이유로 블록 언어를 희망하는 중학교 수업에서 특히 유용합니다.


앱랩을 사용하는 학생들은 블록 인터페이스와 텍스트 인터페이스 중에서 자신이 사용할 수 있는 인터페이스를 선택하거나, 각각의 인터페이스가 제공하는 장점 중에서 자신의 필요에 따라 하나의 인터페이스를 선택하여 프로그래밍할 수 있습니다.


더욱 멋진 것은 학생들이 텍스트로 프로그래밍을 할 때에도 블록 라이브러리를 사용할 수 있을 뿐 아니라 블록으로도 복잡한 문법을 작성할 수 있고 해당 코드는 즉시 텍스트로도 전환됩니다.



주요 교과에서 코딩하기

언어 교과에서 코딩하기

언플러그드 활동

컴퓨팅 사고를 교실에 통합하려는 교사들에게 CS 언플러그드(www.csunplugged.org)는 아주 훌륭한 교수학습 자료입니다. 이 사이트에는 직접 컴퓨터를 사용하지 않고도 다양한 컴퓨터 과학 주제를 탐구할 수 있는 오프라인 활동, 신체활동, 교수학습 자료들이 잘 정리 되어 있습니다.


CS 언플러그드 활동은 컴퓨터 과학 주제를 폭넓게 다루고, 컴퓨터 과학에 대한 사전지식이 없는 학생들도 참여할 수 있으며 컴퓨터 과학과 관련하여 다양한 경험을 했던 학생들 모두가 공평하게 경쟁할 수 있는 기회의 장이기도 합니다.


CS 언플러그드 활동 중에서 개인적으로 가장 좋아하는 활동 중 하나는 정보를 그대로 보존하면서 적은 양의 공간에 저장하는 무손실 압축을 소개하는 활동입니다. 여기서는 컴퓨터 과학 관점에서 무손실 압축이 정보를 저장하고 전송하는 원리를 모두 다룹니다. 정보를 작게 만들수록 더욱 많이 저장할 수 있고 더욱 신속하게 전달할 수 있습니다.


이것은 언어로 소통하는 데 필요한 최소한의 정보를 탐구하는 흥미로운 활동이 될 수 있습니다. 학생들은 텍스트에서 반복되는 문자열, 단어 또는 어구를 찾아 다른 기호로 대체합니다. 이러한 과정을 반복하면 텍스트를 훨씬 짧은 코드로 대체할 수 있고, 저장 공간도 줄일 수 있습니다. 노래 가사나 시처럼 반복되는 표현이 많은 문장을 활용하면 더욱 재미있게 활동할 수 있습니다.


텍스트 압축 활동은 시 단원 학습을 본격적으로 시작하기 전에 가볍게 진행하거나 문장의 순환적 구조 및 반복 구조를 탐구할 때 적절히 활용하면 좋습니다. 학생들은 이 활동을 하면서 메시지를 전달하기 위해 필요한 정보의 양에 대해 토의 합니다.


여기서 주된 쟁점은 압축된 텍스트가 본래 의미를 잃는지에 대한 여부입니다. 텍스트 압축 활동은 무손실 압축(압축한 이후에도 정보가 모두 복원될 수 있음) 개념을 탐구하는 것이지만, mp3 음악과 같이 정보의 일부를 손실하고서 압축하는 역량도 많이 있습니다.



평가 및 피드백

코딩 프로젝트 평가하기

여러분은 아마 담당하고 있는 과목에서 핵심 주제를 평가할 수 있는 평가 체계와 절차를 가지고 있을 것입니다. 그러나 코딩 프로젝트를 평가할 때에는 여러분이 기존의 평가 체계와 절차를 재평가하거나 수정해야 할 것입니다.


첫 번째로 고려할 것은 프로젝트에서 코딩 부분을 조금이라도 평가할 것인지에 대한 여부입니다. 컴퓨터 과학 통합 수업은 우선적으로 학생들이 성취해야 할 교과 영역별 표준을 지원해야 합니다. 만약 코딩 부분을 평가하고자 한다면 학생들에게 피드백을 제공할 것인지 아니면 점수만 부여할 것인지를 결정해야 합니다.


평가의 목적을 명확히 하고 나면, 평가 방법을 고안해야 합니다. 제 경험상 코딩 프로젝트를 평가할 때 결과물보다 과정을 더욱 강조하는 것이 좋습니다. 특히 중학교에서 학생들이 최종 결과물보다 어떠한 과정을 겪었는지(예 : 설계, 반복, 디버깅, 협업)를 더욱 가치있게 바라보면 좋겠습니다.


학생들이 만든 결과물을 중요치 않게 생각하는 것이 아닙니다. 학생들이 완벽한 앱을 개발하는 것보다 최선을 다해 도전에 임하고, 다시 도전하고, 또 다른 방면에서 지식을 얻는 것이 더욱 중요하다는 것입니다. 적어도 컴퓨터 과학 수업에서는 학생들이 끈기 있게 노력하는 것을 가치있게 평가하고 실패하는 것을 나쁜 것으로 인식하지 않도록 합시다.


디버깅과 지속하기

러버덕 디버깅

러버덕 디버깅은 학생들이 디버깅에 대한 긴장을 낮추고 약간 기발한 방식으로 자신의 프로그램에 대해 상세히 설명할 수 있는 재미있는 방법입니다.


교사의 책상 위에 러버덕을 올려둡니다(학교의 마스코트나 학생들이 좋아하는 동물 인형으로 대신해도 좋습니다). “교사를 찾기 전에 세 명에게 물어보기” 활동을 해도 여전히 해결하지 못한 문제가 있는 학생에게 이 러버덕을 건네줍니다. 러버덕을 건네받은 학생은 자리로 돌아가 자신의 코드에서 무엇이 실행되고 무엇이 문제인지를 러버덕에게 설명합니다.


때로는 학생들이 문제를 말로 표현하는 것만으로도 어려움을 해결 할 수 있습니다. 때문에 교사가 러버덕처럼 직접 옆에서 듣지 않아도 됩니다.


결론

다시 이 책의 처음 부분으로 돌아가면, 저는 여러분이 담당하고 있는 수업에 컴퓨터 과학을 통합하는 기회를 찾아 필요한 절차를 단계적으로 밟도록 권유했습니다.


이 책에 소개된 활동과 수업들은 수백 명의 교사들이 제가 성장하는 데 영향을 주었던 것들을 반영한 것들입니다. 그 중에서 많은 분들이 컴퓨터 과학을 가르친 적이 없었지요.


여러분의 수업에 컴퓨터 과학을 도입함으로써 컴퓨터 과학 학습 기회를 가질 수 없었던 학생들에게 반드시 필요한 학습 기회를 제공할 수 있습니다. 뿐만 아니라 모든 학생에게 컴퓨터 과학이 무엇인지, 무슨 역할을 하는지, 사회적으로 어떠한 영향을 미치는지에 대한 관점을 넓혀줄 수 있습니다.


컴퓨터 과학 통합 수업은 학생들이 장차 기술 관련 직업을 선택하든 선택하지 않든 상관없이 모든 학생에게 현대 사회에서 더 나은 삶을 준비할 수 있는 토대를 마련해 줄 것입니다.


* * *


본 도서 정보는 우수 도서 홍보를 위해 저작권자로부터 정식인가를 얻어 도서의 내용 일부를 발췌 요약한 것으로, 저작권법에 의하여 저작권자의 정식인가 없이 무단전재, 무단복제 및 전송을 할 수 없으며, 원본 도서의 모든 출판권과 전송권은 저작권자에게 있음을 알려드립니다.