• 검색 결과가 없습니다.

Elementary and Secondary Programming Education Plan Using App Inventor

N/A
N/A
Protected

Academic year: 2021

Share "Elementary and Secondary Programming Education Plan Using App Inventor"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

앱 인벤터를 활용한

초·중등 프로그래밍 교육 방안

안상진․ 이영준††

 

앱 인벤터는 프로그래밍의 결과물이 실제 기기에서 동작한다는 장점 때문에 프로그래밍 교육 도구로 사용되고 있다. 하지만 아직까지 초·중등 교육에서 앱 인벤터의 프로그래밍 교육 활용에 대한 장점과 단 점에 대한 연구가 부족하고, 효과적인 교육 방안에 대한 논의가 활발히 이루어지고 있지 않다. 본 연구는 효과적인 초·중등 앱 인벤터 교육 방안을 마련하기 위하여 앱 인벤터를 학습한 교사와 학생의 반응을 분 석하여 앱 인벤터 교육 방안 설계시에 고려해야 할 내용을 도출하였다. 연구 결과 프로그래밍 교육 도구 로서 앱 인벤터는 실제적인 경험을 주고, 학습자가 쉽게 접근할 수 있는 장점이 있었다. 학습자가 앱 인 벤터 학습을 위한 사전 지식이 필요하다는 점과 기기를 사용하는 방법을 적절히 계획해야 한다는 점이 단점으로 꼽혔다. 이러한 앱 인벤터의 장점과 단점을 고려하여 초·중등 학습자에게 앱 인벤터를 활용한 프로그래밍 교육 방안을 제시하였다.

주제어 : 앱 인벤터, 교육용 프로그래밍 언어, 프로그래밍 교육

Elementary and Secondary Programming Education Plan Using App Inventor

Sangjin An․ Youngjun Lee††

ABSTRACT

Authentic programming environment makes App Inventor interesting educational programming language. However, there are not sufficient studies for usefulness of App Inventor as educational programming language, so proper design of App Inventor education is not available. This article aims to design proper programming education plan using App Inventor. A survey was conducted to ask for appropriation of App Inventor education to teachers and students. As a result, teachers and students were satisfied with App Inventor for programming language in elementary and secondary schools, due to easy-to-use programming environment and real product run in their devices. But learners need to have prior knowledge to use App Inventor and teachers have to manage learners’ devices properly. Finally, revised elementary and secondary programming education plan using App Inventor was presented.

Keywords : App Inventor, Educational Programming Language, Programming Education

†정 회 원: 한국교원대학교 컴퓨터교육과 박사과정 ††종신회원: 한국교원대학교 컴퓨터교육과 교수(교신저자)

논문접수: 2014년 8월 27일, 심사완료: 2014년 9월 18일, 게재확정: 2014년 9월 26일

* 이 논문은 2013년도 정부(미래창조과학부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No. 2013R1A2A2A03068459)

(2)

1. 서론

학습을 특정한 분야의 지식 습득과 습득한 지 식을 실천하는 두 영역으로 나누어 생각해본다면, 컴퓨터 과학 학습에서 지식 습득은 컴퓨터 과학 이론 및 개념을 배우는 것이라 할 수 있고, 실천 영역은 프로그래밍을 통한 다양한 문제 해결이라 할 수 있다. 각종 응용 프로그램의 실행과 활용 또한 컴퓨터를 배우는 목적이고 현대 사회에서 필요한 기능이지만, 프로그래밍은 컴퓨터의 단순 한 활용보다 더욱 고차원적인 과정이다. 프로그래 밍을 통한 문제 해결 과정은 컴퓨터 과학의 다양 한 지식을 바탕으로 문제 해결을 위한 논리적 사 고를 거쳐 제작한 알고리즘을 실제 컴퓨팅 기기 로 구현하는 과정이기 때문에, 실제적이고 창의적 인 능력을 함양해야하는 현대 사회의 학습자에게 중요하다고 할 수 있다. 프로그래밍 능력이 현재 와 미래의 중요한 능력으로 생각되면서 현재 프 로그래밍 능력을 기르기 위한 다양한 노력이 여 러 방식으로 시도되고 있고, 학습자에게 적합한 프로그래밍 교육 도구를 선정하는 노력들도 진행 되고 있다.

프로그래밍 학습을 위한 도구가 가져야 하는 특징 중 중요한 것은 학습자에게 실제적인 경험 을 주는 것이다. 학습자가 실제적인 경험을 통해 지식을 습득하게 되면 교실 밖에서도 학습을 지 속할 것이며, 학습의 동기가 높아지고, 지식의 구 조를 더욱 잘 파악할 수 있게 된다[1]. 학습자가 프로그래밍을 자신과 관계된 실제적인 영역으로 인식하기 위해서는 실생활에서 프로그래밍이 어 떻게 활용되고 있는지를 경험하는 것이 중요하다.

자신이 생각한 알고리즘이 실생활에서 구현되는 것을 경험하게 되면 학습자는 프로그래밍의 가치 를 인식하고 지속적인 프로그래밍 학습의 동기를 얻을 수 있게 된다.

하지만 현재 프로그래밍 교육에서 활용되는 도 구들은 사용 및 학습의 편의성과 실제적 경험에 각각 치우쳐져 있다. 컴퓨터상에서 구동되는 교육 용 프로그래밍 언어는 쉬운 사용방법과 개발 환 경을 갖추고 있어 널리 사용되고 있지만, 그러한 환경을 구축하기 위해 실제적인 프로그래밍 경험 에 대한 내용이 적게 포함되어 있다. 실제적인 프

로그래밍 경험을 주기 위한 방법으로는 물리적인 도구를 활용하는 방식이 있고, 대표적으로 로봇과 마이크로컴퓨터가 활용되고 있다. 로봇은 물리적 인 장치의 조립과 소프트웨어적인 동작이 함께 이루어지며 프로그래밍의 결과를 눈으로 확인할 수 있다는 장점이 있으며, 아두이노(Arduino)로 대표되는 마이크로컴퓨터도 각 단자에 연결된 장 치를 프로그래밍을 통해 제어하는 과정에서 실제 적인 경험을 하게 된다. 하지만 이러한 물리적 도 구는 프로그래밍이 실생활에 사용되는 예를 잘 보여주고 있지만, 프로그래밍 과정보다 물리적인 도구 자체를 학습하는 데 많은 시간이 걸려 실제 수업 현장에서 활용하기에는 어려운 측면이 있다 [2][3][4].

앱 인벤터(App Inventor)는 쉬운 접근성이라는 교육용 프로그래밍 언어의 장점을 흡수한 언어 중 하나이다. 또한 프로그래밍이 실제 상황에서 구현되는 것을 확인할 수 있는 실제적인 경험도 제공한다. 다른 교육용 프로그래밍 언어는 대부분 프로그래밍의 결과물을 컴퓨터상에서만 확인할 수 있었지만, 앱 인벤터에서 블록 쌓기 방식으로 프로그래밍을 진행한 결과물은 실제 안드로이드 기기에서 실행시킬 수 있다. 앱 인벤터는 기존의 블록 쌓기 프로그래밍 방식을 차용하여 학습자가 쉽게 접근할 수 있도록 프로그래밍 환경을 구성 하였고, 결과물을 실생활에서 활용하는 기기에서 확인할 수 있다는 장점이 있어 향후 프로그래밍 교육에서 다양하게 활용할 수 있는 가능성을 가 지고 있다.

하지만 아직까지 앱 인벤터에 대한 연구는 활 발하지 않다. 특히 초·중등 교육에서 활용하기 위 한 언어의 특징, 장점과 단점 등에 대한 실질적인 연구가 부족한 실정이다. 또한 적절한 교육 대상 학년, 교육 방법 등에 대한 연구도 거의 없는 실 정이다. 따라서 본 연구는 프로그래밍 교육 도구 로서 앱 인벤터의 장·단점을 분석하고, 앱 인벤터 를 활용한 프로그래밍 교육을 설계할 때 고려할 점을 파악하고자 한 것이다. 연구의 진행은 앱 인 벤터를 활용한 프로그래밍 학습 내용을 설계하고, 설계한 학습 내용을 각각 교사 및 앱 개발을 학 습하고자 하는 초·중등 학생들에게 교육한 후, 각 집단에게 프로그래밍 교육에서 앱 인벤터의 활용

(3)

방안에 대하여 설문하는 방식으로 진행하였다. 이 설문을 분석하여 앱 인벤터의 장점과 단점을 파 악하고, 이를 바탕으로 수정된 앱 인벤터 프로그 래밍 교육 방안을 제안하고자 한다.

2. 이론적 배경

2.1 앱 인벤터(App Inventor)

2.1.1 앱 인벤터의 역사

앱 인벤터는 2010년 구글(Google)사가 안드로이 드 운영체제에서 구동되는 앱 개발을 쉽게 할 수 있도록 기존의 프로그래밍 언어를 대신할 개발 환경을 마련하기 위한 프로젝트였다. 2011년에 구 글사가 앱 인벤터의 소스코드를 공개하고, MIT 연구진에게 개발 프로젝트가 옮겨갔다. MIT 버전 의 앱 인벤터는 2012년 발표되었고, 2013년 12월 에 앱 인벤터 2 버전이 발표되어 현재까지 사용 되고 있다. 기존의 앱 인벤터와 현재 사용하는 앱 인벤터 2 버전의 차이는 <표 1>과 같다[5].

이름 앱 인벤터 클래식 (App Inventor Classic)

앱 인벤터 2 (App Inventor 2)

사용방식 프로그램을 컴퓨터에 설치하여 사용

웹 브라우저에서 바로 프로그래밍하는

클라우드 방식 블록

구현방식

Open Block Java

Library Blockly

결과물 확인

컴퓨터와 기기를 USB로 연결하여 제작한 앱을 옮김

에뮬레이터, USB 연결, Wi-Fi 연결 등의 다양한 방식 사용

<표 1> 앱 인벤터 클래식과 2 버전의 차이점

앱 인벤터가 2 버전으로 업데이트되며 프로그 램의 사용 방법, 블록의 내부 동작 방식, 결과물 설치 방식이 크게 바뀌었다. 이러한 변화는 컴퓨 팅 환경의 변화와 함께 MIT 내부에서 함께 진행 되고 있는 스크래치 프로젝트의 영향을 받은 것 으로 보인다[6].

2.1.2 앱 인벤터 사용 환경

앱 인벤터를 활용한 안드로이드 앱 개발은 크

게 두 단계로 나눌 수 있다. 먼저 앱의 전반적인 외형을 결정하는 디자인 단계와, 내부적으로 앱의 동작을 결정하는 프로그래밍 단계이다. 기존의 안 드로이드 앱 개발은 앱의 외형 디자인에 XML을, 프로그래밍에 JAVA를 사용하였다. 앱 인벤터는 이들 언어를 대신하여 디자이너(Designer) 창과 블록(Blocks) 창에서 디자인과 프로그래밍 기능을 각각 담당하도록 하였다.

<그림 1> 앱 인벤터의 코딩 영역

디자이너 창에는 컴포넌트를 끌어올 수 있는 팔레트(palette) 영역, 앱의 외형을 미리 볼 수 있 는 뷰어(viewer) 영역, 앱에 사용될 컴포넌트를 관리하는 컴포넌트(component) 영역, 앱에 사용된 멀티미디어 자료를 관리하는 미디어(media) 영역, 각 컴포넌트의 속성을 지정할 수 있는 속성 (property) 영역이 포함되어 있다. 블록 창에는 블 록을 끌어올 수 있는 블록(blocks) 영역과 실제로 블록을 끌어다 코딩을 진행하는 뷰어(viewer) 영 역이 있다. 사용자는 먼저 디자이너 창에서 컴포 넌트를 배치하여 앱의 뼈대를 설계하고, 블록 창 에서 각 컴포넌트가 제동하는 블록을 결합하는 방식으로 코딩을 진행하여 앱을 완성하게 된다.

제작한 앱은 프로젝트 단위로 관리되며, 사용자는 자신의 구글 계정을 통해 앱 인벤터 서버에 접속 하여 자신의 프로젝트를 관리하게 된다.

(4)

2.2 관련 연구

앱 인벤터는 안드로이드 운영체제에서 실행되 는 실제 앱을 구현하기 위해 개발되었지만, 쉬운 사용 방법과 실제 기기에서의 구현이라는 장점에 힘입어 다양한 수준의 학습자에게 프로그래밍 학 습 도구로도 활용되고 있다. 해외의 앱 인벤터 활 용 및 연구 사례를 살펴보면, Wolber(2011)는 대 학생에게 앱 인벤터를 가르친 사례 연구를 제시 하였다[6]. Morelli 외(2011)는 대학생과 고등학교 교사를 대상으로 앱 인벤터 교육을 실시하고, K-12 과정에 컴퓨팅 사고력(computational thinking)을 향상시키는 도구로 사용할 수 있을지 를 연구하였다[7]. 이 외에도 앱 인벤터를 컴퓨터 과학 및 프로그래밍을 처음 접하는 초보자 단계 의 교육에서 활용하고자 하는 연구들이 있었다 [8][9]. 해외의 앱 인벤터 연구는 대부분 대학생과 교사를 대상으로 하고 있었고, 컴퓨터 과학 및 프 로그래밍 학습 초기에 접근하기 쉬운 도구로 앱 인벤터를 평가하고 있었다.

국내에서는 앱 인벤터에 대한 연구가 시작되는 시점이다. 임화경(2013)은 초등학생을 대상으로 앱 인벤터를 활용하여 프로그래밍을 교육하고 학 습자의 사고 과정 변화를 관찰하였다[10]. 설문규, 손창익(2013)은 소프트웨어 개발이론인 워터폴 (waterfall) 모델을 도입한 앱 인벤터 교재를 개발 하여 초등학교 학습자의 고등사고력을 높이고자 하는 연구를 진행하였다[11]. 김병호(2013)는 대학 생을 대상으로 앱 인벤터의 교육 가능성을 평가 하였다[12]. 국내의 연구들도 국외의 연구와 유사 하게 앱 인벤터를 프로그래밍을 처음 접하는 학 습자를 대상으로 교육하는 연구가 진행되었다는 특징을 찾을 수 있었다.

대부분의 해외 연구는 앱 인벤터를 대학생 및 교사의 프로그래밍 학습에 활용하고 있어, 본 연 구에서 목표로 하는 초·중등 프로그래밍 학습에 대한 관련성이 낮았다. 국내에서 이루어진 앱 인 벤터 연구 또한 초등학교 및 대학교에서 이루어 진 프로그래밍 사례 연구로 단계적 교육 내용의 개발보다는 각 목표 대상에 대한 일회적인 교육 및 그 효과를 측정하는 내용이었다. 본 연구에서 는 이러한 기존 연구의 제한점을 넘어 초·중등 학 습자에게 적용할 수 있는 교육 방안을 제시한다 는 점에서 차이를 보인다.

3. 연구 방법

3.1 연구 방법

본 연구는 초·중등 학생의 앱 인벤터의 교육 활 용시 나타나는 장점과 단점을 파악하고, 이를 활 용하여 앱 인벤터를 활용한 적절한 프로그래밍 교육 방안을 제시하고자 한 것이다. 이를 위하여 실제 교육 현장에 적용할 교육 내용을 개선하는 방식의 연구 방법인 설계 기반 연구(design- based research) 방법을 적용하여 연구를 진행하 였다[13]. 아직까지 초·중등 학습자에게 적합한 앱 인벤터 교육 내용이 갖추어지지 않았기 때문에 관련된 내용을 바탕으로 연구자가 교육 내용을 구성하고, 작성된 교육 내용으로 수업을 진행하여 교육 프로그램의 장점과 단점을 파악하였다. 이러 한 과정에서 도출된 장점과 단점을 바탕으로 앱 인벤터를 활용한 교육 방안을 제시하였다.

3.2 연구 대상

본 연구는 2014년에 C도에 위치한 교육정보원에 서 실시한 교원 역량 강화 연수에 참가한 20명의 교사와, 안드로이드 앱 개발 교육에 참여한 45명 의 초·중·고등학생을 대상으로 진행하였다. 연구 대상자의 특성은 <표 2>와 <표 3>에 제시하였다.

분류 인원수(N=20) 비율(%)

성별 여자 11 55

남자 9 45

학교급

초등학교 4 20

중학교 5 25

고등학교 8 45

전문직 2 10

교육과목 정보·컴퓨터 14 70

기타 6 30

교직경력

5년미만 3 15

5년이상

~ 10년미만 1 5

10년이상

~ 15년미만 9 45

15년이상

~ 20년미만 1 5

20년이상 6 30

프로그래밍 학습경험

있음 18 90

없음 2 10

프로그래밍 교육경험

있음 14 70

없음 6 30

<표 2> 교사 특성

(5)

분류 인원수(N=45) 비율(%)

성별 여자 7 15.6

남자 38 84.4

학년

초5 13 28.9

초6 6 13.3

중1 11 24.4

중2 2 4.4

중3 6 13.3

고1 6 13.3

고2 1 2.2

프로그래밍 학습 경험

있음 27 60

없음 18 40

<표 3> 학생 특성

3.3 교육 내용 설계

앱 인벤터는 기존의 블록 쌓기 방식의 교육용 프로그래밍 언어와 조금 다른 특성을 가지고 있 다. 먼저 앱 인벤터는 프로그래밍 개념을 학습하 기 위한 언어가 아닌 실제 앱을 개발하기 위한 도구이다. 따라서 프로그래밍 개념을 쉬운 단계부 터 차근차근 익히는 방식이 아니라 실제 동작을 구현하기 위한 개념부터 먼저 익히게 된다. 예를 들면 앱 인벤터에 포함된 대부분의 컴포넌트는 하나의 객체로 취급되고, 각 컴포넌트는 자신의 속성과 메소드를 가지고 있다. 앱 내부에서 이루 어지는 대부분의 동작은 이벤트를 통한 컴포넌트 간의 속성 전달로 구성된다. 따라서 학습자는 반 복이나 조건 같은 프로그래밍의 기초적인 개념보 다 이벤트 처리나 객체와 속성의 개념을 먼저 익 히게 된다. 또한 프로그래밍의 결과 확인을 위해 서는 실제 기기로 실습을 진행해야 한다. 안드로 이드 기기가 있는 학습자는 프로그래밍의 결과물 을 실제적으로 확인할 수 있지만, 기기를 가지고 있지 않은 학습자는 기존의 프로그래밍 언어를 학습하는 것과 크게 차이가 없다. 이러한 특징은 앱 인벤터를 다른 프로그래밍 언어와 구별 짓는 주요한 특징이지만, 체계적인 프로그래밍 개념 습 득에 방해가 될 여지가 있고, 안드로이드 기기가 없는 학습자나 기기 동작에 익숙하지 않은 학습 자에게는 추가적인 인지적 부담을 줄 수 있는 특 징이다. 본 연구에서는 이러한 앱 인벤터의 특징 을 고려하여 교육 내용을 구성하였다.

교사 교육에 참여한 대부분의 교사가 프로그래 밍 학습 경험이 있었기 때문에 교사 교육의 내용

은 프로그래밍의 개념보다 앱 인벤터의 활용 방 법, 특히 각 컴포넌트의 사용 방법과 속성의 이해 를 중심으로 교육내용을 구성하였다. 또한 앱 인 벤터를 실제 수업에 적용할 때 주의해야 할 내용 을 추가적으로 교육하였다.

<표 4>는 초·중등 학생을 위한 앱 인벤터 교육 내용이다. 초·중등 학생을 위한 교육 내용은 실제 동작하는 앱을 제작하는 경험을 위주로 구성하였 다. 교육에 참여한 학생들 중 40%는 이전에 프로 그래밍을 전혀 경험하지 못한 상태였기 때문에, 기본적인 프로그래밍 개념을 교육 내용에 포함하 여 교육하였다. 교육 내용의 순서는 컴포넌트들 중 학습자가 쉽게 파악할 수 있는 컴포넌트부터 배치하였고, 반복과 조건 등의 프로그래밍 개념은 앱 인벤터 환경에 익숙해진 다음 배치하였다. 교 육 내용에 포함된 프로그래밍 개념은 중·고등학교 정보 교육과정에 제시된 내용을 기반으로 제시하 였다[14][15].

시간 교육 내용 프로그래밍 개념

1 앱 인벤터 소개

앱 인벤터 사용 환경 설정 프로그래밍 이해

1

디자이너와 블록 창의 활용 나의 첫 앱 만들기 제작한 앱 설치하기

순차 실행 이벤트 핸들러

1 글자 읽어주는 앱 제작 메소드 호출 값의 전달

1 음성 인식 메모 앱 제작 메소드 호출 값의 전달

1 낙서장 앱 제작 지역 변수

객체의 속성 2 운명의 수정구슬 앱 제작 자료의 입출력

1 GPS 앱 제작 반복

2 숫자 맞추기 게임 앱 제작 조건, 반복

2 계산기 앱 제작 조건, 변수,

함수(프로시저)

3 게임 앱 제작 종합적인 이해

<표 4> 앱 인벤터 교육 내용 - 학생용

3.4 교육 내용 적용

개발한 교육 내용을 각각 20명의 교사와 45명 의 학생에게 적용하였다. 교사의 경우 총 30시간 분량의 교육 내용을 6시간씩 5일에 걸쳐 교육하

(6)

였다. 교사 교육의 목적은 앱 인벤터 학습을 통해 학생에게 재교육할 수 있는 능력을 배양하는 것 이다. 따라서 예제나 코딩을 단순히 따라하는 것 을 넘어 앱 인벤터에 내재된 프로그래밍 개념을 이해하고, 각 컴포넌트의 특징에 따라 앱을 제작 하고 심화할 수 있도록 충분한 시간을 가지고 교 육을 진행하였다. 학생의 경우 총 15시간 분량의 교육 내용을 3시간씩 5일에 걸쳐 교육하였고, 앱 인벤터에서 제공하는 컴포넌트를 다양한 방식으 로 활용하는 방법을 익힐 수 있도록 예제 중심으 로 교육하였다. 또한 앱 인벤터 교육이 단순한 코 드 따라하기 교육이 되지 않도록 결과물을 만들 기 위한 알고리즘 생성 과정과, 생성한 알고리즘 을 실제 블록으로 옮기는 과정을 생각하고 학습 지에 기록하도록 지도하였다.

학생 교육은 초등학교 5, 6학년을 하나의 반으 로 편성하였고, 중학교 1학년부터 고등학교 2학년 까지의 학생을 하나의 반으로 편성하였다. 이러한 반 편성은 학습자의 인지적 능력을 고려하여 편 성한 것이다. 본 연구에서는 앱 인벤터의 적절한 교육 단계를 파악하기 위하여 같은 내용을 초·중·

고 학생에게 모두 교육하였으나, 교육 내용에 대 한 설명은 학습자의 수준에 맞도록 진행하였다.

또한 본 연구에는 자신의 기기를 가져와 학습에 활용하는(BYOD, bring your own device) 방식으 로 교육을 진행하였다. 아직까지 안드로이드 기기 를 학습 도구의 형태로 구비하고 있는 곳이 많지 않기 때문에 학습자가 본인의 안드로이드 기기를 학습 환경에 가져와 활용하도록 하였다.

4. 연구 결과

연구 대상에게 실시한 설문은 사전, 사후로 진 행하였다. 교사 사전 설문은 프로그래밍 학습 경 험, 프로그래밍 교육 경험으로 구성하였고, 사후 설문에서는 교육 만족도, 교육 활용 방법, 앱 인 벤터의 교육적 장·단점, 교육 적합 학년을 설문하 였다. 학생 사전 설문에서는 프로그래밍 학습 경 험, 프로그래밍 관심도에 대하여 물어보았고, 사 후 설문은 앱 인벤터의 장점, 어려웠던 점, 각 교 육 프로그램의 흥미도, 교육 만족도, 지속적 학습 의지로 구성하였다. 모든 설문 결과는 SPSS 18버 전으로 분석하였다.

4.1 교사 설문 분석

4.1.1 교사 사전 설문

앱 인벤터 교육에 참가한 교사 20명 중 14명이 정보·컴퓨터 과목을 담당하고 있는 교사였고, 4명 은 초등학교 교사, 2명은 정보·컴퓨터 관련 전문 직이었다. 18명(90%)은 기존에 프로그래밍을 학습 한 경험이 있었고, 14명(70%)은 프로그래밍을 학 생에게 교육한 경험이 있었다. 교사가 기존에 학 습한 프로그래밍 언어는 C, C++가 가장 많았고 (16명), 자바(7명), 스크래치(6명), 비주얼 베이직(5 명) 순이었다. 실제 학생에게 교육한 프로그래밍 언어는 비주얼 베이직(8명), C, C++(7명), 스크래 치(4명) 순으로 나타났다. 이렇게 교사가 학습한 프로그래밍 언어와 교육한 프로그래밍 언어의 종 류가 차이나는 것은 예전의 컴퓨터 교육과정에 포함된 프로그래밍 영역에서 비주얼 베이직이 주 요하게 다루어진 프로그래밍 언어였기 때문으로 판단된다.

4.1.2 교사 사후 설문

앱 인벤터가 프로그래밍 교육 능력 향상에 도 움을 주었는지에 대한 문항에서, 교사들은 5점 만 점에 4.85의 높은 답변을 하였다. 교육에 참여한 대부분의 교사들은 앱 인벤터를 학습하는 것에 대한 만족감을 느꼈고, 이를 활용하여 프로그래밍 교육 내용을 개선할 수 있는 것으로 인식하였다.

앱 인벤터를 프로그래밍 교육에서 활용할 것인 지를 묻는 질문에는 17명(85%)의 교사가 활용할 것이라고 답변하였다. 앱 인벤터의 교육적 장점을 물은 질문에는 결과물을 바로 파악할 수 있기 때 문에(18명), 코딩에 대한 거부감이 적을 것(17명), 실생활과 관련되어 있기 때문에(16명), 다양한 센 서를 활용할 수 있기 때문에(15명) 순으로 답변하 였다. 이러한 교사의 답변은 앱 인벤터가 가지고 있는 특징을 반영한 것으로 보인다. 교사가 답변 한 대부분의 장점은 앱 인벤터가 가진 두 가지 특징인 쉬운 접근성과 실제 기기에서 구동된다는 점에 해당하는 것이다. 프로그래밍 교육을 담당하 는 교사들도 앱 인벤터의 특징을 주요한 장점으 로 본다는 것을 다시 한 번 확인할 수 있었다.

(7)

앱 인벤터의 교육 활용 단점을 묻는 질문에는 영어로 된 프로그래밍 환경(12명), 안드로이드 운 영체제에 국한되어 있음(8명), 기기 관리의 어려 움(5명), 기기의 오류(5명) 순으로 답변하였다. 단 점으로 가장 많이 답변한 영어로 된 프로그래밍 환경의 경우 아직까지 앱 인벤터가 영어를 기반 으로 하고 있어 모든 메뉴와 블록이 영어로 구성 되어 있기 때문에 답한 것으로 보인다. 안드로이 드 운영체제에 국한된 것이라는 단점은 실습시 안드로이드 운영체제가 설치된 기기가 없는 학습 자에게 불리하게 작용할 수 있기 때문으로 생각 된다. 기기 관리의 어려움과 기기의 오류가 단점 이라는 답변은 학습에 물리적 기기를 사용하는 경우 나타나는 단점으로 생각할 수 있다. 기기 관 리의 관점은 학교에서 기기를 구비하여 학습자에 게 제공할 경우 나타날 수 있는 문제점이며, 기기 의 오류는 각 기기에 설치된 안드로이드 운영체 제의 버전이 다르거나, 각 제조사마다 기기에 탑 재한 안드로이드 운영체제의 내용이 다르거나, 기 기에 탑재된 센서의 종류가 동일하지 않아 결과 물 실행이 동일하게 보장되지 않는다는 점이다.

자신의 기기를 학습에 사용하는 경우 기기마다 특성이 조금씩 달라 동일한 동작을 보장하지 않 는 것을 확인하였고, 이러한 점이 실제 교육에서 는 단점으로 나타날 수 있다는 답변으로 나타난 것으로 보인다.

이러한 장점과 단점을 바탕으로 앱 인벤터를 사 용하여 프로그래밍 교육을 진행하기 적절한 학년 에 대한 질문에는 중학교 3학년, 고등학교 1학년 (16명), 중학교 2학년, 고등학교 2학년(15명) 순으 로 답변하였다. 많은 교사가 중학교 이상의 학습 자에게 앱 인벤터가 적합하다고 생각하고 있었고, 그 이유는 기존의 스크래치 등의 프로그래밍 언어 보다는 프로그래밍의 난이도가 높고, 영어 등의 언어 문제를 꼽았다. 하지만 초등 6학년에 적합하 다는 답변도 8명(40%)이었고, 초등 5학년에 적합 하다는 답변(6명)도 있어 초등학교 수준의 학습자 에게도 앱 인벤터를 교육할 여지는 있는 것으로 생각된다. <그림 2>는 앱 인벤터로 프로그래밍 교 육을 실시하기 적합한 학년을 답변한 수이다.

<그림 2> 앱 인벤터 교육 적합 학년

4.2 학생 설문 분석

4.2.1 학생 사전 설문

앱 인벤터 교육에 참여한 학생의 평균적인 프 로그래밍 관심도를 Likert 5점 척도로 질문하였을 때 3.98이라는 높은 관심을 보였다. 기존에 프로 그래밍을 경험한 학습자는 27명(60%)이었는데, 이 들이 학습한 프로그래밍 언어는 C, C++(20명), 스 크래치(13명) 순이었다. 또한 하나의 프로그래밍 언어를 학습한 학생이 다른 프로그래밍 언어를 학습하는 경우가 많았다.

4.2.2 학생 사후 설문

다른 프로그래밍 언어를 학습해 본 학습자에게 기존의 프로그래밍 언어와 앱 인벤터의 차이점을 물은 설문에는 기존에 학습한 프로그래밍 언어보 다 쉽다(14명), 재미있다(6명)고 답변하였고, 그 이유를 기록한 학생은 블록 기반이라서(6명), 스 크래치와 비슷하다(4명)고 답했다. 이러한 결과를 살펴볼 때 학습자에게 블록 쌓기 형태의 프로그 래밍 환경을 제공하는 것이 학습자의 학습 부담 을 줄이고, 프로그래밍의 재미를 알 수 있게 하는 것으로 판단할 수 있다.

중복 답변을 가능하게 한 앱 인벤터의 장점을 묻는 문항에는 실제 기기로 구현 가능하다(36명), 내가 프로그래밍을 실제로 할 수 있다(32명), 기 기에 탑재된 여러 센서를 사용할 수 있다(22명)는 순서로 답변하였다. 이러한 결과는 학습자도 앱 인벤터의 근본적인 장점을 파악하고 있는 것으로 말해준다. 다시 말해 앱 인벤터가 가지고 있는 장

(8)

점이 학습자에게 실제적인 프로그래밍 경험을 준 것으로 볼 수 있다.

앱 인벤터 학습에서 어려웠던 점은 영어로 된 프로그래밍 환경(23명), 기기 및 네트워크 오류(18 명), 프로그래밍의 논리적 과정(16명) 순으로 답했 다. 영어로 된 프로그래밍 환경이 어려웠다는 답 변이 주로 중학교 1학년 이하의 학습자에게서 많 이 나온 것으로 볼 때 낮은 학년의 학습자에게 영어로 이루어진 프로그래밍 환경이 학습에 부담 으로 작용한다는 것을 확인할 수 있었다. 이는 교 육 적합 학년을 묻는 교사 답변에서도 확인할 수 있었던 부분이다. 또한 실제 기기 및 네트워크를 통한 실제 구동을 확인하는 부분에서 부담을 느 낀 학생도 많은 것으로 나타났다. 이러한 답변은 실제 프로그래밍 과정 이전에 안드로이드 기기 동작에 대한 교육 및 네트워크 개념에 대한 교육 이 필요하다는 것을 의미한다. 또한 교사가 앱 인 벤터 교육을 위해 기기 활용 방법 및 네트워크 환경을 치밀하게 구성해야 한다는 것을 의미하기 도 한다. 프로그래밍의 논리적 과정이 어려웠다는 답변은 프로그래밍을 이전에 접해보지 못했던 학 생에게서 많이 나타났다. 이는 한번이라도 프로그 래밍을 접하게 되면 프로그래밍이 가진 논리적인 과정에 대하여 학습할 수 있다는 측면에서 나타 난 답변으로 보인다.

제작 앱 평균 표준편차

글자 읽어주는 앱 4.20 .842

음성 인식 메모 앱 4.44 .693

낙서장 앱 4.40 .751

운명의 수정구슬 앱 4.38 .777

GPS 앱 3.93 .986

숫자 맞추기 게임 앱 4.49 .787

계산기 앱 3.95 .759

게임 앱 4.47 .842

<표 5> 앱 제작 만족도(N=45)

Likert 5점 척도로 질문한 각 교육 내용에 대한 만족도는 <표 5>에 제시하였다. 전반적으로 모든 교육 내용에 대하여 만족하고 있으며, 센서 활용 이 복잡하고 프로그래밍 난이도가 높아지는 과제 에서 흥미도가 약간 낮아지는 경향을 볼 수 있다.

예외적으로 게임 앱은 다양한 프로그래밍 개념이 포함되고 이벤트 처리 및 조건, 분기 등이 많은

어려운 과제임에도 불구하고 학습자의 흥미도가 높은 것으로 나타났다.

앱 인벤터 교육 과정에 대한 만족도는 5점 척 도로 환산했을 때 4.73의 높은 수준이었고, 앞으 로 프로그래밍을 계속해서 학습하겠다는 답변은 4.22 수준으로 나타났다. <표 6>은 학습자의 교육 만족도와 지속적인 학습 의지를 설문한 표이다.

제작 앱 평균 표준편차

학습 만족도 4.73 .447

추가적인 학습 의지 4.22 .974

<표 6> 학습 만족도 및 추가 학습 의지(N=45)

5. 결론 및 제언

5.1 결론

본 연구는 앱 인벤터를 활용한 효과적인 초·중 등 프로그래밍 교육 방안을 설계하기 위한 연구 이다. 교사는 앱 인벤터의 교육 활용의 장점으로 결과물의 즉각적 확인, 코딩 과정에 대한 거부감 이 낮음, 실생활 앱 개발, 센서 활용 등의 앱 인 벤터가 가지고 있는 고유의 특징을 답변하였다.

앱 인벤터 활용의 단점으로는 영어로 구성된 프 로그래밍 환경과 블록, 안드로이드 운영체제에 국 한됨, 기기의 관리와 활용이 용이하지 않음 등을 답변하였다. 이러한 앱 인벤터의 장점과 단점을 바탕으로 앱 인벤터의 적정 활용 학년을 묻는 질 문에는 중학교 2학년부터 고등학교 2학년까지의 학습자에게 가장 적절할 것이라는 답변을 하였다.

다른 프로그래밍 언어를 학습해본 학습자를 대상 으로 한 설문에서는 블록 쌓기 방식의 프로그래 밍 환경 때문에 프로그래밍이 쉽고 재미있다는 답변이 나타났다. 전체 학습자를 대상으로 한 앱 인벤터의 장점에 대한 질문에는 실제 기기에서 구현할 수 있고, 내가 스스로 프로그래밍한 결과 를 확인할 수 있다는 답변이 많았다. 앱 인벤터의 어려움에 대한 질문에는 영어로 된 앱 인벤터의 메뉴와 블록에 대한 어려움과 기기 및 네트워크 오류에 대한 어려움을 답변하였다. 앱 제작에 대 한 흥미도는 전반적으로 높았고, 특히 게임 앱을 제작할 때의 흥미도가 높은 것을 알 수 있었다.

(9)

앱 인벤터의 학습 만족도는 매우 높았고, 프로그 래밍에 대한 추가 학습의지도 높은 편이었다.

앱 인벤터는 매력적인 프로그래밍 학습 도구이 다. 교육용 프로그래밍 언어처럼 쉽게 접근할 수 있고 상용 언어처럼 실제 기기에서 동작하는 앱 을 제작할 수도 있다. 하지만 이러한 특징 때문에 다른 교육용 프로그래밍 언어보다 학습자의 인지 적인 부담이 높은 편이다. 따라서 앱 인벤터를 활 용한 프로그래밍 교육을 계획할 때는 다음과 같 은 사항을 고려해야 할 것이다.

첫째, 앱 인벤터는 일반적인 교육용 프로그래 밍 언어와는 다르게 실제적인 앱을 제작하는 특 징을 가지고 있기 때문에, 프로그래밍의 개념을 순차적으로 학습하는 방식이 아니라 결과물을 만 들어가는 과정을 중심으로 교육을 진행해야 한다.

둘째, 교육 순서는 사용하는 컴포넌트의 난이도 와 프로그래밍 개념의 난이도를 종합적으로 고려 하여 선정해야 한다.

셋째, 앱 인벤터를 활용한 교육 내용을 설계할 때, 대상 학습자의 수준과 사전 지식 정도를 파악 해야 한다. 교사와 학생 모두 영어로 된 프로그래 밍 환경을 학습의 어려운 점으로 꼽았다. 또한 좌 표의 개념, 함수의 개념 등 다른 과목에서 학습해 야하는 개념이 포함된 경우도 있다. 교사가 앱 인 벤터로 프로그래밍 교육을 하기 위해서는 학습자 가 이러한 선수 지식을 충분히 함양하고 있는지 파악하고 부족한 부분을 보완할 수 있도록 교육 을 설계해야 한다.

넷째, 기기 활용에 대한 준비를 해야 한다. 본 연구에서는 거의 모든 학습자가 자신의 기기로 학습을 진행하였지만, 일반 교실에서 이러한 상황 을 기대하기는 어렵다. 또한 모든 학습자가 기기 를 사용한다 하더라도 교사가 모든 기기의 동작 을 확인하고 오류를 수정하는 것도 쉽지 않은 일 이다. 수업을 계획할 때 기기의 확보, 활용 정도, 오류 상황 대처 방법 등에 대한 사항을 충분히 숙지한 후 수업 방법을 결정할 필요가 있다.

5.2 제언

본 연구는 효과적인 앱 인벤터 교육 방안을 도 출하기 위한 기본 연구로서 앱 인벤터 교육을 여

러 학습자 집단에 대하여 교육하였다. 하지만 교 육이 프로그래밍과 앱 개발에 관심을 가진 집단 만을 대상으로 하였기 때문에, 일반적인 학습자에 게 일반화하기 어려운 측면이 있다. 또한 학습자 수준의 구별이 학교급별로 명확하게 나뉘지 않아 학습자 수준별로 교육에 대한 반응을 관찰하는데 한계점이 있다. 추후 진행될 연구는 특정 학습자 집단을 대상으로 실제 교실에서 앱 인벤터를 활 용한 프로그래밍 교육을 진행하고, 그 효과 및 장 단점을 세부적으로 확인하는 연구가 되어야 할 것이다.

참 고 문 헌

[ 1 ] Edelson, D. C., & Reiser, B. J. (2006).

Making authentic practices accessible to learners: Design challenges and strategies.

in Sawyer, R. K. (Ed.). (2006).

The Cambridge handbook of the learning sciences

(Vol. 2, No. 5). New York:

Cambridge University Press.

[ 2 ] 정웅열, 이은경, 이영준 (2009). 전문계 고등 학교 학습자의 동기 유발 및 지속을 위한 로 봇 프로그래밍 교수 학습 모형. 컴퓨터교육 학회 논문지, 12, 13-21.

[ 3 ] 진성수 (2010). MCU를 활용한 프로그래밍 학습이 문제해결력 향상에 미치는 효과. 석 사학위 논문, 대구교육대학교.

[ 4 ] 심주은, 고주영, 심재창 (2014). 창의성 향상 을 위한 아두이노 활용 교육과정 개발과 분 석 멀티미디어학회논문지, 17, 514-525.

[ 5 ] Wikipedia (2014. 8. 20) Retrieved from http://en.wikipedia.org/wiki/App_Inventor_fo r_Android

[ 6 ] D. Wolber (2011). App inventor and real-world motivation. SIGCSE'11 - 42nd

ACM Technical Symposium on Computer Science Education, 601-606.

[ 7 ] Morelli, R., de Lanerolle, T., Lake, P., Limardo, N., Tamotsu, E., & Uche, C.

(2011). Can android app inventor bring computational thinking to k-12. In Proc.

(10)

42nd ACM technical symposium on Computer science education (SIGCSE'11).

[ 8 ] Spertus, E., Chang, M. L., Gestwicki, P., &

Wolber, D. (2010). Novel approaches to CS 0 with app inventor for android.

In Proceedings of the 41st ACM technical symposium on Computer science education, 325-326.

[ 9 ] Hsu, Y. C., Rice, K., & Dawley, L. (2012).

Empowering educators with Google's Android App Inventor: An online workshop in mobile app design. British Journal of

Educational Technology, 43(1), E1-E5.

[10] 임화경 (2013). 초등학생을 대상으로 앱 인벤 터를 활용한 안드로이드용 앱 제작교육. 멀 티미디어학회논문지, 16, 1495-1507.

[11] 설문규,손창익 (2013). 워터폴 모델을 적용한 앱 인벤터 프로그래밍 교재개발 연구. 정보 교육학회논문지, 17, 409-419.

[12] 김병호 (2013). 안드로이드 앱 인벤터를 활용 한 컴퓨터 프로그래밍 교육. 한국정보통신학 회논문지 17, 467-472.

[13] Barab, S., & Squire, K. (2004).

Design-based research: Putting a stake in the ground. The journal of the learning

sciences, 13(1), 1-14.

[14] 교육과학기술부 (2011). 중학교 선택 교과 교육과정. 교육과학기술부 고시 제 2011-361 호 [별책 18], 12-13.

[15] 교육과학기술부 (2011). 실과(기술·가정) 교 육과정. 교육과학기술부 고시 제 2011-361호 [별책 10], 85-86.

안 상 진

2002 한국교원대학교

영어교육과(교육학학사) 2012 한국교원대학교

컴퓨터교육과(교육학석사) 2013~현재 한국교원대학교 컴퓨터교육과 박사과정

관심분야: 프로그래밍 교육, 교육용 프로그래밍 언어, 정보교육과정

E-Mail: [email protected]

이 영 준

1988 고려대학교

전산과학과(이학사) 1994 미국 미네소타대학교 (전산학 Ph.D.) 현재 한국교원대학교 컴퓨터교육과 교수 관심분야: 정보통신교육, 지능형시스템, 학습과학 E-Mail: [email protected]

참조

관련 문서

This study aims to suggest app programming education plan by analyzing the effects of app programming education using m-bizmaker on the creative problem

Abstract - This study was examined the vascular plants and their characteristics cited in 311 science textbooks of elementary and secondary schools used in the fifth

This National Center for Education Statistics (NCES) First Look report introduces new data for the universe of public elementary and secondary schools and agencies in the United

CCD publishes statistical information annually by school year for approximately 100,000 public elementary and secondary schools, approximately 18,000 local education

Programming Education Program based on PPS to Improve Computational Thinking Ability. Graduate School Jeju National

For this study, 359 elementary and secondary science teachers in 2008, when the 2007 revised curriculum was applied, and 360 elementary and secondary science teachers in 2018,

Based on the results of this study, there are the needs for further studies to establish theoretical foundation on the engineering content elements in elementary and secondary

Second, although the proper formation plans for a key learning element of elementary and secondary invention/intellectual property education were almost