이미 소장하고 있다면 판매해 보세요.
|
시작하며
이 책을 소개합니다 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 학생 표준 |
Josh Caldwell
곽소아의 다른 상품
장윤재의 다른 상품
|
일각에서는 기술이 우리 사회에 반드시 필요하기 때문에 컴퓨터 과학을 가르쳐야 한다고 주장합니다. 하지만 이러한 주장 말고도 컴퓨터 과학을 가르쳐야 하는 매우 합당한 주장이 있습니다. 매우 흥미로운 주장이지요! 컴퓨터 과학은 이전에 없었던 개인적인 표현을 할 수 있는 아주 강력한 매체입니다. 학생들이 예술이나 음악, 퍼포먼스, 글쓰기 등 다양한 방법으로 일상의 즐거움을 찾거나 자신을 표현할 때 코딩이 훌륭한 도구가 되며, 더욱 풍부하게 표현할 수 있도록 돕습니다.
학생들에게 공정함을 제공한다는 것은 학생들이 성공하는 데 필요한 것을 지원받는 것을 의미합니다. 극복해야 할 고정관념이 있거나 다른 학생들은 가지고 있는 도구에 대한 접근성이 낮은 경우, 다른 학생들보다 더 많은 도움이 필요하거나 다른 학생들과는 다른 방식으로 지원해야 할 학습과제를 가진 학생들은 출발점에서 더 많은 것들을 필요로 합니다. 이것을 인정하는 것은 상대적으로 지원이 덜 필요한 학생에게는 그만큼 지원을 적게 하는 것 역시 인정하는 것입니다. 루벤 푸엔테두라 박사가 대중화시킨 기술 통합에 대한 SAMR 모델은 컴퓨터 과학을 다른 교과 영역에 통합하는 방법을 고민할 수 있는 훌륭한 출발점이 되어줍니다. SAMR 모델은 기술을 교실 수업에 통합하기 위한 방법으로 대체, 강화, 개선, 재정의 등 네 가지 단계로 제시하고 있습니다. 페어 프로그래밍은 소프트웨어 개발 분야에서 비롯된 기법으로, 두 명의 개발자가 나란히 앉아 컴퓨터 한 대를 같이 사용하며 문제를 해결합니다. 두 사람이 하나의 컴퓨터에서 일을 하는 것은 비효율적인 것처럼 생각될 수 있으나, 페어 프로그래밍을 효과적으로 잘 수행할 경우에 코드뿐 아니라 커뮤니케이션의 질을 모두 높일 수 있습니다. 블록 기반 언어는 초보 학습자들이 가장 많이 겪는 세 가지 문제를 해결해 줍니다. 첫 번째는 문법에 대한 어려움입니다. 프로그래밍 언어의 문법은 코드를 작성하는 방법을 정의하는 규칙이므로 반드시 알아야 합니다. 전통적인 프로그래밍 언어에서는 중괄호와 세미콜론을 언제 어떻게 사용해야 하는지가 중요했습니다. 일부 언어에서는 들여쓰기와 공백을 구분해서 사용하기도 합니다. 초보 학생들에게는 프로그래밍의 기본 논리를 배우는 것과 동시에 이러한 문법까지 배우는 것이 어렵게 느껴질 수 있습니다. 특히 프로그램의 버그가 논리 구조를 잘 이해하지 못한 데서 비롯된 것인지, 아니면 논리 구조는 문제가 없으나 문법 오류 때문에 비롯되었는지를 판단하는 것은 매우 어렵습니다. 앱 랩은 검색 가능한 코드, 간단한 문법 사용과 같은 블록 기반 환경의 장점들을 지원하기 때문에 학생들이 어렵지 않게 프로그래밍을 할 수 있습니다. 따라서 앱 랩은 학생들이 사용할 수 있는 언어가 제각각이고 여러 다양한 이유로 블록 언어를 희망하는 중학교 수업에서 특히 유용합니다. 컴퓨팅 사고를 교실에 통합하려는 교사들에게 CS 언플러그드(www.csunplugged.org)는 아주 훌륭한 교수학습 자료입니다. 이 사이트에는 직접 컴퓨터를 사용하지 않고도 다양한 컴퓨터 과학 주제를 탐구할 수 있는 오프라인 활동, 신체 활동, 교수학습 자료들이 잘 정리되어 있습니다. CS 언플러그드 활동은 컴퓨터 과학 주제를 폭넓게 다루고, 컴퓨터 과학에 대한 사전지식이 없는 학생들도 참여할 수 있으며, 컴퓨터 과학과 관련하여 다양한 경험을 했던 학생들 모두가 공평하게 경쟁할 수 있는 기회의 장이기도 합니다. 교사가 선택한 아이디어를 학생들에게 제시하고 모둠별로 앉아 다양한 잠재적 접근방법들을 브레인스토밍하도록 시간을 줍니다. 칠판에 브레인스토밍한 내용들을 기록합니다. 아이디어에서 응답할 수 있는 아이디어 목록을 만들고 나면, 학생들은 이야기의 개요를 작성할 수 있습니다. 학생들이 이 프로젝트가 프로그래밍하는 활동이라는 것을 처음부터 알고 있을 경우에는 당장 컴퓨터로 달려가고 싶을 겁니다. 하지만 그래서는 안 됩니다! 훌륭한 소프트웨어 개발자들은 프로그래밍을 시작하기 전에 반드시 준비를 합니다. 컴퓨터 과학의 핵심은 앱을 구성하는 각 요소와 화면을 식별할 수 있는 고유한 이름을 만드는 것입니다. 앱 랩에서는 이러한 이름 혹은 ID를 자동으로 생성해 주지만, 콘텐츠의 내용이나 의도를 반영한 것은 아니기 때문에 그리 유용하지는 않습니다. 소프트웨어를 개발할 때에는 향후에 자신뿐 아니라 다른 사람들도 본래 의도를 파악할 수 있도록 ID의 이름을 신중하고 체계적으로 만들어야 합니다. 예를 들면, 학생들은 비트 번호를 사용하여 모든 요소에 고유하고 의미 있는 ID를 부여할 수 있습니다. --- 「본문」 중에서 |
|
컴퓨터 과학에 대한 사전 지식이나
코딩 경험이 없어도 누구나 활용할 수 있다! 기존 교과에 컴퓨터 과학을 통합, 적용할 수 있는 프로젝트 활동, 교수학습 자료, 교수학습 전략 제시! 최근 몇 년 동안 컴퓨터과학 교육이 급속도로 발전하고 있습니다. 이러한 움직임 덕분에 많은 학생들이 중학교에서 컴퓨터 과학에 대한 기초 지식과 코딩을 배우고 있습니다. 이 새로운 창의적 기술은 학생들이 자신을 설득력 있게 표현할 수 있도록 해 주지만, 학생들은 여전히 이러한 기술을 갈고 닦을 수 있는 충분한 기회와 지원이 필요합니다. 『창의적 코딩교육』은 학생들의 컴퓨팅 사고와 코딩 기술을 향상시키고, 학생들이 배운 기술을 직접 실천할 수 있는 다양한 활동과 프로젝트를 교사가 개발하는 데 도움을 줍니다. 또한 수학, 과학, 언어, 사회 교과를 가르치는 교사들이 기존 수업을 보완하고 더욱 강화하는 방안으로 코딩을 통합하는 방법과 지침을 제공합니다. 이 책의 특징 · 교수 활동에 컴퓨터 과학을 통합하기 위한 교육학 이론, 교수 전략, 도구 소개 · 언어, 사회, 과학, 수학 교과 시간에 적용할 수 있는 수업 지도안 소개 (교과별 공통 핵심기준과 교과 표준, ISTE, CSTA의 표준 교육서) · 코딩을 배우는 학생들을 지원하고 평가할 수 있는 다양한 접근방법 안내 · 도구 및 프로그래밍 언어에 적절한 수업을 설계할 수 있도록 관련 교수학습 자료와 활동 소개 모든 교과 영역에 컴퓨터 과학을 통합하고 효과적으로 수업을 진행할 수 있도록 돕는 안내서!/ 이 책은 세 개의 주요 섹션으로 구성되었습니다. [Part I]에서는 이 책의 전반에서 다룰 교육학 이론과 교수전략, 학습 도구들을 소개합니다. 정규 수업에서 컴퓨터 과학이 어떠한 역할을 하는지, 컴퓨터 과학 교사가 되기 위해서 어떠한 새로운 교수 전략을 도입해야 하는지 논의합니다. 여기서 소개하는 철학들은 교실과 교수법을 변화시키는 데 도움이 될 것이며, 이후에 소개할 활동들이 왜 필요하고 어떻게 설계되어야 하는지에 대한 맥락을 제공합니다. [Part II]에서는 언어, 사회, 과학, 수학 등 네 가지 하위 섹션으로 구성되었습니다. 각 교과별 고려해야 할 사항들을 반영하고 교과 영역과 컴퓨터 과학을 실세계에 응용할 수 있는 교차점에 특별히 주목하며, 해당 교과 영역에서 컴퓨터 과학을 가르치는 사례를 소개합니다. 아울러 컴퓨터가 없이도 네 가지 교과 영역에서 컴퓨터 과학이 수행할 수 있는 역할을 가르칠 수 있도록 컴퓨터 과학 언플러그드 활동들도 함께 살펴봅니다. 각 섹션의 마지막 부분에는 컴퓨터 과학이 해당 교과 영역에서 다루는 실생활 문제와 오버랩되는 부분을 강조하기 위해 다양한 코딩 프로젝트를 소개합니다. [Part III]에서는 컴퓨터 과학을 교실에 도입하기 위한 실용적인 방법에 주목합니다. [Part II]에서 소개한 프로젝트들을 통해 학생들을 평가하고 지원할 수 있는 다양한 접근 방법들을 탐색할 수 있습니다. 각 교과 영역의 표준과 컴퓨터 과학 사이의 균형을 유지하면서 평가하고자 하는 요소들을 실제로 평가할 수 있도록 몇 가지 접근법들을 소개합니다. 아울러 반드시 초보 프로그래머라면 반드시 해결해야 할 버그(bug) 컴퓨터 프로그램이나 시스템의 오류, 결함, 또는 오류로 인해 올바르지 않거나 예기치 않은 결과가 발생하거나 의도하지 않은 방식으로 작동하는 것과 여러 가지 문제를 해결하는 방법들을 소개합니다. 각 챕터에 수록되어 있는 『창의적 코딩으로 확장하기』 상자에서는 컴퓨터 과학과 코딩을 소개하는 데 필요한 아이디어와 도구들을 참고할 수 있습니다. 부록으로 컴퓨터 과학을 가르칠 때 참고할만한 자료들을 수록했습니다. 컴퓨터 과학과 코딩에 대해 자세히 배울 수 있는 곳을 비롯하여 수업에 필요한 도구를 준비하는 방법들을 소개합니다. 아울러 이 책에 수록된 코딩 프로젝트를 다른 적절한 도구나 프로그래밍 언어로 진행할 수 있도록 프로젝트를 변형하는 방법을 구체적인 예시와 함께 설명해 놓았습니다. |