『학교로 찾아가는 소프트웨어(SW) 교육...

37
『학교로 찾아가는 소프트웨어(SW) 교육 연수』교재 『학교로 찾아가는 소프트웨어(SW) 교육 연수』교재 (시도교육청으로 교체 가능) 소프트웨어 중심 사회와 소프트웨어 교육 소프트웨어 교육의 목표와 방향 2015 개정 교육과정과 소프트웨어 교육 초등학교 소프트웨어 교육의 이해 소프트웨어 교육의 방법 언플러그드 활동 프로그래밍 로봇 활용 교육 언플러그드 활동 프로그래밍 로봇 활용 교육

Transcript of 『학교로 찾아가는 소프트웨어(SW) 교육...

『학교로 찾아가는 소프트웨어(SW) 교육 연수』교재『학교로 찾아가는 소프트웨어(SW) 교육 연수』교재

2017. 6

(시도교육청으로 교체 가능)

목 차

I. 소프트웨어 교육의 필요성 ·····················································1

1. 소프트웨어 중심 사회와 소프트웨어 교육 ·············································12. 소프트웨어 교육의 목표와 방향 ·······························································8

Ⅱ 2015개정 교육과정의 소프트웨어 교육 이해 ················12

1. 2015 개정 교육과정과 소프트웨어 교육 ··············································12

2. 초등학교 소프트웨어 교육의 이해 ·························································19

Ⅲ. 소프트웨어 교육의 체험 ·····················································31

1. 소프트웨어 교육의 방법 ···········································································31

2. 언플러그드 활동 ························································································32

3. 프로그래밍 ··································································································44

4. 로봇 활용 교육 ··························································································52

Ⅳ. 소프트웨어 교육의 실제 ·····················································57

1. 언플러그드 활동 ························································································57

2. 프로그래밍 ··································································································63

3. 로봇 활용 교육 ··························································································68

Ⅴ. 소프트웨어 교육 참고 사이트 및 자료 ··························72

- 1 -

Ⅰ. 소프트웨어 교육의 필요성

1 소프트웨어 중심 사회와 소프트웨어 교육

1.1 정보 기술의 발달이 개인과 사회에 미치는 영향

가. 소프트웨어 중심 사회와 정보 기술

오늘날과 같은 소프트웨어 중심 사회1)에서 정보 기술의 발달은 매우 중요한 위치를

차지하고 있습니다. 정보 기술(IT, information technology)이란 컴퓨팅 시스템과 통신

기술을 이용하여 정보를 생산하고 생산된 정보를 활용하는 것을 의미하는데, 소프트웨

어와 하드웨어, 인터넷, 스마트 기기, 프로그래밍, 멀티미디어의 활용 등이 이러한 정보

기술에 해당합니다. 정보 기술의 발달은 개인의 일상생활과 정치, 경제, 사회, 문화 등

각 분야에 새로운 변화를 일으키고 있습니다.

[그림 Ⅰ-1] 정보기술의 발달과 우리생활의 변화

즉, 개인은 스마트 기기나 가정용 사물인터넷(IoT, Internet of Things) 기기, 웨어러블

1) 2016년 1월 스위스 다보스에서 개최된 제46회 세계 경제포럼에서는 정보 혁명에 의한 4차 산업 혁명이 개인과 사회의 미래에 어떠한 변화를 초래할지에 관한 논의가 진행되기도 하였습니다. 최근에는 이러한 4차 산업 혁명 사회를 소프트웨어가 혁신과 성장, 가치창출의 중심이 되고 개인, 기업, 국가의 경쟁력을 좌우하게 되는 ‘소프트웨어 중심 사회’라는 용어로 설명하고 있습니다.

- 2 -

기기 등을 활용하여 일상생활을 더욱 편리하게 영위할 수 있게 되었으며, 정치 분야에서

도 행정 정보통신망, 공공데이터 등을 활용하여 보다 효율적으로 국민을 위한 업무를 처

리할 수 있게 되었습니다. 또한 경제 분야에서는 빅데이터 분석과 모바일 뱅킹, 로봇, 인

공지능 활용 등을 통해 부가가치가 높은 사업들을 창출할 수 있게 되었고, 사회와 문화

분야에서도 증강현실이나 가상현실 콘텐츠, 자동번역, SNS 등을 통해 시간적, 지역적

한계를 넘어 다양한 문화를 생생히 접하면서 서로 소통하고 공유하며 살아갈 수 있게

되었습니다.

이러한 변화의 중심에는 소프트웨어가 있습니다. 실제로 세계 경제 포럼(WEF, World

Economic Forum)에서 소개된 2006년과 2016년의 세계 10대 기업 변화 차트를 보면 세계

경제의 규모에서 소프트웨어(IT, Telecoms 분야)가 차지하는 비중이 가장 크게 증가한 것

을 알 수 있습니다. 또한 소프트웨어가 가치창출의 중심이 되지 못한 기업은 점점 도태되

고, 소프트웨어를 중심으로 삼은 기업은 그 경제 규모가 매우 크게 성장하였으며, 그 구성

비율도 증가한 것을 알 수 있습니다.

[그림 Ⅰ-2] 2006년과 2016년 세계 10대 기업의 변화2)

이를 자세히 살펴보면 소프트웨어와 관련된 세계 10대 기업이 2006년에는 마이크로소

프트(Microsoft) 1개였으나, 2016년에는 애플(Apple), 알파벳(Alphabet- Google 지주회

2) 출처 : World Economic Forum (2017). These are the world's 10 biggest corporate giants https://www.weforum.org/agenda/2017/01/worlds-biggest-corporate-giants/

- 3 -

사) 등 6개 임을 확인할 수 있습니다. 또한 2006년에 있던 10개 기업 중 3개만이 여전히

10대 기업으로 남아있는데, 전문가들은 에너지 회사인 엑슨 모빌(Exxon mobil)은 세계

최대의 에너지 기업이기 때문에 생존할 수 있었으며, 제너럴 일렉트릭(GE)의 경우는 주

된 사업의 방향성을 소프트웨어로 전환하는 자체적인 혁신을 통해 생존할 수 있었다고

그 이유를 분석하고 있습니다.

이처럼 앞으로 살아가게 될 미래의 소프트웨어 중심 사회에서는 소프트웨어가 혁신과

성장, 가치창출의 중심이 되고, 나아가 국가의 경쟁력을 좌우하게 될 것임을 예측할 수

있습니다.

나. 소프트웨어 중심 사회와 직업의 변화

과거 산업사회에서 산업과 기술을 중심으로 직업의 개편이 이루어졌던 것처럼 소프트

웨어 중심 사회에서도 소프트웨어를 중심으로 한 새로운 직업의 등장과 핵심 직업군의

변화 등이 예상됩니다. 2016년 초 세계의 이목이 집중되었던 알파고, 자율주행자동차, 로

봇공학 등 다양한 인공지능(AI)기술의 발전은 소프트웨어에 기반한 미래 성장 동력으로

서 그 중요성이 부각되고 있으며, 이와 관련하여 새로운 형태의 직업이 기존의 직업을

대체하게 될 것입니다.

[그림 Ⅰ-3] 알파고, 자율주행자동차, 로봇공학 등 인공지능 기술의 발달

옥스퍼드 마틴스쿨 칼 베네딕트 프레이 교수와 마이클 오스본 교수는 2013년 발표한

'고용의 미래: 우리의 직업은 컴퓨터화(化)에 얼마나 민감한가'라는 보고서에서 자동화

와 기술 발전으로 20년 이내 현재 직업의 47%가 사라질 가능성이 크다고 지적했습니다.

텔레마케터나 시계 수선공은 물론 스포츠 경기 심판, 모델, 회계, 감사, 부동산 중계사,

제빵사 등도 사라질 가능성이 높은 부류에 속한다고 합니다. 현재 전 세계 7세 어린이의

65%는 지금은 존재하지 않는 직업을 갖게 될 것이라고 전망했습니다. 특히 이렇게 새롭

게 생겨나는 직업은 대부분 지능화된 소프트웨어의 원리를 이해하고, 이를 통제할 수 있

는 능력과 관계가 깊을 것이라 예측했습니다3).

- 4 -

<표 Ⅰ-1> 미래에 직업이 사라질 가능성(출처: ‘고용의 미래’ 보고서 번역)

번호 직 업 사라질

확률번호 직 업 사라질

확률번호 직 업 사라질

확률1 텔레마케터 99.00% 35 기계 기술자 65.00% 69 작가 3.80%2 화물, 창고 관련 업무 종사자 99.00% 36 도서관 사서 65.00% 70 법률가 3.50%3 시계 수선공 99.00% 37 시장조사 전문자 61.00% 71 산업 엔지니어 2.90%4 스포츠 경기 심판 98.00% 38 마시지 치료사 54.00% 72 엔지니어(컴퓨터 제외) 2.50%5 모델 98.00% 39 치과 조무사 51.00% 73 프로듀서, 감독 2.20%6 캐시어(계산원) 97.00% 40 법원 속기사 50.00% 74 인테리어 디자이너 2.20%7 전화 교환원 97.00% 41 컴퓨터 프로그래머 48.00% 75 패션 디자이너 2.10%8 리셉셔니스트(호텔 등 접수 담당자) 96.00% 42 역사학자 44.00% 76 사진작가 2.10%9 자동차 엔지니어 96.00% 43 경제학자 43.00% 77 재료과학자 2.10%10 카지노 딜러 96.00% 44 법원 서기 41.00% 78 환경 엔지니어 1.80%11 레스토랑 요리사 96.00% 45 판사 40.00% 79 우주항공 엔지니어 1.70%12 회계, 감사 94.00% 46 통·번역가 38.00% 80 최고 경영 임원 1.50%13 웨이터, 웨이트리스 94.00% 47 배우 37.00% 81 홍보 관련 업무 종사자 1.50%14 정육업자 93.00% 48 지리학자 25.00% 82 멀티미디어 아티스트 1.50%15 소매업자 92.00% 49 설문조사 전문가 23.00% 83 음악감독, 작곡가 1.50%16 보험 판매원 92.00% 50 금융 전문가 23.00% 84 생명과학자 1.50%17 교통 감시 요원 90.00% 51 통계 전문가 22.00% 85 세일즈 매니저 1.30%18 제빵사 89.00% 52 소방수 17.00% 86 미생물학자 1.20%19 버스 기사 89.00% 53 댄서 13.00% 87 간호사 0.90%20 택시 기사 89.00% 54 기자, 특파원 11.00% 88 성직자 0.81%21 도배 업자 87.00% 55 경찰 9.80% 89 중등 교사 0.78%22 부동산 중개사 86.00% 56 음악가, 가수 7.40% 90 고고학자, 인류학자 0.77%23 핵 기술자 85.00% 57 방송 뉴스 평론가 6.70% 91 운동 트레이너 0.71%24 경비, 보안 요원 84.00% 58 동물학자 6.10% 92 큐레이터 0.68%25 주차 요원 84.00% 59 사회학자 5.90% 93 컴퓨터 시스템 분석가 0.65%26 선원, 항해사 83.00% 60 여행 가이드 5.70% 94 무대·전시 디자이너 0.55%27 인쇄업 종사자 83.00% 61 수학자 4.70% 95 치과 의사 0.44%28 타이피스트 81.00% 62 농부, 목축업자 4.70% 96 초등학교 교사 0.44%29 이발사 80.00% 63 소프트웨어 개발자 4.20% 97 심리학자 0.43%30 목수 72.00% 64 조각가, 화가 4.20% 98 외과·내과 의사 0.42%31 건설업 관련 종사자 71.00% 65 우주 비행사 4.10% 99 영양사 0.39%32 세탁, 드라이클리닝 업무 71.00% 66 정치학자 3.90% 100 구강,악안면술외과의사 0.39%33 우편배달부 68.00% 67 광고 분야 종사자 3.90% 101 헬스케어부문사회복지사 0.39%34 치위생사 68.00% 68 수의사 3.80% 102 레크리에이션활용치료전문가 0.28%

실제로 미국에서는 소프트웨어 관련 일자리가 2015년 약 70만개에서 2020년 140만개

로 증가할 것으로 예상4)하고 있으며, 유럽연합(EU)에서도 앱(App)산업 분야에서 2018

년까지 약 480만개의 일자리가 창출5)될 것으로 전망하고 있습니다.

3) 출처 : C. B. Frey & M. A. Osborne (2013). THE FUTURE OF EMPLOYMENT: HOW SUSCEPTIBLE ARE JOBS TO COMPUTERISATION? http://www.oxfordmartin.ox.ac.uk/publications/view/1314

4) 출처 : Bureau of Labor Statistics (2017). Employment Projections https://www.bls.gov5) 출처 : M. Mulligan & D. Card (2014). Sizing the EU app economy. http://ec.europa.eu/information_society/newsroom/cf/dae/document.cfm?doc_id=4485

- 5 -

[그림 Ⅰ-4] 미국과 유럽연합의 소프트웨어 관련 직업 예상

다. 소프트웨어 중심 사회와 미래 역량

소프트웨어가 중심이되는 4차산업사회의도래와새로운사회에대한준비 방향을 제

시한 세계 경제 포럼(WEF, 2017)에서는 21세기의 학생들에게 요구되는 16가지 기술을 다

음과 같이 설명하고 있습니다.

[그림 Ⅰ-5] 21세기의 학생들에게 요구되는 16가지 기술6)

6) 출처 : World Economic Forum (2017). What are the 21st-century skills every student needs?

https://www.weforum.org/agenda/2016/03/21st-century-skills-future-jobs-students/

- 6 -

이를 자세히 살펴보면 미래사회에서 학생들이 일상에서 부딪치는 문제나 과업에 핵심

기술을 어떻게 적용하는가에 관련된 6가지 기초 소양들(foundational literacies)과 복잡

한 도전에 어떻게 접근하는가에 관련된 4가지 능력(competencies), 변화하는 환경에 어

떻게 접근해야 할지와 관련된 6가지 성격적인 특성(character qualities) 등을 제시하고

있는데, 이 중 ICT 소양, 비판적 사고/문제해결능력, 창의력, 의사소통, 협업능력, 호기심

등 상당 부분이 소프트웨어와 직․간접적으로 연계된 역량임을 할 수 있습니다.

이와 같은 역량들은 2015 개정 교육과정에서 추구하는 인재상인 ‘바른 인성을 갖춘

창의․융합형 인재’가 갖추어야 할 핵심 역량과 그 맥을 같이 한다고 볼 수 있습니다.

2015 개정 교육과정은 역량 중심 교육과정으로 핵심 역량과 교과 역량을 강조하고 있습

니다. 이중 핵심 역량이란, 학생들이 학교를 졸업하고 살아가게 될 미래 사회에서 시민으

로서 혹은 직업인으로서 성공적인 삶을 사는데 필요한 능력으로, 지식, 기능, 태도 및 가

치가 통합적으로 작용하여 발현되는 능력입니다7). 이러한 2015 개정 교육과정이 추구하

는 인재상과 6개의 핵심 역량은 자기관리역량, 지식정보처리역량, 창의적 사고역량, 심미

적 감성역량, 의사소통역량, 공동체 역량으로서 미래사회 시민으로 살아가는데 필수적으

로 요구되는 능력이며 우리 학생들은 초·중등 교육과정에서 제시된 교과 학습을 통해 이

를 종합적으로 갖추게 될 것입니다.

[그림 Ⅰ-6] 2015 개정 교육과정의 추구하는 인간상 및 핵심 역량8)

7) 출처 : 교육부 (2016). 2015 개정 교육과정 총론 해설. 8) 출처 : 에듀넷 (2017). 2015 개정 교육과정 총론 연수자료(PPT) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627

- 7 -

1.2 세계의 소프트웨어 교육 현황

소프트웨어 중심 사회에서는 소프트웨어와 관련된 역량이 매우 중요시 되고 있으며,

각 국가에서도 이를 함양하기 위한 다양한 교육적 제도와 환경을 마련하고 있습니다. 인

도, 이스라엘, 일본 등은 일찍이 정보나 정보과학을 필수로 가르치고 있으며, 영국은

2014년 9월부터 모든 초·중등학교에서 컴퓨팅 교육을 필수로 하는 국가교육과정을 시행

하였고, 미국도 2016년 1월에 오바마 대통령이 초·중등 모든 학생을 위한 컴퓨터과학

(Computer Science for All) 교육 정책을 추진하겠다고 발표하는 등 세계 주요국들은 알

고리즘과 프로그래밍이 포함된 소프트웨어 교육(혹은 컴퓨터과학, 컴퓨팅)을 교육과정

에 필수과목으로 적극 도입하고 있습니다. 이러한 변화는 세계 각국이 미래 경쟁력을 확

보하기 위해 소프트웨어의 중요성을 인식함으로써 국가적으로 소프트웨어 교육을 공교

육 차원에서 이행하고 있음을 보여주고 있으며, 앞으로 이러한 소프트웨어 교육이 더 많

은 국가로 확대될 것으로 예측됩니다. 같은 맥락에서 우리나라도 2014년부터 소프트웨

어교육의 필요성과 중요성을 강조해왔고 2015 개정 교육과정에 반영함으로써 2018년부

터 학교 현장에서 소프트웨어교육이 필수적으로 이루어질 계획입니다.

<표 Ⅰ-2> 국가별 소프트웨어 교육 현황9)

2011 이스라엘, 중학교 CS(Computer Science) 과정 개발 및 운영

2012 일본, “정보” 과목이 고등학교에서 필수 과목

2014 영국, “컴퓨팅” 과목을 5세~16세 필수 과목으로 운영

2015 에스토니아, 모든 초등학교에서 컴퓨팅 교육 실시

2016 핀란드, 초・중・고에 ‘ICT’ 추가, 알고리즘의 원리와 코딩 교육

2014

2015

2016

미국, code.org 가입자 3천7백만 명

미국 30개 교육청, 정보과학을 졸업학점 인정 과목 지정

미국 AP코스, “Computational Thinking” 과목 실시 결정

9) 출처 : 한국교육개발원 (2014). 초・중등 SW교육 의무화・디지털 인재양성, 추진과 전망, 특별기획, http://edzine.kedi.re.kr/autumn/2014/article/special_02.jsp

- 8 -

2 소프트웨어 교육의 목표와 방향

2.1 소프트웨어 교육의 의미와 목표

가. 소프트웨어 교육의 의미

소프트웨어 교육이란 컴퓨터 과학의 기본적인 개념과 원리를 기반으로 다양한 문

제를 창의적이고 효율적으로 해결하는 컴퓨팅 사고력(Conputational Thinking,

CT)을 기르는 교육을 의미합니다. 따라서 소프트웨어 교육에서는 학습자들이 응용 프

로그램의 사용법만을 배우는 것이 아니라, 컴퓨터 과학의 기본 개념과 원리를 활용하여

문제를 창의적으로 해결하는 사고 과정을 학습하게 되며, 이는 교육용 프로그래밍 언어

을 활용한 프로젝트 기반 프로젝트 기반 문제해결학습, 체험․탐구 중심의 다양한 교육

활동 등을 통해 배우게 됩니다.

[그림 Ⅰ-7] 소프트웨어 교육10)

나. 소프트웨어 교육의 목표

소프트웨어 교육의 목표는 궁극적으로 컴퓨팅 사고력을 갖춘 창의․융합적 인재 양

성이라고 볼 수 있습니다. 이를 위해 초등학교에서는 알고리즘과 프로그래밍의 체험을

10) 출처 : 교육부 (2016). 중등 SW교육 선도교원 연수자료(PPT) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627

- 9 -

통해 소프트웨어 기초 소양을 함양하고, 중학교에서는 알고리즘 이해와 표현 및 프로그

래밍 기초 활동을 통해 실생활 문제를 해결하며, 고등학교에서는 알고리즘 설계․분석

과 심화된 프로그래밍 활동을 토대로 다양한 학문분야의 문제를 해결함으로써 컴퓨팅

사고력을 함양하게 됩니다.

[그림 Ⅰ-8] 학교급별 소프트웨어 교육의 목표 및 교육내용11)

2015 개정교육과정(교육부, 2015)에서 제시한 소프트웨어 교육과 관련된 학교급별 목

표는 다음과 같습니다. 각 학교급에서는 교육과정에서 제시하고 목표 달성을 위해 구체

적인 SW교육 실천방안을 마련하고 실행하게 될 것입니다.

11) 출처 : 에듀넷 (2017). 2015 개정 교육과정 총론 연수자료(PPT) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627

구분 총괄 목표 세부 목표

초등학교실과 교과

가정생활에 대한 지식, 능력, 가치 판단력을 함양하여 실천적 문제 해결을 통해 자립적인 삶을 영위하고, 기술에 대한 실천적 학습 경험을 통해 기술적 지식, 기능, 태도를 함양하여 기술적 능력을 높여, 현재와 미래의 행복하고 건강한 가정생활과 창조적인 기술의 세계를 주도적으로 영위할 수 있도록 한다.

라. 기술에 대한 이해를 기초로 기술적 문제를 창의적으로 해결하고 일상생활에 적용할 수 있는 기술적 문제해결능력과 기술활용능력을 기른다.

마. 기술의 발달과 사회의 변화에 적극적으로 대처하고 적응할 수 있는 기술활용능력과 기술시스템설계능력을 기른다.

바. 다양한 자원을 활용하여 기술적 문제를 이해하고 해결 방안을 탐색하고 개발할 수 있는 기술시스템 설계능력과 기술적 문제해결능력을 기른다.

<표 Ⅰ-3> 2015 개정 교육과정의 소프트웨어 교육 관련 학교급별 목표

- 10 -

구분 총괄 목표 세부 목표

중학교정보 교과 정보윤리의식, 정보보호능력, 정보기술

활용 능력을 기르고 컴퓨터과학의 기본 개념과 원리, 컴퓨팅 기술을 바탕으로 실생활 및 다양한 학문 분야의 문제를 창의적이고 효율적으로 해결하는 능력과 협력적 태도를 기르는 데 중점을 둔다.

가. 정보사회의 특성을 이해하고, 정보윤리 및 정보보호를 올바르게 실천할 수 있는 태도를 기른다.

나. 정보기술을 활용하여 정보를 효율적으로 관리하고 생산하는 능력과 태도를 기른다.

다. 컴퓨팅 원리에 따라 문제를 추상화하여 해법을 설계하고 프로그래밍 과정을 통해 소프트웨어로 구현하여 자동화할 수 있는 능력을 기른다.

라. 컴퓨팅 시스템의 구성 및 동작 원리를 이해하고 실생활의 문제를 해결할 수 있는 창의적 컴퓨팅 시스템을 구현할 수 있는 능력을 기른다.

(1) 정보사회의 특성을 올바르게 이해하고 정보윤리를 실천할 수 있는 태도를 기른다.

(2) 정보기술을 활용하여 문제 해결에 필요한 자료와 정보를 수집하고 효율적으로 구조화하는 능력과 태도를 기른다.

(3) 컴퓨터과학의 기본 개념과 원리에 따라 실생활의 문제를 추상화하여 해법을 설계하고 프로그래밍 과정을 통해 소프트웨어로 구현하여 자동화할 수 있는 능력을 기른다.

(4) 컴퓨팅 시스템의 구성 및 동작 원리를 이해하고 다양한 입・출력 장치와 프로그래밍을 통해 문제 해결에 적합한 피지컬 컴퓨팅 시스템을 구성하는 능력을 기른다.

고등학교정보 과목

(1) 정보사회에서 정보과학의 가치와 영향력을 인식하고 정보윤리, 정보보호 및 보안을 실천할 수 있는 태도를 기른다.

(2) 정보 활용 목적에 따라 효율적인 디지털 표현 방법을 이해하고 정보기술을 활용하여 자료와 정보를 수집, 분석, 관리하는 능력과 태도를 기른다.

(3) 컴퓨터과학의 기본 개념과 원리에 따라 다양한 학문 분야의 문제를 추상화하여 해법을 설계하고 프로그래밍 과정을 통해 소프트웨어로 구현하여 자동화할 수 있는 능력을 기른다.

(4) 컴퓨팅 시스템의 효율적인 자원 관리 방법을 이해하고 다양한 학문 분야의 복잡한 문제 해결을 위한 피지컬 컴퓨팅 시스템을 창의적으로 구현할 수 있는 능력을 기른다.

- 11 -

2.2 소프트웨어 교육에 대한 올바른 접근

일각에서는 소프트웨어 교육에 대한 오해로 우려의 시각을 내비치기도 합니다. 소프

트웨어 교육은 기존의 ‘ICT 활용 교육’의 다른 모습이거나 또한 프로그래머를 양성하기

위한 ‘프로그래밍 언어 교육’도 아닙니다.

[그림 Ⅰ-9] 소프트웨어 교육에 대한 오해

소프트웨어 교육은 특정 직업이나 능력에 특화된 교육이 아니라, 미래 인재가 고루 갖

추어야 할 역량을 함양하기 위한 보편교육으로서 그 중요성을 가지고 있습니다. 즉, 소

프트웨어 교육을 통해 학생들은 컴퓨팅 사고력 향상과 더불어 논리적 사고력과 창의적

문제해결력, 협동심 등을 신장할 수 있으며, 확산적 사고의 기회를 제공받을 수 있습니

다.

따라서, 소프트웨어 교육은 소프트웨어가 가정과 사회에 미치는 영향을 이해하도록

하고, ‘컴퓨터 활용법’이 아닌 ‘컴퓨터 과학의 기본적인 개념과 원리를 바탕으로 문제를

해결하기 위해 접근하는 방식’을 통해 일상생활에서 접하는 문제를 절차적이고 논리적

으로 해결하는 창의력과 사고력을 길러, 궁극적으로 미래 사회를 위한 창의․융합형 인

재를 양성하는 보편적 교육으로 접근할 필요가 있습니다.

- 12 -

Ⅱ. 2015개정 교육과정의 소프트웨어 교육 이해

1 2015 개정 교육과정과 소프트웨어 교육

1.1 소프트웨어 교육 추진 경과 및 2015 개정 교육과정의 주요 방향

가. 소프트웨어 교육의 추진 경과

현 시대의 중심 학문 중 하나라 할 수 있는 컴퓨터 과학의 핵심적인 요소는 디지털 기

기나 소프트웨어의 활용에만 그치는 것이 아니라, 미래 사회의 핵심적인 사고 과정이라

고 할 수 있는 컴퓨팅 사고력(Computational Thinking, CT의 함양이라 할 수 있습니다.

우리나라에서도 이러한 컴퓨팅 사고력을 함양하는 것이 국가의 미래 경쟁력을 확보하기

위한 초석이라는 것을 인식하고 소프트웨어 교육을 공교육에 적용하기 위한 다양한 노

력을 기울여 왔습니다.

[그림 Ⅱ-1] 소프트웨어 교육의 추진 경과

정부는 급변하는 세계 교육의 흐름에 맞추어 미래 사회에서 요구되는 컴퓨팅 사고력

을 지닌 인재를 양성하기 위한 목적으로 2014년 7월 소프트웨어 중심사회 실현전략 보

고회(교육부, 미래부, 산자부, 문체부)를 개최하여 초․중등학교 소프트웨어교육 강화방

안을 발표하였으며, 2014년 9월 문․이과 통합형 교육과정 총론 주요사항을 발표(교

육부)하였습니다.

이 후 2015년 2월 교육부에서 소프트웨어 교육 연구학교(교육부 주관)와 소프트웨어

- 13 -

교육 선도학교(미래부 주관) 및 희망학교에서 2015 개정 교육과정이 적용되기 전까지

소프트웨어 교육을 실시하기 위한 목표, 내용, 방법, 평가에 관한 안내사항을 소프트웨

어 교육 운영지침으로 보급하였습니다.

또한 2015년 7월 소프트웨어 중심사회를 위한 인재양성 추진 계획을 발표하면서 ①

초․중등 SW교육 본격 확산, ② 산업현장의 요구를 반영한 대학 소프트웨어 교육 혁신,

③ 민관협력으로 친(親) 소프트웨어 문화확산 등 3대 분야 12개 과제를 중점 추진하여,

2020년까지 초․중등생에 대한 소프트웨어 교육을 통해 창의적 아이디어를 소프트웨어

로 구현할 수 있는 문제해결력을 갖춘 ‘미래형 창의인재’를 양성하고, 2018년까지 전체

초등교사의 30%인 6만 명을 대상으로 직무교육을 실시, 이 중 6천 명에 대해서는 심화

연수를 실시하며, 중학교 ‘정보’ 과목 교사 및 ‘정보․컴퓨터’ 자격증 보유 교사의 전체

인원인 1,800여 명을 대상으로 심화연수를 추진할 것이라고 밝혔습니다.

이 후, 2015년 9월, 초․중등학교 2015 개정 교육과정이 고시되면서 소프트웨어 교

육이 2018년부터 단계적으로 초, 중, 고등학교의 교육과정에 적용될 수 있게 되었습니다.

<표 Ⅱ-1> 2015 개정 교육과정(소프트웨어 교육)의 적용교과, 적용학년, 적용시기

구분 교과(과목) 적용학년 적용시기 비고

초등학교 실과 5~6학년 ‘19

중학교 정보 1~3학년 ‘18~’20 정보과목 편성학년에 따라 적용시기 상이고등학교 정보 1~3학년 ‘18~’20

나. 2015 개정 교육과정의 주요 방향 및 특징

2015 개정 교육과정에서는 개정의 주요 방향 중 하나로 인문․사회․과학기술에 관한

기본 소양 함양을제시하였으며, 이를실현하기위한일환으로소프트웨어 교육 강화를강

조하였습니다.

[그림 Ⅱ-2] 2015 개정 교육과정의 개정 주요 방향12)

- 14 -

[그림 Ⅱ-3] 인문․사회․과학기술 소양의 의미와 개정교육과정에서의 구현 방법13)

또한 2015 개정 교육과정에서는 소프트웨어 교육과 관련된 교과의 편제를 변화하여

소프트웨어 교육을 강화할 수 있도록 하였습니다([그림 Ⅱ-4] 참조). 즉, 초등학교에서

는 실과교과의 ICT활용 중심 내용 단원을 소프트웨어 기초 소양과 관련된 교육 내용으

로 개편하도록 하고, 5~6학년군에서 17시간 이상 시수를 확보하도록 하였습니다. 또한

중학교에서는 기존의 선택과목이었던 정보 교과를 필수과목으로 지정하고 소프트웨어

중심의 교육 내용으로 개편하여 총 34시간 이상 이수하도록 하였습니다. 고등학교에서

는 심화 선택과목이었던 정보 교과를 일반 선택과목으로 전환하고, 소프트웨어 중심의

내용으로 개편함으로써 단위학교의 과목 선택률을 높일 수 있도록 하였습니다.

[그림 Ⅱ-4] 2015 개정 교육과정에서 소프트웨어 교육 관련 편제의 변화

12) 출처 : 에듀넷 (2017). 2015 개정 교육과정 총론 연수자료(PPT) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=62713) 출처 : 에듀넷 (2017). 2015 개정 교육과정 총론 연수자료(PPT) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627

- 15 -

이처럼 2015개정 교육과정에서 소프트웨어 교육은 초등학교의 5~6학년군실과교과에

서소프트웨어기초소양관련내용으로, 중학교 및고등학교에서는정보교과의중심내용

으로 다루게 되어 있습니다. 따라서 소프트웨어 교육에 대해 바르게 이해하기 위해서는 관

련된교과의교과역량을살펴볼 필요가있습니다. 여기서교과역량이란교과가기반한학

문의지식 및기능을습득하고활용함으로써 길러질수있는 능력이며, 2015 개정교육과정

의핵심역량과상호보완적인역할을수행하고있습니다. 다음은소프트웨어교육과관련

된 초등 실과 교과 및 중학교 정보교과의 교과 역량입니다.

[그림 Ⅱ-5] 소프트웨어 교육과 관련된 교과 역량-초등 실과(좌), 중등 정보(우)14)

초등실과교과의교과역량에서는 ‘실천적 문제해결능력, 기술적 문제해결능력, 기술시

스템 설계능력, 기술활용능력’ 등이 소프트웨어 교육의 특징과 직․간접적으로 관련이 있

다고볼 수있습니다. 초등실과 교과에서 소프트웨어 교육과관련된 4가지교과역량의의

미는 다음과 같습니다.

[그림 Ⅱ-6] 소프트웨어 교육과 관련된 초등 실과 교과 역량의 의미15)

14) 출처 : 에듀넷 (2017). 2015 개정 교육과정 총론 연수자료 활용 가이드(pdf) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627 15) 출처 : 에듀넷 (2017). 2015 개정 초등 실과과 교육과정 연수자료(PPT) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627

- 16 -

또한 중등 정보교과에서는 소프트웨어 교육을 교과의 중심 내용으로 다루고 있으며,

이와 관련하여 교과 역량으로 ‘정보문화소양, 컴퓨팅사고력, 협력적 문제해결력’을 제

시하고 있습니다. 중등 정보교과의 교과 역량의 의미와 하위 역량은 다음과 같습니다.

[그림 Ⅱ-7] 2015 개정 중등 정보과 교육과정의 교과 역량의 의미와 하위 역량16)

16) 출처 : 에듀넷 (2017). 2015 개정 중학교 정보과 교육과정 연수자료(PPT) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627

- 17 -

1.2 학교급별 소프트웨어 교육의 비교

초등학교에서의 소프트웨어 교육은 실과 교과에 편성되어 있으며, 놀이 중심 활동과 교

육용 프로그래밍 언어(Educational Programming Language, EPL)를 통해 문제해결 방법

을 체험 중심으로 쉽고 재미있게 배울 수 있도록 하였습니다. 중학교 및 고등학교에서의

소프트웨어 교육은 전문적인 교육을 위해 정보 교과를 통해 다뤄지게 되며, 컴퓨터과학의

기본 개념 및 원리를 바탕으로 창의적이고 효율적으로 문제를 해결하는 능력과 협력적 태

도를 기를 수 있도록 구성하였습니다. 중학교에서는 실생활의 문제에 초점을 두었고, 고등

학교에서는 타 학문 분야의 복잡한 문제에 초점을 두도록 함으로써 문제의 복잡성에 따라

위계를 달리 하였습니다.

[그림 Ⅱ-8] 2015 개정 교육과정에서 학교급별 소프트웨어 교육의 비교

구체적으로 2015 개정 교육과정에서 소프트웨어 교육에 대한 학교급별 내용체계를 비

교해 보면, 먼저 초등학교 실과 교과에서는 ‘기술 시스템’ 영역에서 ‘소프트웨어의 이해,

절차적 문제해결, 프로그래밍 요소와 구조’의 3개 내용 요소를 포함하고 있으며, 실과 교

과 내 소프트웨어 교육의 확대를 위해 ‘기술 활용’ 영역에서 ‘개인정보와 지식 재산 보호,

로봇의 기능과 구조’의 2개 내용 요소를 연계하여 지도하도록 하였습니다. 또한 중학교

와 고등학교 정보 교과에서는 초등학교 실과 교과의 소프트웨어 교육 내용을 심화 및

확대하여 ‘정보문화, 자료와 정보, 문제해결과 프로그래밍, 컴퓨팅 시스템’ 4개 영역

의 핵심개념과 내용요소를 제시하고 있으며, 각 영역의 내용요소는 계열성과 연계성을

확보한 나선형 교육과정의 형태로 제시하였습니다. 예를 들면, 초등학교 실과 교과의 ‘기

- 18 -

술시스템’ 영역 ‘내 프로그래밍 요소와 구조’ 내용요소는 중학교 및 고등학교 정보 교과

의 ‘문제 해결과 프로그래밍’ 영역의 핵심개념 및 내용요소와 계열성 및 연계성을 가지

고 심화 및 확대하여 제시하였습니다.

<표 Ⅱ-2> 2015 개정 교육과정(소프트웨어 교육)의 학교급별 내용체계의 계열성 비교구분 영역 핵심개념 내용요소 계열‧연계성

초등학교(실과)

기술 시스템

소통∙ 소프트웨어의 이해 ○∙ 절차적 문제해결 ○∙ 프로그래밍 요소와 구조 ○

기술 활용 혁신∙ 개인 정보와 지식 재산 보호 ○∙ 로봇의 기능과 구조 ○

중학교(정보)

정보문화

정보사회 ∙ 정보사회의 특성과 진로 ○ ○

정보윤리∙ 개인정보와 저작권 보호∙ 사이버 윤리

자료와 정보

자료와 정보의 표현 ∙ 자료의 유형과 디지털 표현 ○

자료와 정보의 분석∙ 자료의 수집∙ 정보의 구조화

문제 해결과

프로그래밍

추상화∙ 문제 이해∙ 핵심요소 추출

알고리즘∙ 알고리즘 이해∙ 알고리즘 표현

프로그래밍

∙ 입력과 출력∙ 변수와 연산∙ 제어 구조∙ 프로그래밍 응용

컴퓨팅시스템

컴퓨팅시스템의 동작 원리

∙ 컴퓨팅 기기의 구성과 동작 원리 ○ ○

피지컬 컴퓨팅 ∙ 센서 기반 프로그램 구현 ○

고등학교(정보)

정보문화

정보사회 ∙ 정보과학과 진로 ○

정보윤리∙ 정보보호와 보안∙ 저작권 활용∙ 사이버 윤리

○ ○

자료와정보

자료와 정보의 표현 ∙ 효율적인 디지털 표현 ○

자료와 정보의 분석 ∙ 자료의 분석∙ 정보의 관리

문제 해결과

프로그래밍

추상화∙ 문제 분석∙ 문제 분해와 모델링

알고리즘∙ 알고리즘 설계∙ 알고리즘 분석

프로그래밍

∙ 프로그램 개발 환경∙ 변수와 자료형∙ 연산자∙ 표준입출력과 파일입출력∙ 중첩 제어 구조∙ 배열∙ 함수∙ 프로그래밍 응용

컴퓨팅시스템

컴퓨팅 시스템의 동작 원리

∙ 운영체제 역할∙ 네트워크 환경 설정

○ ○

피지컬 컴퓨팅 ∙ 피지컬 컴퓨팅 구현 ○

- 19 -

2 초등학교 소프트웨어 교육의 이해

2.1 소프트웨어 교육의 목표/내용/방법/평가

가. 소프트웨어 교육의 목표

2015 개정 교육과정 상 초등학교의 소프트웨어 교육은 실과 교과 내에서 운영되며, 교

육과정 내에서 독립적으로 초등학교의 소프트웨어 교육에 관한 목표를 명시하고 있지는

않습니다. 그러나 2015 개정 교육과정 총론 해설의 초등학교 교육과정 개정 주요 방향

중 ‘소프트웨어 교육 강화’의 내용 및 실과 교육과정에 제시된 소프트웨어 교육 관련 목

표를 바탕으로 초등학교 소프트웨어 교육의 목표를 “놀이 및 교육용 프로그래밍 언어

를 활용한 체험을 통한 소프트웨어 기초 소양 및 태도의 함양” 으로 이해할 수 있습

니다.

<표 Ⅱ-3> 초등학교 소프트웨어 교육 목표의 이해를 위한 관련 사항

구 분 내 용

2015 개정 교육과정 총론

해설(초등학교)의

개정 주요 방향

(생략)...실과 교과의 정보통신활용 교육 내용을 소프트웨어(SW) 교육 내용 중심으로 개편하였다. 기존 초등학교 5,6학년 실과 교과의 ICT 활용 중심의 정보 단원을 소프트웨어(SW) 기초 소양 중심의 대단원으로 구성하여 소프트웨어(SW) 도구를 활용함으로써 놀이처럼 재미있게 17시간 이상 학습하도록 하였으며, ...(생략)

2015 개정 실과과

교육과정의 목표

가정생활에 대한 지식, 능력, 가치 판단력을 함양하여 실천적 문제 해결을 통해 자립적인 삶을 영위하고, 기술에 대한 실천적 학습 경험을 통해 기술적 지식, 기능, 태도를 함양하여 기술적 능력을 높여, 현재와 미래의 행복하고 건강한 가정생활과 창조적인 기술의 세계를 주도적으로 영위할 수 있도록 한다.

(생략)라. 기술에 대한 이해를 기초로 기술적 문제를 창의적으로 해결하고

일상생활에 적용할 수 있는 기술적 문제해결 능력과 기술활용 능력을 기른다.

마. 기술의 발달과 사회의 변화에 적극적으로 대처하고 적응할 수 있는 기술활용 능력과 기술시스템 설계능력을 기른다.

바. 다양한 자원을 활용하여 기술적 문제를 이해하고 해결 방안을 탐색하고 개발할 수 있는 기술시스템 설계능력과 기술적 문제해결 능력을 기른다.

- 20 -

나. 소프트웨어 교육의 내용17)

다음은 2015개정실과교육과정에제시된초등학교소프트웨어교육과관련된내용체계입니다.

영역핵심개념

일반화된 지식내용 요소

기능초등학교(5~6학년)

기술 시스템 소통통신 기술은 정보를 생산, 가공하여 다양한 수단과 장치를 통하여 송수신하여 공유한다.

∙ 소프트웨어의 이해∙ 절차적 문제해결∙ 프로그래밍 요소와 구조

∙ 탐색하기∙ 활용하기∙ 적용하기∙ 설계하기(이하 생략)기술 활용 혁신

문제 해결 과정에서의 발명과 기술 개발에서의 표준은 국가와 사회의 혁신과 발전에 기여한다.

∙ 개인 정보와 지식 재산 보호∙ 로봇의 기능과 구조

<표 Ⅱ-4> 초등학교 소프트웨어 교육의 내용 체계

2015 개정교육과정의내용체계표에서 ‘영역’ 은교과의성격을가장잘나타내주는최상

위의교과내용범주입니다. ‘핵심 개념’은교과의기초개념이나원리로영역에작용하는커

다란 원리(빅 아이디어) 및 학년군별 내용 요소의 여러 개념들을 아우르는 중핵(중심, 관련,

대표등)을이루는개념을가르킵니다. ‘일반화된 지식’은학생들이해당영역에서알아야할

보편적지식으로핵심개념과내용요소간을연결시켜주는가교역할및기능을하는것으로

학년군과학교급을관통하는중심축임과동시에핵심개념들을구체적으로표현한것이라할

수있습니다. ‘내용요소’는학년(군)에서배워야할필수학습내용이며압축적이고핵심적인

내용으로구성할필요가있습니다. ‘기능’은수업후 학생들이할수있거나할수있기를기

대하는 능력으로 교과 고유의 탐구과정 및 사고방식을 반영하는 것이라 할 수 있습니다.

[그림 Ⅱ-9] 2015 개정 교육과정의 내용체계표에서 일반화된 지식, 내용요소, 기능의 이해

17) 내용 및 그림 출처 : 에듀넷 (2017). 2015 개정 초등 실과과 교육과정 연수자료(PPT) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627

- 21 -

[그림 Ⅱ-10] 2015 개정 교육과정에서 성취기준의 이해

2015 개정 교육과정의 ‘성취기준’은 학생들이 교과를 통해 배워야할 내용과 이를 통해 수

업 후 할 수 있거나 할 수 있기를 기대하는 능력을 결합하여 나타낸 수업 활동의 기준으로,

교과 역량을 내용체계의 핵심개념을 기준으로 구체화하여 ‘내용요소 + 기능’의 형태로 기술

되었습니다. 아래 그림은 개정 교육과정에서 소프트웨어 교육 관련 성취기준 중 [6실04-08]

이 내용체계의 내용요소와 기능을 바탕으로 기술된 사례입니다.

[그림 Ⅱ-11] 2015 개정 교육과정에서 내용체계와 성취기준의 관계 예시

2015 개정실과교육과정에제시된초등학교소프트웨어교육관련영역별 성취기준 및 해설

은 다음과 같습니다.

<표 Ⅱ-5> 초등학교 소프트웨어 교육의 영역별 성취 기준 및 해설

【기술 시스템】영역 성취 기준 [6실04-07] 소프트웨어가 적용된 사례를 찾아보고 우리 생활에 미치는 영향을 이해한다. [6실04-08] 절차적 사고에 의한 문제 해결의 순서를 생각하고 적용한다. [6실04-09] 프로그래밍 도구를 사용하여 기초적인 프로그래밍 과정을 체험한다. [6실04-10] 자료를 입력하고 필요한 처리를 수행한 후 결과를 출력하는 단순한 프로그램을 설계한다. [6실04-11] 문제를 해결하는 프로그램을 만드는 과정에서 순차, 선택, 반복 등의 구조를 이해한다.

【기술 시스템】영역 성취 기준 해설 [6실04-07] 컴퓨터에 사용된 소프트웨어 이외에도 휴대폰, 가전제품, 사물인터넷 제품까지 여러 상황에서

사용된 소프트웨어를 탐색해 보고 우리 생활에 미치는 영향을 이해한다.

- 22 -

다. 소프트웨어 교육의 교수․학습 방법 및 유의사항18)

2015 개정 교육과정의 성취기준 체제에서는 성취기준 및 해설 외에 학습요소, 교수․

학습 방법 및 유의사항, 평가 방법 및 유의사항을 제시하고 있습니다. ‘학습요소’는 성취

기준에서 학생들이 배워야할 내용을 핵심어로 제시한 것이며, ‘교수․학습 방법 및 유

의사항’은 해당 영역의 교수․학습을 위해 제안한 방법과 유의사항으로 학생참여 중심

의 수업 및 유의미한 학습 경험 제공 등을 유도하는 내용을 제시한 것입니다. 또한 ‘평

가방법 및 유의사항’은 해당 영역의 교수․학습방법에 따른 다양한 평가, 특히 과정 중

심 평가가 이루어질 수 있도록 관련 내용을 제시하고 있습니다.

2015 개정 실과 교육과정에서는 소프트웨어 교육과 관련된 성취기준에서 교수․학습

방법 및 유의사항을 다음과 같이 제시하고 있습니다.

18) 내용 및 그림 출처 : 에듀넷 (2017). 2015 개정 교육과정 총론 해설(pdf) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627 에듀넷 (2017). 2015 개정 초등 실과과 교육과정 연수자료(PPT) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627

[6실04-08] 절차적 사고란 문제를 효율적으로 해결하기 위해 문제를 작은 단위로 나누고, 각각의 문제를 단계별로 처리하는 사고 과정으로, 일상생활 속의 사례들을 찾아보고 절차적 사고 과정을 문제 해결에 적용한다.

[6실04-09] 블록 기반의 교육용 프로그래밍 도구를 활용하여 기초적인 프로그래밍 과정을 체험하고 자신만의 간단한 프로그램을 만들어 본다.

[6실04-10] 수치 값을 입력하여 덧셈이나 뺄셈의 결과를 출력하거나, 복수의 문자열을 입력 하여 두 문자열을 서로 연결한 결과를 출력하는 프로그램을 만들어 봄으로써, 소프트웨어의 입력, 처리, 출력 과정을 이해한다.

[6실04-11] ‘순차’는 명령문을 위에서 아래로 하나씩 순차적으로 수행하는 과정이며, ‘선택’은 주어진 조건에 따라 명령문을 선택적으로 수행하는 과정이다. ‘반복’은 명령문을 특정 횟수만큼 반복하거나, 주어진 조건이 만족할 때까지 반복하는 과정이다. 일상의 문제를 해결하는 프로그램을 만드는 기초 과정을 통해 위 프로그램의 3가지 구조를 이해한다.

【기술 활용】영역 성취 기준 [6실05-05] 사이버 중독 예방, 개인 정보 보호 및 지식 재산 보호의 의미를 알고 생활 속에서 실천한다. [6실05-06] 생활 속에서 로봇 활용 사례를 통해 작동 원리와 활용 분야를 이해한다. [6실05-07] 여러 가지 센서를 장착한 로봇을 제작한다.

【기술 활용】영역 성취 기준 해설 [6실05-07] 로봇에 사용되는 센서와 인체 구조를 비교하여 이해하고 센서를 장착한 로봇을 제작하여

구동시켜 봄으로써 로봇의 작동 원리를 강조한다.

- 23 -

이를 요약하면, ① 기초적인 ICT활용 소양을 활용하여 자신의 생각이나 의견을 표현

할 수 있도록 하고, ② 놀이 중심의 신체활동, 퍼즐 등과 같은 활동을 활용하여 문제 해

결 방법과 절차를 이해하며, ③ 컴퓨팅 사고력 향상을 위해 프로그래밍 문법학습 보다는

문제 해결에 필요한 프로그래밍을 수행하도록 하고, ④ 소프트웨어를 활용하여 로봇을

작동시켜 소프트웨어와 로봇을 연계하여 지도하도록 하고 있습니다.

한편 2015 개정실과교육과정에서는교수․학습의방향을다음과같이제시하고있습니다.

[그림 Ⅱ-12] 2015 개정 실과 교육과정의 교수․학습의 방향

즉, 교수․학습 활동에 수행(내용체계의 기능)을 포함하여 역량 함양 중심으로 교수학

【기술 시스템】영역 교수‧학습 방법 및 유의 사항• 응용 소프트웨어의 사용법이나 프로그래밍 언어의 문법 학습을 최소화하고, 문제 해결에 필요한

프로그래밍을 통한 컴퓨팅 사고력 신장에 초점을 맞춘다.• 절차적 사고를 적용할 수 있는 일상생활 속의 사례들을 찾아보고, 놀이 중심의 신체 활동, 퍼즐 등의

다양한 활동을 통해 절차적인 문제해결과정을 이해하도록 한다.• 실생활 속에서 일어나는 문제 상황을 중심으로 학생들이 컴퓨팅 사고를 활용할 수 있도록 지도한다.• 컴퓨터를 활용한 활동 이외에도 컴퓨터 없이 문제를 해결할 수 있는 방법과 절차를 이해할 수 있

도록 지도한다.• 언플러그드 활동 시 놀이와 학습이 동시에 이루어질 수 있도록 시간과 내용을 적절히 구성하여

지도한다.• 컴퓨팅적인 사고는 소프트웨어 교육에 국한되는 것이 아니므로 국어, 사회, 수학, 과학 등 다양한

교과에서도 반영하여 지도한다.

【기술 활용】영역 교수‧학습 방법 및 유의 사항• 사이버 중독 예방, 개인 정보와 지식 재산 보호의 중요성과 보호 방법에 대해 지도할 때에는 신문 기사나

뉴스 등 실제 사례를 중심으로 탐색해 보고 토의 등을 통해 실천 방안을 도출할 수 있도록 한다. • 소프트웨어를 활용하여 로봇을 작동시켜 소프트웨어와 로봇을 연계하여 지도하도록 한다.• 포스터 및 UCC를 제작 할 때는 워드프로세서, 프레젠테이션 등의 응용 소프트웨어를 활용함으로써

기본적인 ICT 활용 소양을 함양할 수 있도록 한다.

<표 Ⅱ-6> 초등학교 소프트웨어 교육의 영역별 교수‧학습 방법 및 유의사항

- 24 -

습을 개선하도록 하였고, 교육과정-수업-평가(기록)를 연계하여 운영하도록 하였으며,

다양한 학생 특성에 부합하는 맞춤형 수업을 통해 실생활에 활용․확장되는 교수․학습

방법을 활용하도록 하였습니다. 다음은 이러한 교수․학습의 방향을 바탕으로 한 소프

트웨어 교육 내용의 교육과정-수업-평가를 연계한 사례 및 실생활에 활용․확장되는

교수․학습 방법을 활용한 예시입니다.

[그림 Ⅱ-13] 교육과정-수업-평가 연계 사례(좌) 및 실생활에 활용․확장되는 교수․학습 방법 예시(우)

라. 소프트웨어 교육의 평가 방법 및 유의사항19)

2015 개정 실과 교육과정의 소프트웨어 교육과 관련된 성취기준에서 평가 방법 및

유의사항을 다음과 같이 제시하고 있습니다.

【기술 시스템】영역 평가 방법 및 유의 사항• 다양한 평가 도구를 활용하여 소프트웨어 교육을 통한 컴퓨팅 사고력의 향상 정도를 측정할 수

있도록 한다.

【기술 활용】영역 평가 방법 및 유의 사항• 개인 정보 보호와 지식 재산 보호에 대한 기본적인 기준과 절차에 대해 체크리스트를 구성하여

자신의 이해 여부와 노력 정도를 평가해 보도록 한다. • 생활 속에서 로봇이 활용된 예를 찾아 어떻게 작동하는지를 분석하고, 다양한 로봇의 활용 분야에

대해 조사하여 작성한 연구 보고서를 대상으로 평가한다.

<표 Ⅱ-7> 초등학교 소프트웨어 교육의 영역별 평가 방법 및 유의사항

2015 개정 교육과정 총론에서는 평가의 중점을 ‘인지적 능력과 정의적 능력의 균

19) 내용 및 그림 출처 : 에듀넷 (2017). 2015 개정 교육과정 총론 해설(pdf) http://www.edunet.net/nedu/ncicsvc/listTrngSubForm.do?menu_id=627 교육과정평가원 (2016). 2015 개정교육과정에 따른 초․중학교 실과/기술․가정과 평가기준 개발 연구 http://www.kice.re.kr/resrchBoard/view.do?seq=274&s=kice&m=030101

- 25 -

형적 평가’, ‘학습의 결과뿐만 아니라 과정을 강조하는 평가’, ‘서술형, 논술형 평가

및 수행평가의 비중 확대’ 등의 세 가지로 제시하고 있습니다.

[그림 Ⅱ-14] 2015 개정 교육과정 총론의 평가 중점

이와 관련하여 한국교육과정평가원(2016)에서는 2015 개정 교육과정에 따른 초·중학교

실과/기술·가정 평가기준 개발 연구를 수행하였습니다. 여기서는 개정 교육과정 총론의

평가 중점을 바탕으로 ‘영역별 성취수준’, ‘국가수준 성취기준’, ‘평가준거 성취기준’,

‘평가기준’ 등의 개념을 재정의하고, 이에 따른 평가기준 및 예시 평가도구를 개발하여

참고자료로 활용할 수 있도록 하였습니다. 해당 연구에서 소개된 네 가지 개념의 정의는

다음과 같습니다.

<표 Ⅱ-8> 2015 개정 교육과정에 따른 초등 실과과 평가 모델(한국교육과정평가원, 2016)의 주요 용어 정의

여기서 유의할 점은, ‘평가기준’의 의미가 평가에서의 ‘채점기준’을 의미하는 것이 아니

라 평가를 출제하는 난이도의 수준이라는 것입니다. 즉, 상/중/하의 세 가지 수준으로 구

분하고 각각의 수준에 맞는 평가문항을 개발할 수 있으며 각각의 문항에 대한 채점기준

은 별도로 기술됩니다. 이러한 평가 모델을 바탕으로 초등학교 소프트웨어 교육과 관련

된 영역 중 ‘기술시스템’ 영역의 소프트웨어 교육과 관련된 영역별 성취수준, 국가수준

성취기준, 평가준거 성취기준, 평가기준을 제시한 내용은 다음과 같습니다.

평가 관련 용어 정의

영역별 성취수준각 단원 또는 영역에 해당하는 교수·학습이 끝났을 때 학생이 성취하기를 기대하는 지식, 기능, 태도에 도달한 정도를 기술한 것을 의미한 것

국가수준 성취기준 국가수준 교육과정에 기록되어 있는 성취기준

평가준거 성취기준교수·학습뿐만 아니라 평가 활동에서 판단의 기준이 될 수 있도록 학생들이 학습을 통해 성취해야 할 지식, 기능, 태도의 특성을 진술한 것으로, 교육과정 성취기준을 재구성한 것

평가기준 평가준거 성취기준에 도달한 정도를 상/중/하의 세 가지 수준으로 표현

- 26 -

<표 Ⅱ-9> ‘기술시스템’ 영역의 영역별 성취수준

성취수준 일반적 특성

A

생활속동식물자원의활용목적에따른체험을통해투입-과정-산출- 되먹임이라는생산기술시스템의과정을이해하고생산기술이미치는영향을설명할수있으며, 수송 기술이생활에미치는영향과변화에대한이해를바탕으로다양한재료를활용하여수송수단을창의적으로구상하고제작방법을제안할수있다. 절차적 사고를 소프트웨어 프로그램 개발에 적용하여창의적으로설계하고문제를해결하는과정에서다양한구조를 활용하는방법을제안할수있다.

B

생활속동식물자원의활용목적에따른체험을통해투입-과정-산출- 되먹임이라는생산기술시스템의 과정을 이해할 수 있으며, 다양한 재료를 활용하여 수송 수단을 구상하고 제작하고수송 기술이생활에 미치는영향과 변화에대해 설명할수있다. 소프트웨어가적용된사례를보고절차적사고를적용하여단순한프로그램을설계하고 만드는 과정에서의 적용된 구조를설명할 수 있다.

C식물가꾸기, 동물돌보기활동과다양한재료를활용한수송수단의제작활동및블록기반의소프트웨어 프로그램을 체험과 관련된 기본 수행과정에 대해 말할 수 있다.

<표 Ⅱ-10> '기술시스템‘ 영역의 교육과정 성취기준, 평가준거 성취기준, 평가기준

교육과정 성취기준 평가기준

[6실04-07]소프트웨어가적용된사례를찾아보고우리생활에미치는 영향을 이해한다.

상다양한매체를활용하여소프트웨어가적용된사례를찾

고 생활에 미치는 영향을 분석할 수 있다.

중다양한자료를보고소프트웨어가적용된사례를탐색하고

생활에미치는영향을설명할수있다.

하생활에서소프트웨어가사용되고있는사례를말할수있

다.

[6실04-08]절차적사고에의한문제해결의순서를생각하고 적용한다.

상생활속에서발생되는문제를절차적사고에의해해결할

수 있다.

중절차적사고에의한문제해결의순서를사례에적용할 수

있다.

하 절차적 사고의 의미를 말할 수 있다.

- 27 -

교육과정 성취기준 평가기준

[6실04-09]프로그래밍도구를사용하여기초적인프로그래밍과정을 체험한다.

상프로그래밍도구를사용하여기초적인프로그밍과정을창의

적으로연결하여체험할수있다.

중프로그래밍도구를사용하여제시된기초적인프로그램과

정을 체험하고 설명할 수 있다.

하 프로그래밍 도구의 기초 기능을 말할 수 있다.

[6실04-10]자료를입력하고필요한처리를수행한후결과를출력하는 단순한 프로그램을 설계한다.

상자료를입력하고결과를출력하는단순한프로그램설계과

정을 창의적으로 설계할 수 있다.

중자료를입력하고결과를출력하는단순한프로그램설계과정

을 설계할 수 있다.

하자료를입력하고결과를출력하는프로그램설계과정이있

음을 알 수 있다.

[6실04-11]문제를해결하는프로그램을만드는과정에서순차, 선택, 반복 등의 구조를 이해한다.

상문제를해결하는프로그램만드는과정에서순차, 선택, 반

복의 구조를 창의적으로 제시할 수 있다.

중문제를 해결하는프로그램을 만드는과정에서순차, 선택,

반복 등의 구조를 설명할 수 있다.

하문제를해결하는프로그램을만드는과정에서순차, 선택, 반

복구조가 있음을 말할 수 있다.

- 28 -

이와 같은 평가 모델을 바탕으로 개발된 평가문항 사례는 다음과 같습니다.

<표 Ⅱ-11> 초등학교 소프트웨어 교육관련 평가문항 개발 사례

- 29 -

2.2 소프트웨어 교육 관련 교사 연수

현재 교육부와 미래창조과학부, 시도교육청에서는 소프트웨어 교육과 관련하여 다양

하고 체계적인 연수를 매년 운영하고 있습니다20).

초등학교 소프트웨어 교육 연수는 대상과 목적에 따라 ①소프트웨어 교육 선도교원을

양성하기 위한 연수, ② 소프트웨어 교육 담당교원(초등의 경우 담임교사)의 역량강화를

위한 연수, ③ 소프트웨어 교육 전문(추수) 연수, ④ 기타 교내 및 시도 자체 연수 등의

네 가지로 분류 할 수 있습니다. 각 분류별 세부적인 연수 과정은 다음과 같습니다.

분류 과정명 차시 형태 비고

① 선도교원 양성 연수 30 집합 교육부(KERIS)

초등 원격(기초) 연수 15 원격 교육부(시‧도교육청)

초등 원격(심화) 연수 30 원격 교육부(시‧도교육청)

초등 일반 연수 15 집합 교육부(KERIS), 시‧도교육청

초등 심화 연수 15 집합 미래부(창의재단)

③ 전문(추수) 연수 30 집합 미래부(창의재단)

④ 초등학교 교내 연수 2~3 집합 각 학교

기타 시도 자체 연수 - 원격‧집합 시‧도교육청

<표 Ⅱ-12> 초등학교 소프트웨어 교육 관련 연수

선도교원 양성 연수에서는 시 도교육청 추천 소프트웨어 교육 선도교원 200명을 대상

으로 ‘2015 개정 교육과정 및 소프트웨어 교육의 실제’에 관한 내용으로 교육이 이루어

집니다. 선도교원 양성 연수의 경우, 시 도에서 지역의 일반 교원들을 대상으로 소프트웨

어 교육과 관련된 연수에 강사요원으로 참여하고자 하는 교원에게 추천할 수 있는 연수입

니다.

초등 원격(기초 및 심화) 연수에서는 소프트웨어 담당교원인 담임교사를 대상으로

‘2015 개정 교육과정과 연계한 소프트웨어 교육’에 관한 내용으로 교육이 이루어집니

다. 개정 교육과정과 관련하여 SW교육의 필요성과 방향을 이해하고 SW교육을 위한 다

20) 출처 : 교육부 융합교육지원팀(2017.2) 2017년 소프트웨어(SW) 교육 담당교원 역량강화 연수 기본 계획

- 30 -

양한 교수학습방법과 수업의 실제에 대해 이해를 넓힐 수 있습니다. 이 연수는 잠재적으

로 전체 교원(특히, 5, 6 학년 담임교사)이 참여해야 하는 연수입니다.

초등 일반 연수에서는 초등 원격(기초 및 심화) 연수를 이수한 교사를 대상(‘17년 전

국 15,800명 대상)으로 교육부(KERIS) 또는 각 시 도교육청이 교육부가 제공한 연수 교

재를 활용하여 연수를 진행하고 있습니다. 이 연수는 원격 연수로 학습한 내용을 실제로

실습하고 체험해보고자 하는 교원에게 추천할 수 있는 연수입니다.

초등 심화 연수에서는 소프트웨어 교육 원격 연수 및 일반 연수를 이수한 교사를 대

상으로 보다 심화된 연수 내용을 제공합니다. 이 연수는 소프트웨어 교육에 대한 교수․

학습 설계, 평가 설계 등을 직접 수행하고, 선택형 강의를 수강할 수 있도록 구성되어 있

습니다.

또한 초등 전문 연수에서는 교육부 및 미래부 교원연수 강사경력을 가진 전문교사

100명을 대상으로 교수학습법 적용 SW교육 수업전략, SW융합교과 지도 등을 주제로

실제수업에 활용 가능한 수업자료 개발에 관한 내용으로 연수가 이루어집니다.

이외에도 기타 교내 및 시도교육청 자체 연수를 통해 소프트웨어 교육 연수를 진행하

고 있는데, 특히 모든 초등학교에서는 2017년 말까지 2015 개정 교육과정에서의 소프트

웨어 교육, 소프트웨어 교육의 필요성과 방향 및 기초 소양 등의 내용을 중심으로 교내

연수를 실시하여야 합니다. 이 때, 학교 여건을 고려하여 소속 교사 또는 외부 강사(시․

도 교육청에서 제공하는 강사 인력풀 참고)를 활용하여 실시할 수 있습니다.

- 31 -

Ⅲ . 소프트웨어 교육의 체험

1 소프트웨어 교육의 방법

소프트웨어 교육은 일상 생활에서 다양한 문제를 해결할 수 있으며, 문제를 해결하기

위하여 문제를 이해하고, 분석하고 해결 방법을 찾아 프로그램을 작성하여 원하는 결과

를 얻게 됩니다. 그러나 소프트웨어 교육이 반드시 컴퓨터와 함께 이루어지는 것은 아닙

니다. 소프트웨어 교육은 다음과 같이 언플러그드 활동, 프로그래밍, 로봇 활용 교육과

같이 다양한 방법으로 실시할 수 있습니다.

첫번째 언플러그드활동은컴퓨터과학의 원리를학습하거나컴퓨팅사고력신장을목적

으로 컴퓨터 없이 이뤄지는 소프트웨어 교육입니다. 신체활동, 퍼즐, 보드게임 등 다양한 유

형의 학습이 있습니다. 두 번째로 프로그래밍은 문제 해결 절차를 컴퓨터가 이해할 수 있는

언어로표현하여프로그램을만듦으로써문제를해결하는데중점을두는활동입니다. 이 활

동은컴퓨터가필요하며, 초등학교에서는쉽게이해할수있는블록형프로그래밍언어가주

로 사용됩니다. 마지막으로로봇활용소프트웨어교육은로봇을제어하는프로그래밍이포함

된 활동을의미합니다. 이활동은학습자들의몰입도가높으며, 현실세계에서즉각적인반응

을 볼 수 있어 구체적 조작기에 적합한 활동으로 여겨지고 있습니다.

기술기술

시스템시스템

영역영역

기술기술

활용활용

영역영역

[그림 Ⅲ-1] 소프트웨어 교육의 3가지 방법

- 32 -

2 언플러그드 활동

2.1 언플러그드 활동의 이해

가. 언플러그드 활동의 개념

언플러그드 활동이란 컴퓨터 없이 활동이나 놀이 등을 통해 컴퓨터 과학의 원리를 학

습하거나 컴퓨팅 사고력을 키울 수 있는 활동을 의미합니다. 컴퓨터 과학에서 언플러그

드 활동은 1990년대 중반, 뉴질랜드에서 Tim Bell, Mike Fellows와 Ian Witten에 의해

시작되었습니다. 이 활동은 컴퓨터 과학의 원리를 쉽고 지루하지 않게 전달하는 데 효과

적이라는 점 때문에 많은 관심을 받았고, 우리나라에서도 ‘놀이로 배우는 컴퓨터 과학’

이라는 책으로 번역되어 소개된 바가 있었습니다.

최근에는 컴퓨터 과학의 원리보다 컴퓨팅 사고력의 구성요소를 이해하고, 학습하는

데 중점을 둔 언플러그드 활동들이 활발하게 연구되고 있으며, 신체활동이나 퍼즐, 보드

게임 등 다양한 유형의 활동 사례가 개발되고 있습니다.

나. 언플러그드 활동의 특징 및 장점

1) 언플러그드 활동의 특징

언플러그드 활동은 크게 다음과 같은 특징을 가지고 있습니다.

첫째, 컴퓨터가 필요 없는 활동입니다. 언플러그드 활동의 개념에서도 알 수 있듯이

모든 활동들이 컴퓨터 없이 교재, 학습지, 보드게임 등을 활용한다거나 신체 활동을 중

심으로 이뤄집니다.

둘째, 놀이를 통해 학습합니다. 컴퓨터의 작동 원리나 알고리즘은 초등학생들이 배우

기에는 어려운 내용이지만 학습 내용을 놀이나 조작 활동으로 제시하여 학습자가 받아

들이기 쉽게 준비해 줄 수 있습니다.

셋째, 컴퓨터 과학의 원리를 가르치거나 컴퓨팅 사고력을 향상시키기 위한 활동입니

다. 단순히 재미와 흥미가 목적이 아니라 컴퓨터 과학 개념의 원리나 컴퓨팅 사고력 향

상에 중점을 두고 있습니다.

- 33 -

2) 언플러그드 활동의 장점

언플러그드 활동은 다음과 같은 장점이 있습니다.

첫째, 학생들은 컴퓨터 과학의 원리나 컴퓨팅 사고력 요소를 재미있게 학습할 수 있고,

수업에 높은 몰입과 관심을 보이며 참여합니다.

둘째, 직접 체험하는 놀이 학습이기에 학생들이 쉽게 이해하고 기억에 오랫동안 남는

다는 점, 특별한 프로그래밍 언어와 문법에 종속되지 않는다는 점, 초등학교 저학년에게

도 수업이 가능하다는 점이 장점이라 할 수 있습니다.

셋째, 컴퓨팅 기기 없이 수업이 진행되기 때문에 저비용으로 학습할 수 있습니다.특히

기자개 구축에 어려움이 있는 학교 현장에서는 간단한 도구만으로 수업을 진행할 수 있

는 언플러그드 활동을 선호하고 있습니다.

한편, 단점으로는 자료를 준비하는 데 시간이 걸린다는 점, 학생들의 활동 시간이 오

래 걸려 효율적이지 못할 수 있다는 점이 있습니다.

[그림 Ⅲ-2] 이벤트 카드놀이 놀이 중심 활동 장면

다. 언플러그드 활동 시 주의점

첫째, 활동이 놀이로만 끝나지 않게 해야 합니다. 아이들이 흥미를 느낄 수 있는 놀이

와 조작활동 위주로 수업을 계획해야 하지만 교사가 활동의 의미를 정리하지 않으면 학

생의 입장에서는 즐겁게 놀기만 하고 끝나는 수업이 될 수 있습니다. 수업 전에는 활동

의 목표를 확실히 인지시키고, 수업을 정리할 때 어떤 원리와 연계되는지, 어떤 컴퓨팅

사고력과 연관이 있는지를 정리할 필요가 있습니다.

둘째, 실제 컴퓨팅과 활동을 연결시켜야 한다는 점입니다. 특히 놀이 중심 활동을 통

해 학습한 알고리즘의 원리를 컴퓨팅 환경에서도 적용, 실습해 보도록 하는 것이 좋습니

- 34 -

다. 알고리즘의 원리를 배우거나 알고리즘을 만들 때 컴퓨터 없이 활동을 진행하는 것도

좋지만, 배운 내용이 실제 컴퓨터상에서 어떻게 표현되고 동작하는지 경험할 수 있게 해

야 합니다.

셋째, 일상 생활의 문제 해결로 나아가야 합니다. 소프트웨어 교육의 목표와 마찬가지

로 놀이 중심 활동의 목표 역시 실생활의 문제 해결에 있습니다. 실생활의 문제를 컴퓨

터로 해결할 수 있는 형태로 구조화하는 활동(알고리즘의 형태로 구조화하는 활동)을

통해 실생활의 문제 해결로 이어질 수 있도록 가르쳐야 합니다.

라. 언플러그드 활동의 종류

언플러그드 활동은 활동의 유형과, 다루는 내용에 따라 분류를 할 수 있습니다. 활동

유형별 분류는 아래 <표Ⅲ-1>과 같이 이야기 기반의 놀이 중심 활동, 신체 활동 기반의

놀이 중심 활동, 도구 기반의 놀이 중심 활동, 학습지 기반의 놀이 중심 활동으로 분류할

수 있습니다.

<표 Ⅲ-1> 활동 유형에 따른 놀이 중심 활동 분류

유 형 내 용 활동 자료

이야기 기반컴퓨터 과학의 개념이나 원리를 스토리텔링의

이야기로 쉽게 풀어가는 방식

신체 활동 기반컴퓨터 과학의 개념이나 원리를 신체를 움직이며

이해하는 방식

도구 기반

컴퓨터 과학의 개념이나 원리를 다양한 도구(카드,

스티커, 자석, 바둑돌 등)를 활용하여 게임이나 놀이

활동을 통해 이해하는 방식

학습지 기반

학습지를 풀어가며 컴퓨터 과학의 개념이나 원리를

이해하고, 이 때 학습지는 익힌 개념이나 원리를

이해했는지 확인하거나 적용할 때 활용하는 방식

- 35 -

또한 다루는 내용에 따라 크게 두 가지로 분류할 수 있습니다. 컴퓨터의 작동 원리, 즉

컴퓨터 과학의 원리와 개념을 배우기 위한 놀이 중심 활동과 컴퓨팅 사고력 향상을 목

표로 하는 놀이 중심 활동이 그것입니다.

1) 컴퓨터 과학 중심 활동

컴퓨터 과학 중심 활동에서는 컴퓨터 과학의 개념과 원리를 학습하도록 활동을 구성

합니다. 컴퓨터 과학 개념에는 컴퓨터가 정보를 표현하는 이진법, 픽셀 단위로 그림을

그려나가는이미지표현방식, 반복되는내용은줄여서표현하는텍스트압축등이있습니다.

학습자는 원리를 직접 체험해 보거나 원리를 알 수 있는 활동을 경험함으로써 직ㆍ간접

적으로 컴퓨터 과학의 원리를 이해하게 됩니다.

[그림 Ⅲ-3] 컴퓨터 과학의 원리를 배우기 위한 놀이 중심 활동 : 이진법21)

2) 컴퓨팅 사고력 중심 활동

컴퓨팅 사고력 중심 활동은 컴퓨팅 사고력의 요소를 개별적으로 체험하거나 문제를

해결하는 과정 전체를 경험하도록 함으로써 컴퓨팅 사고력이 향상되도록 활동을 구성합

니다. 대표적인 사례로는 구글에서 제시하는 놀이 중심 활동, [그림 Ⅲ-3]의 문제 해결

방법 찾기 및 알고리즘 만들기 과정, 보드 게임을 통해 알고리즘의 원리를 학습하는 형

태가 있습니다.

[그림 Ⅲ-4] ‘로봇으로 교실을 청소하자’의 놀이 중심 활동22)

21) http://csunplugged.org , Binary Numbers22) 교육부 교재, 소프트웨어와 함께하는 창의력 여행(2016)

- 36 -

2.2 언플러그드 활동의 체험

가. 3목 알고리즘 만들기

1) 3목 알고리즘 만들기 속 컴퓨팅 사고력

3목 알고리즘 만들기 활동은 인공지능을 가진 알파고가 바둑돌을 두어야 하는지 판

단하는 것처럼 3목 게임에서 돌을 어디에 두어야 하는지 그 절차를 담은 알고리즘을 설

계하는 활동입니다. 학습자는 3목 게임을 분석하고, 주요 전략을 세운 뒤 실행순서를 알

고리즘으로 표현합니다. 그리고 2인 1조가 되어 각자가 만든 알고리즘을 실행하면서 게

임을 진행합니다.

3목 게임을 이해하고, 주요 위치와 전략을 분석하는 것은 컴퓨팅 사고력 요소 중에서

‘자료 수집 및 분석’에 해당되며, 전략을 설정하고 전략에 따라 알고리즘을 만드는 것은

‘알고리즘과 절차’라고 할 수 있습니다. 본 활동의 핵심은 게임에서 승리할 수 있는 알고

리즘을 만드는 것이기 때문에 ‘알고리즘과 절차’에 중점을 두었다고 볼 수 있습니다. 이

처럼 학습자는 3목 알고리즘 만들기 활동을 통해 컴퓨터 없이도 컴퓨팅 사고력의 요소

중에서 알고리즘과 절차를 집중적으로 학습할 수 있습니다.

2) 활동 방법

3목 알고리즘 만들기 활동은 ‘3목 알고리즘 만들기’와 ‘3목 게임하기’로 구분됩니다.

<3목 알고리즘 만들기>

① 3X3 칸을 준비하고, 각 칸에 순서대로 숫자를 적습니다.

※ 활동 안내

• 숫자를 쓰는 이유는 알고리즘을 쉽게 만들기 위함입니다.

• 숫자가 적힌 칸을 미리 학습지에 제공하는 것이 좋습니다.

- 37 -

② 공격할 순서대로 왼쪽부터 수를 채워 알고리즘을 만듭니다.

< 3목 게임 하기>

③ 가위바위보 등 다양한 방법을 통해 먼저 할 사람을 정합니다.

④ 작성된 알고리즘을 번갈아 실행하면서 3목 게임을 진행합니다.

※ 활동 안내• 알고리즘을 실행할 때에는 왼쪽부터 순서대로 실행하게 되며, 상대방이 이미 표시한 수일 때에는 다음 수를 실행합니다.

• 알고리즘은 게임이 시작되면 수정할 수 없으므로 공격과 수비를 고려하여 신중하게 작성합니다.

• 최종 알고리즘을 만들기

전에 충분히 모의 게임을

해보면서 우수한 알고리

즘을 생각하도록 안내합

니다.

• 알고리즘을 실행할 때 부

정적인 해위를 방지하는

차원에서 서로의 알고리

즘을 교환하여 진행하는

방법도 있습니다.

• 가위바위보에 이겼을 때

의 알고리즘과 졌을 때의

알고리즘 2개를 준비하여

활동하는 것도 좋습니다.

- 38 -

⑤ 게임이 끝나면 서로의 우수한 점을 이야기 나눕니다.

※ 활동 안내• 알고리즘을 살펴보면서 우수한 점을 이야기하는 과정을 반드시 거쳐야 컴퓨팅 사고력의 향상으로 연결할 수 있습니다.

3) 알고리즘 실행 예시

다음의 두알고리즘이 대결을하게되었을때실행되는 순서를살펴보면다음과 같습니다.

○ 5 1 4 7 3 6 9 2 8

× 5 1 3 7 9 2 4 6 8

1) O가 먼저 실행하여 5에 표시하였습니다.

2) X의 첫 수가 5이지만 이미 표시되어 있으므로 다음 수인 1을 실행합니다.

3) O의 다음 수는 1이지만 X가 표시하였으므로 4에 표시합니다.

4) X의 다음 수 3에 표시가 안 되어 있으므로 표시합니다.

5) 앞과 같이 계속 실행한 결과입니다.

6) O가 한 줄을 먼저 완성했으므로 O의 승리입니다.

- 39 -

체험 활동지 Ÿ 3목 알고리즘을 만들고 대결해보세요.

❏ 3목게임 방법1. 3×3 칸에 O 또는 X를 표시합니다.2. 먼저 가로 또는 세로나 대각선으로 한 줄을 만드는 사람이 이깁니다.

❏ 알고리즘 만드는 방법1. 기호를 표시하는 순서를 숫자로 표현합니다.2. 상대방과 번갈아가며 알고리즘을 실행합니다. 3. 만약 그 자리에 이미 표시가 되어 있다면 다음 수를 실행합니다.

❏ 나의 알고리즘 만들기 (연습지)

1) 2)

3) 4)

❏ 최종 알고리즘

----------------------------------------------------------------------------

❏ 게임 대결판

1 2 3

4 5 6

7 8 9

1 2 3

4 5 6

7 8 9

1 2 3

4 5 6

7 8 9

- 40 -

나. 펜슬 코딩 활동

1) 펜슬 코딩 활동 속 컴퓨팅 사고력

펜슬 코딩 활동은 프로그래머와 로봇의 역할로 구분하여 진행됩니다. 먼저 프로그

래머는 표현할 그림을 로봇 역할자가 표현할 수 있도록 색칠 명령어를 기호로 나타냅니

다. 로봇 역할자는 그 명령어를 그대로 실행하고, 실제 표현할 그림과 일치하는지 확인

합니다. 그림을 표현하기 위해 어떤 순서로 명령할 것인지 생각해보고, 표현하는 것이므

로 ‘알고리즘과 절차’와 관련이 깊습니다.

<표 Ⅲ-2> 펜슬 코딩 활동 명령 기호

기호 명령 내용

⇨ 오른쪽으로 1칸 이동합니다.

⇦ 왼쪽으로 1칸 이동합니다.

⇧ 위쪽으로 1칸 이동합니다.

⇩ 아래쪽으로 1칸 이동합니다.

현재 칸에 색칠합니다.

2) 활동 방법

① 학습지와 필기도구를 준비합니다.

※ 활동 안내• 표현할 그림을 학습지에 제시하고, 서로 보지 못하도록 미리 안내합니다.

- 41 -

② 자신이 받은 그림을 상대방이 그릴 수 있도록 명령어를 작성합니다.

③ 다른 사람과 명령지를 교환하고, 그대로 실행하며 그림을 그립니다.

④ 원래 그림과 자신의 그림을 비교합니다.

※ 활동 안내• 명령을 작성하는 것을 어려워하는 학생에게는 자석이나 지우개 등 구체물을 이용해 움직여보면서 작성하도록 안내합니다.

• 명령을 실행할 때에도 자석이나 지우개 등 구체물을 직접 이동해보면서 작성하면 쉽게 할 수 있습니다.

• 잘못된 곳이 있다면 명령어 중에서 어떤 부분을 수정하면 되는지 확인하도록 합니다.

펜슬 코딩 활동은 학습 초기에 적용하기 쉬우며, 순차적으로 명령이 작성되고 실행된다

는 점을 이해하기에 효과적입니다. 반복명령어를 추가하면 반복구조도 학습할 수 있습니다.

- 42 -

체험 활동지 Ÿ 펜슬 코딩 활동을 해 보세요. (A 형)

❏ 명령어 작성하기 오른쪽의 기호를 이용하여 아래와 같은 그림이 되도록 명령지를 작성해보세요.

<명령지>

--------------------------------- 절취선 -----------------------------------

❏ 명령어 실행하기 상대방의 명령지를 보고 그대로 실행하여 그림을 그려 보세요.

시작

기호 명령 내용

⇨ 오른쪽으로 1칸 이동합니다.

⇦ 왼쪽으로 1칸 이동합니다.

⇧ 위쪽으로 1칸 이동합니다.

⇩ 아래쪽으로 1칸 이동합니다.

현재 칸에 색칠합니다.

- 43 -

체험 활동지 Ÿ 펜슬 코딩 활동을 해 보세요. (B 형)

❏ 명령어 작성하기 오른쪽의 기호를 이용하여 아래와 같은 그림이 되도록 명령지를 작성해보세요.

<명령지>

--------------------------------- 절취선 -----------------------------------

❏ 명령어 실행하기 상대방의 명령지를 보고 그대로 실행하여 그림을 그려 보세요.

시작

기호 명령 내용

⇨ 오른쪽으로 1칸 이동합니다.

⇦ 왼쪽으로 1칸 이동합니다.

⇧ 위쪽으로 1칸 이동합니다.

⇩ 아래쪽으로 1칸 이동합니다.

현재 칸에 색칠합니다.

- 44 -

3 프로그래밍

3.1 프로그래밍의 이해

가. 프로그래밍의 개념

프로그래밍은 일반적으로 컴퓨터의 프로그램을 만드는 일을 뜻합니다.23) 컴퓨터의 프

로그램을 만들기 위해서는 프로그램이 실행되는 절차를 설계한 알고리즘과 그 알고리즘

을 컴퓨터가 알아들을 수 있는 언어로 표현하는 프로그래밍, 그리고 프로그램의 오류를

찾아 수정하는 오류 수정이 필요합니다. 광의의 개념으로서 모든 과정을 프로그래밍으

로 말하기도 하지만 소프트웨어 교육에서는 알고리즘과 프로그래밍을 구분하고 있습니다.

현재 프로그래밍은 컴퓨터뿐만 아니라 핸드폰, TV, 냉장고, 세탁기 등 일반 디지털 기기

에도 적용되고 있으며, 갈수록 그 범위가 확장되고 있습니다

.

[그림 Ⅲ-5] 프로그래밍을 컴퓨터와 대화로 표현한 그림24)

23) 출처 : 네이버 지식백과, 정보통신용어사전24) EBS, 어렵지 않은 이야기, 코딩이란?

- 45 -

나. 교육용 프로그래밍 언어

프로그램을 만들 때 컴퓨터가 알아들을 수 있는 언어로 표현하는 과정에서 사용되는 언

어를 ;프로그래밍 언어;라고 합니다. 프로그래밍에서는 어떤 언어를 사용하느냐에 따라

그 수준과 결과물이 달라지기 때문에 교육의 측면에서도 언어의 선택은 매우 중요한 사

항입니다.

프로그래밍에 사용되는 언어는 매우 다양한데 전문가들이 사용하는 언어들은 모두 텍

스트로 명령을 작성하며, 영어로 작성되기 때문에 초등학교의 보편 교육에 그대로 적용

되기는 어려운 면이 많았습니다. 그러나 최근에는 소프트웨어 교육이 강조되고 교육용 프

로그래밍 언어가 개발되면서 이런 점들이 여러 측면에서 보완되었습니다. 교육용 프로

그래밍 언어는 크게 텍스트형과 블록형으로 나눌 수 있는데 다음과 같은 장단점을 지니

고 있습니다.

<표 Ⅲ-3> 교육용 프로그래밍 언어의 유형과 장ㆍ단점

구 분 형 태 장 점 단 점

텍스트형프로그래밍

언어

­ 보다 전문적인 수준의 프로그래밍이 가능하다.

- 영어를 사용한다.- 이해가 어렵다.

블록형프로그래밍

언어

­ 블록을 조립하듯이 쉽게 프로그래밍이 가능하다.

- 이해가 쉽다.- 가시적이어서 결과를 쉽

게 확인할 수 있다.

- 전문적인 프로그래밍에 한계가 있다.

초등학교에서 소프트웨어 교육을 위한 프로그래밍 언어는 주로 블록형 프로그래밍

언어가 사용되고 있습니다. 대표적인 언어로는 엔트리(http://playentry.org), 스크래치

(http://scratch.mit.edu), 코드닷오알지(http://code.org) 등이 있습니다. 이 언어들은 프로

그래밍에 필요한 명령어들을 블록형태로 제시하며, 학습자들은 자신이 사용할 블록을

끌어다가 조립하여 프로그램을 제작할 수 있습니다. 또한 소프트웨어 교육을 시작하는

학습자들을 위해서 미션형 콘텐츠와 다양한 학습 자료를 무료로 제공함으로써 누구나

쉽게 교육과 학습에 활용이 가능하게 되었습니다.

- 46 -

3.2 프로그래밍의 체험

가. 코드닷오알지(Code.org)

코드닷오알지는 미로나 퍼즐과 같은 문제를 제시하고, 프로그래밍을 통해 그 문제를 해

결할 수 있도록 안내함으로써 몰입도 높은 프로그래밍 학습 콘텐츠를 제공하고 있습니

다. 코드닷오알지의 학습 콘텐츠는 여러 가지 테마로 구성되어 있는데 테마별로 강조하

는 프로그래밍 요소가 다르고, 각각의 특징이 있기 때문에 다양하게 경험하는 것이 프로

그래밍 학습에 효과적입니다. 특히, 코드닷오알지의 컨텐츠는 컴퓨터뿐만 아니라 스마트

폰에서도 접속하여 해결할 수 있어 무선 인터넷 환경의 교실에서 적용이 가능합니다.

1) 접속하기

다음과 같이 code.org에 접속하여 기본 문제를 선택합니다.

① 인터넷 창을 열고 주소에 code.org를 입력합니다 .

② 화면을 아래로 내려서 Hour of Code를 선택합니다.

- 47 -

③ 기초 단계로서 ‘Write your fist computer program'을 선택합니다.

2) 프로그래밍하기

코드닷오알지의 콘텐츠는 프로그래밍을 이용해 문제를 해결하는 내용으로 구성되어

있습니다. 화면의 왼쪽에는 문제 상황이 제시되고, 가운데에는 사용 가능한 블록들이 있

으며, 오른쪽에는 블록들을 조립할 수 있는 공간이 있습니다. 학습자는 문제 상황을 보

고 문제를 해결하기 위해 블록들을 조립한 뒤 실행하게 됩니다. 이 때 사용 가능한 명령

어 블록들을 조립하는 활동이 프로그래밍 활동입니다.

[그림 Ⅲ-6] code.org 프로그래밍 화면25)

나. 엔트리(playentry.org)

25) code.org, ‘Write your fist computer program'

- 48 -

엔트리는 교육용 프로그래밍 언어로 사용되는 대표적인 언어 중 하나로 코드닷오알지

와 같이 미션형 문제를 담은 콘텐츠도 제공하면서 사용자가 원하는 프로그램을 만들 수

있는 환경까지 제공하고 있습니다. 코드닷오알지가 학습 초기에 유용한 콘텐츠라고 한다

면 엔트리는 미션형 콘텐츠를 통해 익힌 내용을 그대로 적용하여 자신만의 프로그램을

만들 수 있기 때문에 학습의 초기부터 심화까지 활용이 가능합니다.

1) 미션형 프로그래밍

다음과 같이 엔트리에 접속하여 미션형태의 프로그래밍 학습을 진행할 수 있습니다.

① 인터넷 창을 열고 주소에 playentry.org를 입력합니다 .

② 학습하기 메뉴에서 ‘엔트리 학습하기’를 선택합니다.

- 49 -

③ 주제별 학습과정에서 ‘미션 해결하기’를 선택합니다.

④ 알맞은 난이도의 미션을 선택합니다. (왼쪽 위부터 쉬운 난이도입니다.)

⑤ 문제가 해결되도록 블록을 조립하고, 실행합니다.

- 50 -

2) 자유형 프로그래밍

다음과 같은 메뉴를 선택하면 엔트리 블록을 이용하여 자유롭게 프로그래밍 할 수 있

습니다. 미션형에서 사용한 것과 비슷한 형태의 블록이 제시되기 때문에 연계학습이 가

능합니다.

① 만들기 메뉴에서 ‘작품 만들기’를 선택합니다.

② 여러 가지 요소들을 추가하고, 다양한 블록을 이용하여 자신만의 프로그램을 만들 수 있습니다.

다. 스크래치(scratch.mit.edu)

스크래치는 엔트리와 마찬가지로 대표적인 교육용 프로그래밍 언어 중 하나입니다. 엔

트리와 형태가 유사하며, 세계적으로 많은 사용자를 보유하고 있습니다. 다만 미션 형태

의 콘텐츠는 제공되지 않고, 자유형 프로그래밍 환경을 주로 제공하고 있습니다.

- 51 -

1) 자유형 프로그래밍

다음과 같이 스크래치에 접속하여 자유형 프로그래밍을 할 수 있습니다.

① 인터넷 창을 열고 주소에 scratch.mit.edu를 입력합니다.

② 만들기 메뉴를 선택합니다.

③ 여러 가지 요소들을 추가하고, 다양한 블록을 이용하여 자신만의 프로그램을 만들 수 있습니다.

체험 활동 Ÿ 프로그래밍을 체험해보세요.

❏ 다음 중 1가지를 골라서 직접 체험해보세요. (스마트폰도 가능합니다.) 1. Code.org에 접속하여 1가지를 골라 해결하기 2. playentry.org에 접속하여 미션형 문제 1가지를 골라 해결하기 3. scratch.mit.edu에 접속하여 튜토리얼 2개 보기

- 52 -

4 로봇 활용 교육

4.1 로봇 활용 소프트웨어 교육의 이해

가. 로봇 활용 소프트웨어 교육의 개념

‘로봇을 활용한 소프트웨어 교육’이란 센서와 모터 등을 장착한 교구나 로봇을 활용하

여 공학의 원리를 학습하거나 현실 세계와 소프트웨어를 연결지어 학습하는 활동을 의미

합니다. 이와 같은 센서와 모터 등을 활용한 컴퓨팅 활동을 피지컬 컴퓨팅(Psysical

Computing)이라고 하는데 피지컬 컴퓨팅은 일반적으로 알고리즘 설계, 로봇을 제어할

프로그램 개발, 프로그램 실행 및 수정의 과정으로 이루어집니다.

[그림 Ⅲ-7] 일반적인 피지컬 컴퓨팅 활동의 흐름

로봇은 조립형과 완성형으로 구분됩니다. 조립형 로봇은 보드를 기반으로 센서나 모

터 등을 보드에 연결하는 형태로 되어 있습니다. 그와 달리 완성형 로봇은 센서와 모터

가 이미 장착되어 형태를 바꿀 수 없는 특징을 가지고 있습니다.

[그림 Ⅲ-8] 조립형 로봇과 완성형 로봇

- 53 -

나. 로봇 활용 소프트웨어 교육의 특징

로봇을 활용한 소프트웨어 교육은 다음과 같은 장점이 있습니다. 첫째, 자신이 개발한

프로그램이 현실 세계에서 동작하기 때문에 높은 몰입도와 흥미를 유도할 수 있습니다.

둘째, 컴퓨팅 사고력을 현실 세계로 확장할 수 있습니다. 예를 들어 어두워지면 켜지는

가로등을 직접 만들어 본다면 현실 세계의 전자 기기에도 소프트웨어가 있다는 사실을

더욱더실감하게되며, 이는컴퓨팅사고력의범위를확장하는효과를가져올수있습니다.

반면, 단점으로는 로봇을 별도로 구입하는 비용이 든다는 점이 있습니다.

다. 로봇 활용 소프트웨어 교육의 프로그래밍 언어

로봇을 활용한 소프트웨어 교육을 위해서는 프로그래밍 언어가 지원되어야 합니다.

엔트리는 하드웨어 연결 프로그램의 통합 설치를 통해 국내에서 통용되는 대부분의 교

구와 로봇을 지원하고 있으며, 스크래치는 교구와 로봇 제작 회사에서 자체적으로 개발,

배포한 연결 프로그램을 설치하여 사용할 수 있습니다.

엔트리 하드웨어 연결 프로그램 스크래치 기반 연결 프로그램

[그림 Ⅲ-9] 교육용 프로그래밍 언어와 로봇의 연결

4.2 로봇 활용 소프트웨어 교육의 체험

교육용 프로그래밍 언어를 활용하면 로봇 프로그램을 개발할 수 있습니다. 로봇을 컴

퓨터와 연결하면 프로그래밍 언어에 로봇 전용의 블록이 새롭게 추가되고, 이를 활용해

서 프로그래밍을 하게 됩니다. 로봇 전용 블록은 기본적으로 제공되었던 블록들과 연결

- 54 -

하여 사용할 수 있어 처음 접하는 학습자라도 프로그래밍 언어에 익숙해져있다면 빠르

게 사용법을 익힐 수 있습니다. 다만 로봇이 가지고 있는 기능에 따라서 사용할 수 있는

블록이 다르기 때문에 개발하고자 하는 프로그램에 알맞은 로봇을 선택해야 합니다.

가. 로봇 활용 프로그래밍 작성 예시

엔트리에서는 로봇에 활용할 수 있는 명령어 블록을 ‘하드웨어’ 명령 블록 모음에서

제공하고 있습니다. 엔트리 블록과 하드웨어 블록으로 다음과 같이 조립할 수 있습니다.

엔트리 명령블록 명령블록 조합 엔트리 하드웨어 명령블록

[그림 Ⅲ-10] 엔트리 명령블록과 엔트리 하드웨어 블록 조립 예시

스크래치에서는 로봇에 활용할 수 있는 명령어 블록을 ‘추가 블록’ 부분에서 제공하고

있습니다. 스크래치 블록과 하드웨어 블록으로 다음과 같이 조립할 수 있습니다.

스크래치 명령블록 명령블록 조합 스크래치 추가 명령블록

[그림 Ⅲ-11] 스크래치 명령블록과 스크래치 하드웨어 블록 조립 예시

나. 완성형 로봇 활용 예시

완성형 로봇의 경우 모터의 속도를 이용해 움직임을 제어할 수 있습니다. 왼쪽 바퀴를

-50으로 하고, 오른쪽 바퀴를 50으로 한다면 왼쪽 바퀴는 뒤로 회전하고, 오른쪽 바퀴는

앞으로 회전하게 됩니다. 이는 결과적으로 로봇이 제자리에서 왼쪽으로 회전하는 결과

를 얻을 수 있습니다. 만약 왼쪽 바퀴는 정지시키고, 오른쪽 바퀴는 50의 속도로 움직이

- 55 -

게 했다면 로봇은 왼쪽 바퀴를 중심으로 원을 그리며 회전합니다. 그리고 왼쪽과 오른쪽

의 속도를 각각 50과 100으로 설정했다면 큰 원을 그리면서 회전하게 됩니다.

예시 프로그램 움직임

[그림 Ⅲ-12] 완성형 로봇 프로그래밍 예시

- 56 -

다. 조립형 로봇 활동 예시

조립형 로봇은 자신이 만들고자 하는 프로그램에 필요한 장치들만 보드에 연결하여

활용할 수 있다는 장점이 있습니다. 특히, 형태를 변화시킬 수 있어서 다양한 아이디어

표현에 적합합니다. 다음의 예시는 버튼이 눌렸을 때 소리를 내고 LED를 켜는 프로그램

입니다.

완성된 블록 블록 설명

시작하기 버튼을 클릭하면 아래에 연결된 블록들을 실행합니다.

블록 안에 조립된 명령을 계속 반복해서 실행합니다.

버튼을 눌렀을 때 실행합니다.

버튼을 1번만 눌러도 명령이 계속 실행되도록 합니다.

버저의 소리가 ‘시’로 납니다.

LED가 빨간색으로 켜집니다.

1초 후에 다음 명령이 실행됩니다.

버저의 소리가 ‘솔’로 납니다.

LED가 파란색으로 켜집니다.

[그림 Ⅲ-13] 조립형 로봇 프로그래밍 예시

체험 활동 Ÿ 로봇 활용 소프트웨어 교육을 체험해 보세요.

❏ 다음 중 1가지를 골라서 직접 체험해보세요. 1. 완성형/조립형 로봇 활용 소프트웨어 교육 영상 시청하기 2. 로봇을 활용하여 위의 예시대로 직접 조립해보기 3. 나만의 로봇 설계하기

- 57 -

Ⅳ . 소프트웨어 교육의 실제

※ 본 차시의 내용은 ‘(초등) 소프트웨어(SW)교육 역량 강화 심화 과정’ 원격 연수에서도 확인 가능

1 언플러그드 활동

1.1 3목 알고리즘 만들기 수업

가. 수업의 개요

‘3목알고리즘만들기’ 수업은 ‘3목’ 게임을활용하여절차적사고를신장시키는활동입

니다. 3목게임은가로, 세로 각 3칸으로구성된게임판에서먼저한줄을만드는사람이

승리하는게임입니다. 학습자들은게임에서중요한위치를생각해보고, 어떻게공격할것

인지 전략을 생각한 후에 알파고와 같이 게임을 진행하는 알고리즘을 만들고 실행해야

합니다. 이러한과정속에서학습자들은알고리즘 설계경험을늘리고, 절차적사고를향

상시킬 수 있습니다.

학습 활동 개요

‣ 학습 주제 : 3목 게임을 하는 순차구조의 알고리즘 만들기

‣ 학습 목표 : 3목 게임을 분석하여 승률이 높은 순차구조의 알고리즘을만들수 있다.

‣ 학습 자료 : 교사용 컴퓨터, 수업용 PPT, 활동지

‣ 대상 학년 및 교과 : 5~6학년, 실과

‣ 중점 CT 요소 : ■분해 □패턴인식 □추상화 ■알고리즘 □자동화

학습 활동 단계

도입 전개 정리‣ 동기유발: 경험나누기

‣ 활동1: 활동 방법안내 하기

‣ 활동2: 게임 분석 및알고리즘 작성

‣ 활동3: 3목 게임실시하기

‣ 일반화: 4X4, 5X5 확장하기

- 58 -

나. 동기유발 및 문제 이해

3목 게임이나 이와 유사한 형태의 놀이인 오목을 해 본 경험이 있는지 물어보고, 해 본

경험을 떠올려 규칙을 생각해 볼 수 있도록 합니다.

동기 유발

‣그림 자료를 보며 이야기를 나누어 봅시다.

- 알파고는 인공지능을 가진 바둑을 두는 프로그램입니다.

- 바둑보다 단순한 3목 게임의 알고리즘을 작성해 봅시다.

- 3목게임은동그라미또는가위를표시하여먼저한줄을만드

는 사람이 이기는 게임입니다.

학습 문제 확인

3목 게임을 분석하여 승률이 높은 순차구조의 알고리즘을 만들어 봅시다.

- 59 -

다. 활동 방법 안내하기

활동 1 : 3목 게임 방법 알아보기

‣ 게임 방법을 알아봅시다.

< 게임 방법 >

1. 3X3 칸을 준비합니다.

2. 칸에 1부터 9까지 숫자를 표시합니다.

3. 가위바위보로 순서를 정합니다.

4. 이긴 사람은 O, 진 사람은 X를 표시할 수 있습니다.

5. 이긴 사람부터 번갈아 가면서 숫자 하나를 골라 표시합니다.

6. 가로나 세로 또는 대각선으로 한 줄을 먼저 만드는 사람이 이깁니다.

라. 해결방법 찾기

활동1에서 문제를 명확하게 인식했다면 활동2에서는 문제를 어떻게 해결할 것인지 해

결방법을탐색합니다. 3목게임에서먼저 선점해야할중요한위치가어디인지, 공격또는

수비전략은무엇이있는지, 자신은어떤 순서대로표시를할것인지충분히생각해보는

시간을 가지게 됩니다. 그리고 알고리즘을 작성하는 방법을 간단히 탐색한 후에 자신의

알고리즘을 작성하는 활동을 하게 됩니다.

- 60 -

활동 2 : 게임 분석 및 알고리즘 작성

‣ 게임을 분석해 봅시다.

- 게임 판에서 중요한 위치 분석

· 모든 방향의 공격 또는 수비가 가능한 5.

· 세 가지 방향의 공격 또는 수비가 가능한

모서리 숫자들 (1, 3, 7, 9)

- 공격 또는 수비 전략 탐색

· 가로 또는 세로 방향을 정해두고 지속적으로 공

격하는 전략

· 상대방의 공격 방향을 예측하여 미리 수비하는 전략

· 공격과 수비를 조화롭게 사용하는 전략

‣ 알고리즘 작성 방법을 알아봅시다.

< 작성 방법 >

1. 9칸으로 된 알고리즘 작성지를 준비합니다.

2. 게임 판을 보면서 어떤 순서대로 표시할 것인지 정합니다.

3. 알고리즘 작성지의 왼쪽부터 표시할 순서대로 수를 적습니다.

- 61 -

마. 해결방법 나누기

임의로상대방을정하고, 각자가작성한알고리즘을실행하여게임의승리를판단합니다.

게임후에는상대방의알고리즘에서우수한점이무엇인지서로이야기하고, 새로운상대방

을 만나 다시 게임을 시작합니다.

활동 3 : 3목 게임하기

‣ 알고리즘을 활용한 3목 게임 방법을 알아봅시다.

< 활동 방법 >

1. 가위바위보로 게임 순서를 정합니다.

2. 이긴 사람은 O, 진 사람은 X를 표시할 수 있습니다.

3. 이긴 사람부터 작성한 알고리즘의 첫 번째 숫자에 맞는 칸에 O를 표시합니다.

4. 서로 번갈아 가면서 알고리즘의 숫자에 맞게 표시합니다.

5. 만약 그 자리에 상대방이 먼저 표시를 했다면 다음 숫자를 실행합니다.

6. 승자가 나올 때까지 번갈아 가며 진행합니다.

‣ 상대를 정해서 게임을 진행하고, 게임이 끝난 후 서로의 우수한 점을 이야기 합니다.

바. 정리 : 일반화하기

수업 마무리 단계에서는 자신이 찾은 문제 해결 방법과 전략을 일반화하여 적용할 수

있는지 생각해보며 열린 마무리를 합니다.

핵심 개념 정리

‣ 우수한 알고리즘의 특징을 정리하기

‣ 나의 전략을 4×4 또는 5×5 게임에 적용하여 알고리즘 작성하기

- 62 -

사. 수업 속 컴퓨팅 사고력 요소

‘3목 알고리즘 만들기’ 수업의 흐름과 그 속에 중점적으로 활용되는 컴퓨팅 사고력은

[그림Ⅳ-1]과같습니다. 먼저 3목게임을살펴보고, 3목게임을분석하는과정에서는문제

해결에필요한 ‘자료수집’과 ‘자료분석’ 요소를집중적으로활용하며, 알고리즘을만들고

다른사람과 3목게임을하는과정에서는 ‘알고리즘과절차’ 요소를집중적으로활용하게

됩니다.

[그림 Ⅳ-1] ‘3목 알고리즘 만들기’ 수업 흐름과 컴퓨팅 사고력

| 수업 분석 의견 | 해당 수업에서 놀이 중심 활동 수업의 특징 및 장점이 잘 드러난 부분은 무엇입니까?

놀이를 소재로 하여 컴퓨팅 사고력을 흥미롭게 활용할 수 있는 수업이었다.

위에서살펴본 놀이중심수업활동에서바꾸고싶은점이나비슷한놀이중심수업아이디어

를 떠올려 봅시다.

선택구조를 넣어서 보다 정교한 알고리즘을 만들기.

- 63 -

2 프로그래밍

2.1 공 피하기 게임 수정하기

가. 수업의 개요

공 피하기 게임 수정하기 활동은 이미 완성된 프로그램을 수정하고, 기능을 추가하는

활동으로구성되어있습니다. 학습자들은처음부터프로그램을만드는활동이아니기때

문에 부담을 적게 느끼며, 핵심 요소만 집중적으로 학습할 수 있습니다. 또한 수정하는

과정에서 순차, 반복, 선택 구조를 더 깊이 이해할 수 있습니다.

학습 활동 개요

‣ 학습 주제 : 공 피하기 게임 수정하기

‣ 학습 목표 : 순차, 반복, 선택 구조를 활용하여 공피하기 게임을 수정할 수 있다.

‣ 학습 자료 : 교사용 컴퓨터, 교사용 PPT, 학생용 컴퓨터, 활동지

‣ 대상 학년 및 교과 : 5~6학년, 실과

‣ 중점 CT 요소 : ■분해 ■패턴인식 ■추상화 □알고리즘 ■자동화

‣ 관련 URL : http://scratch.mit.edu/projects/138503475 (공 피하기 게임)

학습 활동 단계

도입 전개 정리‣ 동기유발: 게임 제시하기

‣ 활동1: 코딩 없이수정하기

‣ 활동2: 코딩 일부수정하기

‣ 활동3: 코딩 추가하기

‣ 정리: 학습 내용 정리하기

나. 동기유발

동기 유발

‣ 제시된 프로그램을 실행하고 관찰하여봅시다.

- 블록 내용보다는 프로그램 실행에 집중하여

관찰합니다.

- 충분히 관찰하여 자세한 특성을 파악합니다.

- 64 -

학습 문제 확인

순차, 반복, 선택 구조를 활용하여 공피하기 게임을 수정해봅시다.

다. 코딩 없이 수정하기

먼저블록 조립이필요하지않은부분을수정합니다. 캐릭터의모양을바꾸거나추가할

수 있고, 다른 스프라이트를 추가하는 등 다양한 수정 활동이 있습니다. 만약 학습자가

한가지 형태로만수정하거나수정방법을떠올리지못했을때교사는코딩없이수정할

수 있는 부분을 알려줌으로써 도움을 주는 것이 좋습니다.

활동 1 : 코딩 없이 수정하기

‣ 코딩과 관련 없는 부분을 수정하여 봅시다.

< 코딩 없이 수정할 수 있는 부분 >

- 캐릭터의 모양을 바꾸기

- 다른 스프라이트 추가하기

- 배경을 바꾸기

- 스프라이트의 크기, 위치 조정하기

- 65 -

라. 코딩 일부 수정하기

블록 조립이필요한코딩부분을수정하는활동입니다. 코딩과관련된부분은초기값이

나반복횟수, 캐릭터의움직임, 공의움직임등이있습니다. 코딩부분을수정하기위해서

는순차, 반복, 선택구조의이해가선행되어야하기때문에수정하는과정에서어려움을

느끼는 학습자가 있다면 적절한 피드백을 해주어야 합니다.

활동 2 : 코딩 일부 수정하기

‣ 코딩과 관련 있는 부분을 수정하여 봅시다.

< 코딩을 통해 수정할 수 있는 부분 >

- 캐릭터의 초기 값 수정하기

- 캐릭터의 움직임, 반복 횟수 수정하기

- 방향이나 속도를 수정하기

마. 코딩 추가하기

기존의프로그램에없던기능을추가하는활동입니다. 교사가몇가지사례를제시해서

함께 추가해보거나학습자가원하는기능을추가하도록하고, 조언해주는형태로활동을

진행할 수 있습니다.

- 66 -

활동 3 : 코딩 추가하기

‣ 코딩을 추가해봅시다.

문제1. 새로운 공 스프라이트 추가하기

- 15초 후에 화면 중앙에 등장해서 좌우로만 이동하도록 만든다.

- 주인공이 공에 닿으면 모두 멈추고 게임 오버가 나오도록 만든다.

문제2. 고양이를 마우스로 움직이도록 만들기

- 고양이 캐릭터가 마우스 포인터를 따라다니도록 만든다.

‣ 선생님이 준비한 예시와 비교해 봅시다.

바. 정리 및 마무리

수정이 이뤄졌던 과정들을 되돌아보고, 무엇을 수정했는지 이야기 나누어 봅시다.

핵심 개념 정리

‣ 수정 활동 종류 정리하기

‣ 우수한 수정 프로그램 공유하고 나누기

- 67 -

사. 수업 속 컴퓨팅 사고력 요소

‘공피하기게임수정하기’ 수업의흐름과그속에중점적으로활용되는컴퓨팅사고력

은 [그림Ⅳ-2]와같습니다. 코딩없이수정하고, 코딩의일부를수정하고마지막으로코딩

을새롭게추가하는모든활동에서알고리즘과절차요소를사용하게되고, 이는프로그래

밍 활동으로서 ‘자동화’로 이어지기 때문에 두 요소를 핵심적으로 활용하게 됩니다.

[그림 Ⅳ-2] ‘공 피하기 게임 수정하기’ 수업 흐름과 컴퓨팅 사고력

| 수업 분석 의견 | 해당 수업에서 프로그래밍 수업의 특징 및 장점이 잘 드러난 부분은 무엇입니까?

프로그래밍을 수정하고 즉각적인 변화를 관찰할 수 있어 학습이 효율적이었다.

위에서 살펴본 활동에서 바꾸고 싶은 점이나 유사한 수업 아이디어를 떠올려 봅시다.

코딩 추가하기에서 선생님이 제시하지 않고, 아이들이 원하는 코딩을 추가하기.

- 68 -

3 로봇 활용 교육

3.1 어두워지면 켜지는 가로등 만들기

가. 수업의 개요

어두워지면켜지는가로등만들기수업은컴퓨터안에서만확인하던순차, 반복, 선택구

조를실제외부물체의움직임을통하여확인해보는활동으로구성되어있습니다. 학습자

는먼저가로등의작동원리를탐구하고, 가로등의알고리즘을설계한뒤프로그래밍언어

와로봇을활용하여실제로구현하게되며, 이 과정에서추상화및알고리즘과절차요소

를 집중적으로 활용합니다.

학습 활동 개요

‣ 학습 주제 : 어두워지면 켜지는 가로등 만들기

‣ 학습 목표 : 가로등의 불빛이 켜지는 과정을 선택 구조로 설명할 수 있다.

선택구조로표현한가로등이켜지는과정을프로그램으로작성할수있다.

프로그래밍 활동에 다른 친구들과 함께 적극 참여할 수 있다.

‣ 학습 자료 : 교사용 컴퓨터, 모둠별 노트북 1대, 교사용 PPT, 가로등 제작 재료

‣ 대상 학년 및 교과 : 5~6학년, 실과

‣ 중점 CT 요소 : ■분해 □패턴인식 ■추상화 ■알고리즘 ■자동화

학습 활동 단계

도입 전개 정리‣ 동기유발: 관련 사례제시하기

‣ 활동1: 가로등의 작동원리 탐구

‣ 활동2: 가로등 설계

‣ 활동3: 가로등 개발

‣ 정리: 학습 내용 정리하기

나. 동기유발

동기 유발

‣ 가로등의 모습을 관찰하여 봅시다.

- 가로등의 움직임을 관찰합니다. - 가로등의 작동하는 원리를 이야기 해 봅시다.

- 69 -

학습 문제 확인

어두워지면 불이 켜지는 가로등을 만들어 봅시다.

다. 설계하기

가로등의 원리를 탐구한 내용을 바탕으로 알고리즘을 설계하고, 가로등을 구상합니다.

활동 2 : 센서가 연결된 가로등 설계하기

‣ 가로등의 알고리즘을 다양한 방법으로 표현해봅시다.

< 알고리즘 표현하기 >

- 글과 그림으로 표현하기 : 가로등을 그리고, 가로등의 알고리즘을 글로 설명

- 순서도를 이용해 표현하기 : 가로등의 알고리즘을 순서도로 표현하기

< 센서가 연결된 가로등 만들기 >

- 만들기에 필요한 재료 생각하기 : 밝기 센서, 메인보드, LED, 우드록

- 재료를 이용해 가로등 만들기

1) 우드록을 이용하여 가로등의 몸체를 만들기

2) 알맞은 위치에 센서와 LED를 부착하기

3) 보드에 센서, LED를 조립하고, 컴퓨터와 연결하기

- 70 -

라. 개발하기

프로그래밍언어를활용하여밝기센서값에따라 켜지거나꺼지는가로등프로그램을

개발합니다. 개발된프로그램은실행및수정과정을거치도록하여최종프로그램을완성

합니다.

활동 3 : 센서가 연결된 가로등 개발하기

‣ 밝기 센서 값에 따라 켜지거나 꺼지는 가로등 프로그램을 만들어 봅시다.

< 센서가 연결된 가로등의 알고리즘 >

1 시작

2 계속 반복하기

3 밝기 센서 값이 100보다 큰가?4 LED 끄기5 밝기 센서 값이 100보다 작은가?6 LED 켜기

< 센서가 연결된 가로등 프로그래밍 >

- 71 -

마. 정리 및 마무리

수정이 이루어던 과정들을 되돌아보고, 무엇을 수정했는지 이야기 나누며 정리합니다.

핵심 개념 정리

‣ 수정 활동 종류 정리하기

‣ 우수한 수정 프로그램 공유하고 나누기

사. 수업 속 컴퓨팅 사고력 요소

‘어두워지면켜지는가로등만들기’ 수업의흐름과그속에중점적으로활용되는컴퓨팅

사고력은 [그림 Ⅳ-3]과 같습니다. 센서와 가로등의 작동원리를 탐구하는 과정에서는 자

료의수집 및분석이중점적으로활용되고, 설계에서는알고리즘과절차, 개발에서는자동

화 요소가 중점적으로 활용됩니다. 본 수업은 자료 수집 및 분석부터 자동화까지 다양한

영역의 컴퓨팅 사고력을 활용할 수 있다는 점이 장점입니다.

[그림 Ⅳ-3] ‘어두워지면 켜지는 가로등 만들기’ 수업 흐름과 컴퓨팅 사고력

| 수업 분석 의견 | 해당 수업에서 로봇 활용 수업의 특징 및 장점이 잘 드러난 부분은 무엇입니까?

현실 세계에서 직접 만들어 봄으로써 더 효과적으로 이해할 수 있었다.

위에서 살펴본 활동에서 바꾸고 싶은 점이나 유사한 수업 아이디어를 떠올려 봅시다.

거리센서를 활용해서 사람이 가까이 왔을 때 불이 켜지는 가로등 만들기 활동.

- 72 -

Ⅴ . 소프트웨어 교육 참고 사이트 및 자료

참고 사이트 및 자료 언플러그드

프로그래밍

로봇활용 기타

▣ SW 중심 사회 포털 http://www.software.kr소프트웨어(SW)교육 워크북과 교사용 지도서 등의 각종교재(https://goo.gl/H4SqAU) 뿐만 아니라 온라인코딩파티등 SW교육에 직접적인 도움이 되는 자료 탑재

○ ○ ○ ○

▣ 에듀넷 ‘SW교육 및 로봇’ http://www.edunet.net소프트웨어교육 연구 선도학교 계획서, 운영 결과 보고서,수업 영상 등의 산출물, 각종 교재와 연수 자료 등의 수업 자료 제공

○ ○ ○ ○

▣ EBS 소프트웨어 http://home.ebs.co.kr/software소프트웨어 교육 관련 다큐멘터리, 영상 콘텐츠, 방송프로그램 등 다양한 콘텐츠 제공

○ ○ ○ ○

▣ 주니어 소프트웨어 http://junior.slic.kr초,중,고등학교 학생 대상의 무료 온라인 SW교육사이트

○ ○ ○ ○

▣ 소프트웨어야 놀자 http://www.playsw.or.kr네이버에서 진행하고 있는 SW교육 캠페인 ‘소프트웨어야놀자’ 사이트로서 다양한 교육 자료 제공

○ ○ ○ ○

▣ 초등컴퓨팅교사협회 http://hicompuring.org국내 SW교육을 연구하는 현직 초등학교 선생님들이 함께운영하는 사이트

○ ○ ○ ○

▣ CODE.ORG http://code.org단계별 미션 해결을 통해 자기주도적으로 학습할 수 있는소프트웨어 교육 플랫폼

○ ○ ○

▣ 엔트리 http://playentry.org블록형 코딩(프로그래밍) 소프트웨어 교육 플랫폼으로,다양한 교육 자료(https://goo.gl/kWvwY2) 제공

○ ○ ○

▣ 스크래치 http://scratch.mit.edu블록형 코딩(프로그래밍) 소프트웨어 교육 플랫폼

○ ○

▣ 플레이봇 http://playbot.spaceii.com국내 고등학교 현직 교사가 직접 개발한 텍스트형 코딩(프로그래밍) 소프트웨어 교육 플랫폼