| Home | E-Submission | Sitemap | Editorial Office |  
top_img
Korean J Child Stud > Volume 41(3); 2020 > Article
프로그래밍언어를 활용한 유아 소프트웨어교육 중에 나타나는 유아의 메타인지 분석

Abstract

Objective

The purpose of this study is to analyze the aspects of young children's metacognition expressed during software activities using the programming language, Viscuit.

Methods

Twelve four-year-old children participated in this study for 12 weeks. Various data, such as observation records, researcher's own journals, and informal consultation meeting records were collected and analyzed.

Results

The results of this study are as follows: First, children were able to visit their own thinking process while doing software activities. Children could activate metacognition in the process of judging what they really wanted, what they liked, and whether they had the ability to solve the problems. Second, children were able to monitor their own thinking process while doing software activities. Metacognition was activated while pursuing tentative answers to solve problems. Children could monitor the degree of their understanding immediately and objectively since the results of the manipulation were shown on the computer screen. Third, children expressed their ideas in various ways while doing software activities. Children used metacognition processes while integrating their technical knowledge of programming languages and their daily life experiences. Children were able to connect different fields of knowledge to create various expressions.

Conclusion

The results of this study can help to understand the metacognition ability of young children in software education, and also to affirm value of software education.

Introduction

우리는 미래를 예측하기 힘들 정도로 급격하게 변하는 사회에 살고 있다. 기술 융합과 디지털 혁명을 기반으로 찾아온 4차 산업혁명은 경제, 산업 등 사회 전반에서 이전에 경험하지 못했던 변화를 이끌어내고 있다(National Institute of Lifelong Eduction [NILE], 2016). 불확실성과 불안정성으로 대표되는 이 시대를 살아갈 유아들을 위해 무엇을 가르칠 것이냐에 대한 교육적 논의가 이어지고 있다.
21세기의 핵심역량에 대한 연구(Battelle for Kids, 2019; OECD, 2018)와 4차 산업혁명 시대의 교육 방향 모색에 대한 연구(Seong, 2017) 등에서는 공통적으로 학습자의 구성주의적 인지능력을 강조한다. 구성주의적 인지능력은 주어진 지식을 재구성하여 새로운 지식으로 창조해낼 수 있는 능력을 의미한다. 구성주의적 인지능력은 학습의 전제조건으로 경험을 스스로 끊임없이 재구성해 가는 자기주도적 학습자를 가정한다. 따라서 미래 사회에서는 특정한 지식을 배우는 것보다 ‘어떻게 배우는지를 배우는’ 자기주도 학습역량을 갖출 수 있게 하는 교육이 필요하다.
미래사회에 필수적인 이러한 능력은 메타인지의 개념으로 설명할 수 있다. 메타인지는 자신의 인지에 대해 ‘알고’ 인지과정을 ‘조절’하는 능력(Flavell, 1976)으로, 스스로 생각하고 학습할 수 있는 인지적 도구 역할을 한다. 메타인지를 통해 스스로 학습할 수 있는 역량을 갖출 수 있으며, 급격한 변화와 새로운 상황에 끊임없이 적응하고 평생 동안 배울 수 있게 한다.
인지가 학습자와 경험적 세계를 중재하는 것이라면, 메타인지는 학습자와 인지를 중재한다(Forrest-Pressley & Waller, 1984). 메타인지는 자신의 인지 및 인지적 활동에 대한 자각과 조절을 의미한다. 따라서 메타인지는 인지를 인지의 대상으로 여기고, 이를 내적으로 표상하는 능력을 필요로 한다. 메타인지는 성인이나 아동에게는 존재하지만 유아에게는 존재하지 않는다는 것이 통념이었으나, 많은 연구들(Kei, 2013; Kim & Park, 2007; Rosbon, 2016)은 만 3-5세 유아들에게서도 메타인지가 나타난다는 점을 증명해주고 있다. 또한 메타인지와 관련 있는 개념인 마음이론과 자기조절 등에 관한 연구들을 통해서도 유아의 인지 및 정서적 조절 능력을 확인할 수 있다(Hofmann, Friese, Schmeichel, & Baddeley, 2011; H. Lee, 2013; Y.-J. Lee, Lee, & Shin, 2005). 메타인지는 비판적 사고와 문제 해결 능력 발달에 도움(Dimmitt & McCormick, 2012)이 될 뿐 아니라, 자기조절학습의 핵심 요인(Efklides, 2006)이며, 창의성과 관련이 있다(Kim, 2008)는 점에서 중요한 인지적인 능력으로 간주되고 있다.
메타인지는 인지의 ‘자기평가’ 와 ‘자기관리’라는 두 가지 특성을 지닌다(Paris & Winograd, 1990). 자기평가는 학습 과정 중 학습자의 이해, 능력, 감정 상태에 대한 성찰이고, 자기관리는 문제를 해결하는데 도움이 되는 정신적 과정을 의미한다. 이러한 메타인지는 완전히 새로운 개념이 아니다. 반영적 추상화, 자기조절, 마음이론, 자기성찰 등 메타인지와 유사한 개념이 교육심리학 분야에서 존재해왔다(H. D. Lee, 2005).
유아들에게 메타인지 능력을 길러줄 수 있는 방법은 많지만, 그 가운데 프로그래밍언어를 활용한 소프트웨어교육은 가장 유용한 방법 가운데 하나이다. 왜냐하면 프로그래밍언어는 상상과 문제해결에서의 사고과정을 표현할 수 있게 해주는 도구이기 때문이다. 또한 프로그래밍 과정에서는 사고과정의 오류를 수정하면서 스스로 지식을 재구성할 수밖에 없기 때문이다(Papert, 1993). 자신이 하고자 하는 작업을 컴퓨터에게 코드로 설명하는 과정에서, 자신이 알고 있는 것과 모르고 있는 것을 구분할 수 있게 되고, 컴퓨터로부터 즉각적인 피드백을 받으며 사고의 흐름을 파악할 수 있게 되는 것이다(Choi, 2017). 즉, 프로그래밍 활동을 통해 메타인지가 자연스럽게 나타날 수 있다.
유아 소프트웨어교육에 대한 연구는 초기단계이므로 그 개념을 학자마다 다르게 정의하고 있다. 여러 연구(Jo, Park, & Hong, 2017; C. Lee, 2017; Resnick, 2007)를 종합해보면 유아가 생각하여 만들고자 하는 구체물을 유아가 사용할 수 있는 교육용 프로그래밍언어를 직접 활용하여 설계 및 창조하는 과정에 참여하는 것이 바람직하다. 본 연구에서도 소프트웨어교육을 프로그래밍언어 도구를 활용하여 유아가 만들고 싶어 하는 구체물을 창조해내는 교육이라고 간주한다. 프로그래밍언어를 활용한 소프트웨어교육은 Piaget의 구성주의 교육 접근법과 관련이 깊다(Katterfeldt, Dittert, & Schelhowe, 2015; Martinez & Stager, 2013/2015; Papert, 1993). 프로그래밍언어를 활용한 소프트웨어교육은 유아들이 자신들의 관심거리나 상상으로 시작하여 자기 주도적인 활동이 이루어진다(Kang, Yoon, & Hwang, 2017). 유아가 자신의 생각, 관심을 바탕으로 결과물을 만들어내기 때문에 자율성의 범위가 넓고 자기 주도적 학습이 가능하다. 소프트웨어교육은 자기 주도적 활동이기 때문에, 유아의 메타인지가 유아에게 적합하고 의미 있는 상황에서 더 잘 드러날 수 있다.
이와 같이 프로그래밍언어를 활용한 소프트웨어교육이 메타인지에 도움을 준다 하더라도, 유아를 대상으로 하는 소프트웨어교육은 유아의 발달 단계에 적합해야 가능하다. 초기 선행 연구들에서는 프로그래밍언어를 활용한 소프트웨어교육의 적절성과 사회적 상호작용 저해에 대한 우려(Barnes & Hill, 1983; Cordes & Miller, 2000; White & Sivitanides, 2002)가 주를 이루고 있었다. 그러나 최근 들어 유아에게 프로그래밍언어를 교육하는데 문제가 없으며, 적절한 교육용 프로그래밍언어 사용은 유아 발달에 도움을 준다는 연구결과가 보고되고 있다(Grover & Pea, 2013; Kazakoff & Bers, 2012; Portelance, Strawhacker, & Bers, 2016).
더구나 최근 유아들이 쉽게 배우고 활용할 수 있는 교육용 프로그래밍언어가 출시되고 있다. 테크놀로지의 빠른 발전이 새로운 교육적 도구 개발에 기여했기 때문이다(Yin & Fitzgerald, 2015). 유아용 프로그래밍언어는 습득 시간이 짧고 조작하기 쉬운 비주얼 언어가 많은데, 비스켓(Viscuit)과 스크래치 주니어가 대표적인 언어이다. 특히 비스켓은 안경 버튼을 통해서만 명령을 조작할 수 있기 때문에, 사용법만 숙지하면 언어 문법 지식이 없이도 유아들이 직관적으로 사용할 수 있다(S. Hwang, Chae, Kim, & Park, 2018).
유아부터 소프트웨어교육이 가능해지고 프로그래밍언어 교육의 가치에 대한 공감이 이루어지면서 국내에서도 유아 대상 소프트웨어교육에 대한 연구가 이루어지고 있다. 유아 대상 소프트웨어교육에 대한 선행연구는, 최근 연구 경향을 분석한 연구(Chun, Park, & Sung, 2019), 소프트웨어 교육 활동에서 교사의 실천과 반성을 살펴본 연구(Lim, 2019)와 구성주의 기반 소프트웨어 교육의 의미를 탐구한 연구(Won, 2020) 등을 들 수 있다. 유아 대상 프로그래밍언어 교육에 대한 선행연구는, 구성주의 관점에서 스크래치 주니어를 분석한 연구(Yoon, 2019), 활동 과정에서의 유아의 컴퓨팅 사고 경험(S. Hwang & Choi, 2019)과 교사와 유아의 경험을 탐색하는 연구(Won & Choi, 2019) 등을 들 수 있다.
이미 충분한 연구에서 유아기에도 메타인지 능력이 있다는 점과 프로그래밍언어 교육이 가능하다는 점이 밝혀졌기 때문에 본 연구에서는 프로그래밍언어를 활용한 소프트웨어교육에서 유아의 메타인지 양상이 어떻게 드러나는지 분석하고자 한다. 메타인지는 학습자의 머릿속에서 일어나는 일련의 과정이므로, 유아들이 프로그래밍을 하는 과정에서 나타난 상호작용과 결과물 등 외현화된 행동을 살펴보고자 한다. 본 연구의 결과는 소프트웨어교육에서 나타나는 유아의 메타인지 능력을 이해하고, 나아가 소프트웨어교육의 교육적 가치에 대한 인식을 제고하는데 도움을 줄 것이라고 기대한다.본 연구를 위한 연구문제는 다음과 같다.

연구문제 1

프로그래밍언어를 활용한 유아 소프트웨어교육 중에 나타나는 유아의 메타인지 양상은 어떠한가?

Methods

연구 참여자

본 연구에서 연구 참여자는 S시 D유치원 만 4세 단일연령 학급의 유아들로, 남아 8명, 여아 4명, 총 12명이다. 연구 시작 전 에 동료교사 및 학부모에게 연구의 내용을 설명하고, 서면을 통한 동의를 구했다. 연구에 참여한 유아들은 사회 경제 배경이 유사한 가정의 유아들로 모두 프로그래밍언어 활동과 관련된 사전경험이 없었다. 유아들은 스마트 기기를 통해 온라인에 게시된 교육 또는 오락용 동영상, 게임 등의 콘텐츠를 활용해본 경험이 있을 뿐이었다. 참여 유아의 익명성 보장을 위해 가명을 사용했다.

연구도구

본 연구에서는 유아들과의 소프트웨어교육을 위해 교육용 프로그래밍언어인 비스켓을 사용했다. 비스켓은 일본의 정보 공학 박사인 하라다 야스노리가 개발하여 인터넷 환경의 컴퓨터나 태블릿 PC에서 제공되며, 유아에게 프로그래밍을 통해 놀이할 수 있도록 개발된 교육용 프로그래밍언어이다(S. Hwang et al., 2018). 프로그램의 개발자에게 연구도구로 활용해도 된다는 서면동의를 구하였다.
비스켓은 사용방법의 단순함에 비해 활용 가능성이 크다는 장점이 있다. 비스켓에서는 Figure 1과 같이 유아가 그린 그림으로 객체를 생성한다. 이후 Figure 2처럼 ‘안경’처럼 생긴 명령어를 통해 객체에 대한 알고리즘을 구현한다. 안경명령어는 두 개의 동그라미와 동그라미를 이어주는 직선으로 이루어져 있다. 동그라미를 이어주는 직선에 있는 화살표(→)를 기준으로 왼쪽 원은 변화 전을 나타내며 오른쪽 원은 변화 후를 나타낸다. 안경명령어를 활용해 만들 수 있는 표현은 이동, 변화, 회전 등이다. 이동은 왼쪽 동그라미의 그림이 오른쪽 동그라미의 그림의 위치로 나아가게 만드는 것을 의미한다. 변화는 안경 좌우에 다른 그림을 넣어, 왼쪽 원의 그림이 오른쪽 원의 그림으로 바뀌도록 만드는 것이다. 변화를 통해 객체 생성하기, 객체 사라지게 하기, 객체 변화하기를 만들어낼 수 있다. 회전은 회전 버튼을 눌러 객체를 시계 혹은 반시계 방향으로 회전시키는 것이다.
Figure 1.
Figure 1.
Object creation screen.
kjcs-41-3-37f1.jpg
Figure 2.
Figure 2.
Glasses command screen.
kjcs-41-3-37f2.jpg

자료수집

본 연구에서는 Han과 Choi (2019)의 연구에서 수집한 전사 자료를 토대로 재분석하였다. 프로그래밍언어를 활용한 소프트웨어교육은, 2018년 4월 18일부터 6월 29일까지 12주 동안 총 20회 방과후과정의 자유선택활동시간을 통해 실시하였다. 연구수행과정에서, 참여관찰, 연구일지, 연구자 협의기록 등의 자료를 수집하였다.
한 회당 유아 4명씩 소집단을 구성하여 따로 마련된 도서관에서 연구가 이루어졌다. 연구자가 4명의 유아와 활동을 하는 동안 나머지 유아들은 교실에서 방과후과정 교사와 자유선택활동을 하였고, 각 소집단별로 총 25분이 소요되었다. 본 연구에서 실시한 활동은 연구자가 명령어로 만들 수 있는 다양한 표현을 보여주고 표현하는 방법을 생각해보는 시간과 유아가 태블릿 PC 로 자유롭게 프로그램 작품을 만드는 시간으로 구성되었다.
유아의 상호작용 내용을 수집하기 위해 녹음하였고, 프로그래밍 과정에서 유아의 사고과정을 알아보기 위해 태블릿 PC 화면을 녹화하였다. 수집한 즉시 전사를 진행하였으며, 전사분량은 총 A4 273장이었다. 연구일지에는 활동의 진행 과정, 의문점, 의미 있는 발견과 활동에 대한 평가, 연구자의 경험과 고민 등을 기록하였다. 연구일지의 분량은 A4 58장이었다. 연구자 협의는 연구 수행의 전 과정에서 실시하였다. 연구과정에서 의문점이 생기거나 다른 연구자들과의 협의가 필요할 때마다, 제 2저자와 같은 주제에 대해 연구하는 연구자 2인과의 면담을 수행하였다.

자료분석 및 해석

본 연구에서 수집한 자료들을 반복적으로 읽으면서 프로그래밍언어를 활용한 소프트웨어교육에서 나타난 유아의 메타인지 양상에 대해 분석하였다. 자료를 주의 깊게 읽으며 자료 범주화, 범주 분석과 의미 해석(Y. Lee & Kim, 1998)의 단계에 따라 자료를 분석하였다.
자료 분석의 신뢰도와 타당도를 확보하기 위해 삼각검증을 통해 음성 녹음과 동영상 녹화 자료, 면담 자료 등 다양한 자료들을 다각적인 방법으로 해석하였다. 또 연구의 전 과정에서 제2저자와 교육 전 과정을 공유함으로써 타당도를 높이고자 노력하였고, 의문사항이 생기거나 협의가 필요할 때 동일 주제 연구자 2인과의 지속적인 면담을 수행하였다.

Results

자기 생각 알아가기

메타인지는 자신의 생각에 대해 판단하는 능력(Koo, 2019)과 관계된다. ‘내가 생각한 답이 맞는지’, ‘이 언어를 배우기가 내게 어려울지’ 등 내면을 관찰할 수 있는 능력이 있어야, 자신의 인지를 아는 메타인지가 발달할 수 있는 것이다. 그렇기에 메타인지는 어느 정도 자기 자신을 아는 능력이기도 하다. 사람들이 언어를 통해 자신의 생각이나 느낌을 표현하듯이 프로그래밍언어는 인간이 상상하는 것을 표현할 수 있게 만드는 또 다른 도구이다. 프로그래밍언어를 통해 완성한 프로그램은 작품이라고 할 수 있다. 유아들은 작품을 완성하는 과정에서 객체 생성, 실행화면에 객체 배치, 명령어 생성 등을 자신의 의도에 맞게 결정하게 된다.
프로그래밍 작업을 위해서는 자신이 무엇을 표현하고 싶은지, 어떻게 표현할 것인지에 대한 생각이 우선되어야 한다. 제일 먼저 작품의 등장인물에 해당하는 객체를 무엇으로 할지 결정해야 한다. 몇몇 유아들은 객체를 생성하고 실행화면에 객체를 놓을 때 특히 많이 고민하였다. 또한 자신이 원하는 객체가 만들어질 때까지 펜의 두께, 투명도 등을 조절하거나, 지우고 다시 그리기를 반복하는 경우도 많았다. 이러한 과정을 거쳐 자신에게 만족스러운 표현, 자신이 원하는 표현이 무엇인지를 알아갈 수 있었다.
  • 준영: 선생님 나 물고기 한 마리 그릴래요.

  • 교사: 마음대로 그려도 돼.

    (준영이가 노란색 실행화면을 선택하고 분홍색 펜을 선택한다.)
  • 준영: 나 문어.

    (분홍색 펜으로 동그라미를 그리다가, 저장 버튼 을 눌러 실행화면으로 나간다. 다시 객체 생성 버튼을 눌러 분홍색 펜으로 동그라미를 색칠한다. 동그라미에서 문어 다리처럼 여러 개 선을 그린다. 지우기 버튼을 눌러 다리를 지운다. 동그라미 아래에 네모를 그리고 색칠한다. 네모에서 문어 다리처럼 선을 여러 개 그리고 저장 버튼을 누른다.)(안경 명령어를 놓고, 1번에 문어를 놓은 후 2번에 문어를 오른쪽으로 놓는다. 실행화면에도 문어를 놓는다.)
  • 준영: (문어가 움직이는 모습을 보며) 우와 이거. 문어 간다. 문어.

  • <중략>

  • 준영: (객체 생성 버튼을 누르고 파란색 펜을 선택하며)바다.

  • 교사: 바다가 넘실넘실되는 것도 표현해볼까?

  • 준영: 네.

    (준영이가 파란색 펜으로 파도처럼 그리다가 지우고, 파란색으로 큰 원을 가득 색칠하여 바다를 그린다.)
    (관찰일지, 2018. 06. 11)
준영이는 제일 먼저 실행화면의 색을 선택하고, 문어라는 객체를 만들었다. 준영이는 문어가 움직이는 모습을 살펴보다가 파도를 오른쪽으로 움직이게 하고, 실행화면에 파도 그림을 문어가 보이지 않을 정도로 여러 개 놓아 ‘엄청 깊은 바다 속’(관찰일지, 2018. 06. 11)을 표현하였다. 또 바다 속에 사는 상어도 그리고 왼쪽으로 움직이게 해보는 표현을 추가하여, 결과적으로 바다 속에 사는 동물들의 움직임을 만들어내었다. 준영이가 처음부터 바다 속에 사는 동물들의 움직임을 계획했던 것은 아니었다. 객체를 하나씩 추가하고, 명령어로 움직임을 표현하면서 준영이의 생각은 확장되었다. 또한 교사의 제안에 의해서도 표현이 확장되었는데, 준영이는 넘실되는 파도를 그리다가 자신의 마음에 들지 않았는지 바다를 그려 표현하였다. 이때 교사의 제안을 수용할지, 거절할지, 변형하여 수용할지는 준영이가 결정하였다. 준영이는 자신이 만족할 때까지 객체를 여러 번 수정하였고, 객체를 어느 방향으로 움직이게 할지 놓아보면서 신중하게 결정하였으며, 객체가 움직이는 모습을 오랫동안 살펴본 후에 다른 객체에 대한 아이디어를 떠올렸다.
준영이가 표현을 확장하는 것은 자신의 인지 및 사고 과정에 대해 인지하는 메타인지(Gordon & Braun, 1985)를 했기 때문이다. 이는 특정 대상을 떠올린 내적인 인식과 외적인 표현물을 의미하는 표상(J. Lee, 1998)과는 다르다. 표상은 각각의 객체에 대한 지식을 떠올려 모양과 움직임을 표현하는 것이지만, 메타인지는 나는 무엇을 원하는지, 원하는 대로 어떻게 표현할 것인지에 대한 결정을 바탕으로 객체와 움직임을 계속적으로 추가하며 자신의 사고과정을 알아가는 것과 관련이 된다.
무엇을 표현할지 결정한 후에는 어떻게 표현해야 할지에 대해 결정해야 한다. 프로그래밍 활동에서는 어떻게 표현해야 할지 구체적으로 정해야 하는데, 똑같은 장면이라도 명령어로 구현해내는 방법은 다양하기 때문이다. 예를 들어서, 사과 먹는 모습을 사과를 먹어 없어지게 할 수도 있고, 사과 한 개, 사과 반 개 등의 단계를 거쳐 완전히 사라지게 만들 수도 있고, 어린이 입에 사과가 들어가면 사라지게 할 수도 있다. 어떻게 해야 자신의 생각을 가장 잘 표현할 수 있을지에 대해 고민하면서, 자신의 생각을 들여다볼 수 있다. 그런데 자신의 주제를 어떻게 표현할지 구체적으로 생각하지 않는 경우도 종종 있었다.
선아가 명령어를 사용해서 ‘사고가 나는 모습’을 어떻게 표현해야 하는지 나에게 물어보았다. 나는 사고가 나는 모습을 어떻게 안경 명령어로 표현해야 하는지 난감하였다. 두 대의 차가 이동하면서 부딪히는 모습을 표현해야 하는지, 부딪힌 이후를 표현해야 하는지 선택하기 어려웠기 때문이다. 이때 나 혼자서 결정하기보다, 선아의 의견을 더 구체적으로 물어보았다면 좋았을 것 같다. 단순히 ‘사고 나는 모습’이 아니라, 움직이다가 부딪혀서 사고가 나는 모습인지, 부딪혀서 연기가 나는 모습인지를 구체적으로 물어보면 좋았을 뻔 했다.
(연구자 저널, 2018. 06. 04)
선아는 평소에 적절한 단어를 사용하여 자신의 생각이나 주장을 적극적으로 말하는 유아이다. 그러나 선아는 처음에 교사에게 어떻게 표현해야 하는지 물어볼 뿐, 구체적으로 어떻게 표현하고 싶은지 이야기하지 않았다. 이후 교사가 “음… 그러면… 이거 어때?”(관찰일지, 2018. 06. 04)라며 자동차들이 부딪혔을 때 빨간색으로 번쩍이는 그림이 나타나게 예시를 보여주자, 선아는 자동차를 부딪히며 “사고가 났다.”(관찰일지, 2018. 06. 04)라고 말하였다. 선아는, 초반에는, 원하는 표현을 어떻게 만들어내야 할지에 대해 정교한 생각을 하지 못했다.
자동차 사고가 나는 결과는 같아도 표현방법은 다를 수 있기 때문에 명령어로 어떻게 구현할 것인지에 대해 생각해야 한다. 프로그래밍 과정은 생각을 명령어의 문법 규칙에 따라 표현하는 것이기 때문에, 머릿속에 두루뭉술하게 떠다니는 생각들을 정교화, 구체화시켜야, 명령어로 구현할 수 있다. 이 과정에서 유아들은 ‘나는 어떤 장면을 표현하고 싶은 걸까?’, ‘나는 그 장면을 어떻게 표현하고 싶은 걸까?’ 등에 관한 자신의 생각을 알게 되고, 그 결과 정말로 자신이 원하는 작품을 만들어낼 수 있는 것이다.
그러한 생각을 바탕으로 유아들은 주체적으로 자신의 활동 수준을 선택한다. 프로그래밍 활동에서는 유아들이 무엇을 표현하고 싶은지 스스로 결정하는데, 자신의 능력으로는 표현하기 어려운 높은 수준의 과제를 설정하는 경우도 많다. 높은 수준의 과제를 해결하는 과정에서 인지적 갈등을 겪게 되고 다양한 시행착오를 통해서 스스로 문제를 해결하는 경우도 있다. 교사가 유아의 수준에 맞는 과제를 제시하려고 노력하곤 했으나, 유아들은 도전적인 과제를 만들고 스스로 그 과제를 해결해갔다.
민준이는 경찰차의 경광등 빨간불과 파란불이 번갈아가면서 켜지면서 앞으로 움직이는 모습을 표현하고 싶었다. 활동하기 전에, 교사는 경찰차의 경광등이 반짝거리면서 차 사고가 난 지점까지 움직이는 문제 상황을 제시하였고 어떻게 움직이면 좋을지에 대해 이야기 나누었다. 민준이는 교사가 제시한 경찰차 배경으로 표현하겠다고 하였다.
민준이는 교사가 제시한 그림에서 시작한다. 첫 번째 안경명령어의 1번에는 파란색만 켜져 있는 경찰차를, 2번에는 빨간색 불만 켜져 있는 경찰차를 놓는다. 두 번째 안경명령어의 1번에는 빨간색 불만 켜져 있는 경찰차를, 2번에는 파란색 경찰차를 놓는다. 실행화면 속 파란색 불만 켜진 경찰차는 빨간색 불만 켜진 경찰차로 변하고, 또 다시 파란색 불만 켜진 경찰차로 변하여, 빨간색 불과 파란색 불이 번갈아가면서 켜진 것처럼 표현된다. 세 번째 안경명령어의 1번에는 빨간색 경찰차를, 2번에는 파란색 경찰차를 좀 더 오른쪽으로 놓는다. 네 번째 안경명령어의 1번에는 파란색 경찰차를, 2번에는 빨간색 경찰차를 좀 더 오른쪽에 놓는다. 실행화면 속에 경찰차가 파란색 불과 빨간색 불이 번갈아가면서 켜지면서 한 칸씩 앞으로 가게 표현된다. 새로운 안경명령어를 꺼내 2번에 파란색 경찰차를, 1번에는 빨간색 경찰차를 놓는다. 2번의 경찰차를 좀 더 오른쪽으로, 1번의 경찰차를 좀 더 왼쪽으로 옮긴다. 그러고는 실행화면을 보며 움직이는 모습을 관찰한다.
(관찰일지, 2018. 06. 04)
민준이가 성공한 과제는 단순한 움직임 표현보다 어려운 수준의 과제였다. 빨간색 불만 들어온 경찰차와 파란색 불만 들어온 경찰차가 번갈아가면서 변화해야하고 동시에 움직여야하기 때문이다. 그 과제는 유아의 수준보다 어려웠기 때문에, 유아들이 어떻게 해결하면 좋을지에 대해 아이디어를 떠올리지 못했다. 그러나 민준이는 이 과제를 선택하고 스스로 해결할 수 나갔다. 움직임과 모양변화 표현이 성공적으로 수행되는지 확인하면서, 자신이 명령어로 두 가지 표현을 만들 수 있는 능력이 있다는 것을 알게 되었다. 이후에 민준이는 교사에게 “왜 근데 계속 앞으로 가요? 여기(사고가 난 차량)까지만 가게는 못 해요? 경찰차가?”, “아니, 이게 여기(사고가 난 차량)까지만 가고, 또 여기에서 나오게 하고 싶다고요.”(관찰일지, 2018. 06. 04) 등과 같이 더 어려운 수준의 과제를 설정하고 그 과제를 어떻게 표현하면 좋을지 궁금해 하였다. 지금까지의 표현에서 더 나아가, 사고가 난 차량까지 경찰차가 경광등이 반짝거리면서 움직이고, 멈추었다가, 다시 앞으로 이동하는 표현까지 만들어내고 싶었던 것이다.
새로운 과제를 만들어내기 위해서는 호기심이 필요한데, 호기심은 자신이 무엇을 모르는지를 아는 데서 출발하는 지적 궁금증이다. 호기심을 불러일으키는 자극 조건은 자극의 특성 그 자체가 아니라, 전적으로 개인이 인지하는 지식에 달려 있다(Litman, 2009; Loewenstein, 1994). 즉, 호기심은 인지 주체가 알 듯 말 듯 한지(tip-of-the-tongue) 또는 완전히 모르는지(don’ t know)에 대한 판단에 기초하여 발현되는 것이기 때문에 호기심은 메타인지와 관련되어 있는 것이라고 볼 수 있다. 민준이는 여러 시도를 하면서 자연스럽게 자신이 무엇을 알고, 모르는지 알게 되었다. 민준이는 자신이 모르고 있는 부분에 대해 호기심을 갖게 되어 새로운 과제를 만들어내었다. 즉, 자신의 무지를 알고 있어야 호기심을 발휘할 수 있다는 점에서 메타인지는 호기심과 병행하는 능력이다. 민준이가 어려운 수준의 과제를 시도한 것과 과제를 해결하기 위해 호기심을 갖는 것은 자신이 해결할 수 있는 능력이 있는지에 대해 알고 있는 메타인지를 발휘했기 때문이다.
그러나 유아들이 민준이의 사례처럼 항상 새로운 과제를 만들어내는 것은 아니었다. 유아들은 움직임이나 객체 돌리기 등 단순한 표현을 계속해서 반복하기도 하였다. 아래의 사례처럼 유아들은 새로운 기능에 대한 관심이 없었고, 자신이 할 수 있는 표현만을 반복하였다. 이는 자신의 수준을 파악하여 자신에게 적절한 난이도의 과제를 선택하기 때문이다.
(민서가 안경 명령어를 꺼낸다. 2번에 텔레비전을 놓는다.
1번에도 2번의 위치와 똑같이 텔레비전을 놓는다. 실행화면에 텔레비전을 놓자, 텔레비전이 움직이지 않는다. 민서가 오랫동안 실행화면을 살핀다.)
  • 민서: (2번의 텔레비전을 위에 놓으며) 위에. 선생님 이거 봐요.

  • 교사: 텔레비전도 움직이네.

  • 민서: (2번의 텔레비전을 오른쪽으로 많이 이동시키며) 이렇게. 오 선생님 이렇게.

    (2번의 텔레비전을 왼쪽으로 이동시켜 1번과 똑같은 위치에 놓는다. 그러자 텔레비전이 움직이지 않는다.)
  • 교사: 렇게

    (관찰일지, 2018. 06. 27)
Figure 3.
Figure 3.
Min-seo's repetitive expression screen.
kjcs-41-3-37f3.jpg
교사는 바다 속 배경을 통해 명령어를 활용하여 객체가 생성되거나, 누르기 버튼을 이해할 수 있기를 원하였다. 교사의 의도와는 다르게 민서는 여전히 텔레비전 객체를 만들어 움직임을 표현하였다. 이후에도 민서는 다른 객체를 그려 명령어를 조작하며 어떻게 움직임이 변화되는지 확인하는 과정을 반복하였다. 교사가 아무리 교육적인 의도를 가지고 활동을 제시해도, 유아들은 각자의 수준에서 할 수 있는 정도를 찾아내어 스스로 과제를 만들어내었다. 즉 프로그래밍 활동에서 흥미로운 과제는 유아가 자신이 정말로 무엇을 원하는지, 자신은 무엇을 좋아하는지, 자신이 해결할 수 있는 능력이 있는지 등에 대한 판단을 바탕으로 스스로 결정하였다.

자기 생각 점검하기

컴퓨터는 프로그램을 작성해서 실행하면 입력한 것만큼 작동한다. 컴퓨터는 단순히 응용 프로그램을 관리하고 다른 장치 들을 동기화하는 도구가 아니라, 사용자의 창의성에 따라 달라지는 생각의 도구, 아이디어를 표현하는 매개체로서의 역할을 할 수 있는 것이다(Krauss & Prottsman, 2016/2017). 사람들이 생활하면서 서로의 생각과 의사를 주고받기 위해 사용되는 도구가 ‘말(언어)’이듯이 컴퓨터와의 대화를 위해 만들어진 언어가 프로그래밍언어이다(J.-Y. Park, 2007). 따라서 글을 쓰고 말할 때 기본적인 언어 문법 규칙을 알아야 하는 것처럼 프로그래밍언어를 통해 자신의 생각을 표현하기 위해서는 프로그래밍언어의 문법적 규칙들이나 조건을 알아야 한다. 유아가 자신의 의도를 컴퓨터에게 전달하기 위해서는, 컴퓨터가 이해할 수 있는 방법에 대해 알아야 하는 것이다.
유아들은 교사로부터 안경명령어에 대한 기본적인 지식을 배운 후, 직접 프로그래밍 작업을 하면서 자신의 명령어 이해 정도를 점검하였다. 이처럼 막연히 안경 명령어를 알 것 같다는 느낌이 아니라, 어느 정도 알고 있는지를 파악하는 것은 메타인지라고 볼 수 있다. 메타인지는 자신이 알고 있는 것과 모르는 것이 무엇인지를 아는 개념으로, 현재의 지적인 활동 과정 및 지식을 포함한 인지에 관한 학습자의 개인적인 지식을 의미하기 때문이다. 유아들이 자신의 지식이나 생각을 점검하는 간단한 방법은 ‘질문하기’이다(Gavelek & Raphael, 1985). 유아들은 명령어를 직접 실행하고 결과물을 즉각적으로 관찰하며, “어떻게 하는 거지?”(관찰일지, 2018. 04. 20), “아 이거 아니지?”(관찰일지, 2018. 04. 27), “뭐였더라?”(관찰일지, 2018. 05. 18) 등과 같은 질문을 만들어 내었다.
  • 영석: (그린 객체를 실행화면에 놓는다.) 이거 어때? 잠깐. 내 거부터 한다.

    (영석이가 안경명령어를 회색 창에 가지고 온다. 실행화면에 있던 객체를 안경명령어 2번에 놓고, 1번에도 객체를 꺼내 놓는다.)
  • 영석: 그리고 어떻게 해야 하지? 아, 이렇게 해야 하잖아.(객체를 꺼내 실행화면에 놓는다.)

    (관찰일지, 2018. 04. 20)
영석이는 프로그래밍언어에서의 문법적 규칙에 따라 객체를 먼저 그리고, 안경명령어를 사용하여 객체를 움직여보려고 한다. 그러나 처음에 실행화면에 놓여있던 객체를 안경명령어에 놓으면서, 실행화면에는 객체가 없어졌다. 실행화면에 객체가 없으면, 영석이의 생각대로 안경명령어를 조작하여 객체가 맞게 움직이는지 살펴볼 수가 없게 된다. 영석이는 “어떻게 해야 하지?”라고 스스로 질문하고, 몇 초 후에 실행화면에 객체가 없 어서 움직이지 않는다는 것을 발견하고 “이렇게 해야 하잖아.”라며 문제를 스스로 해결한다. 메타인지에 해당하는 비고츠키의 자기조정 기능은 자기중심적 언어에서부터 시작되는데(M.-J. Lee, Lee, & Choi, 2014), 아직 내적 언어로 내면화하지 못한 유아들은 영석이의 사례처럼 혼잣말을 통해 머릿속에 일어나는 정신작용을 나타내기도 한다. 유아가 질문을 만들기 위해서는 자신이 무엇을 모르는 지에 대해 충분히 알아야 한다(Miyake & Norman, 1979). 영석이는 실제로 시도하면서 자신이 무엇을 정확하게 알지 못하는지 알았고, 이에 대해 질문을 만들어낸 것이다. 이처럼 프로그래밍 활동에서 질문은 메타인지 능력을 신장시켜줄 수 있다는 점에서 특별한 의미를 가지고 있다. 내가 무엇을 모르는지 알아야 질문을 할 수 있기 때문이다.
그러나 프로그래밍 활동에서는 질문을 던지는 것 자체가 중요한 것이 아니라, 그 질문에 대한 해답을 찾아가는 과정이 더 중요하다. 프로그래밍 활동에서는 그 질문에 대한 해답을 즉각적으로 확인할 수 있다. 프로그래밍언어에서는 유아가 안경명령어를 통해 어떠한 조작을 하면 실행화면에 그 결과를 곧바로 보여주기 때문에, 유아와 컴퓨터가 상호작용한다고 볼 수 있다. 이러한 프로그래밍언어의 특성은 유아들이 자신의 질문에 대한 답변이 맞는지 보다 객관적으로, 즉각적으로 확인할 수 있게 만든다. 유아들은 안경명령어에 대한 이해를 바탕으로 예측하고, 결과를 즉각적으로 확인하는 과정을 통해 자신이 이해한 바가 맞는지 점검하는 과정을 거쳤다. 알고 있다고 생각한 개념도, 실제 명령어로 표현을 해보면 부족한 부분을 발견하게 되고, 어느 부분을 알지 못하는지를 파악할 수 있다.
(새로운 안경명령어를 꺼내, 2번에 버스를 놓는다. 1번에는 사람을 놓는다. 첫 번째 안경명령어 2번에 어쩌다 길의 회색 블록이 놓여진다. 비행기가 날아가면서 회색 블록이 생긴다. 돌리기 버튼을 눌러 2번의 비행기를 돌린다. 2번의 회색 블록을 정리한다.)
  • 지훈: 나 빙글빙글 안 하고 싶은데…

    아니 앞으로 하고 싶은데.
  • 교사: 먼저 정리해야 할 것 같아.

    (지훈이가 2번의 비행기를 아래로 놓는다.)
  • 교사: 그렇게 하면 앞으로 갈까?지훈: 아니 앞으로…

    (관찰일지, 2018. 05. 18)
지훈이는 자신의 생각대로 표현을 만들어내는 과정에서 몇 번의 시행착오를 겪었다. 위의 사례 이전에 지훈이는 비행기가 뒤(왼쪽)로 움직이는 명령어를 만들었다. 비행기가 오른쪽으로 움직일 것이라는 예측을 하며 명령어를 조작했으나, 아래로 내려가는 결과가 나타났다. 지훈이가 시도한 일련의 프로그래밍은, 어떠한 표현을 만들기 위해 명령어를 조작하는 행동이 원하는 대로 표현될 것이라는 예측에 근거한 것이라고 볼 수 있다. 이후에도 지훈이는 “잠깐만요. 내가 할 수 있을 것 같아요.”(관찰일지, 2018. 05. 18)라면서 오른쪽으로 버스를 가게 만들기 위해 명령어를 조작한다. 컴퓨터는 유아의 조작에 따른 결과물을 그대로 실행화면에 보여주기 때문에 유아는 프로그래밍 작업에서 보다 객관적으로 명령어에 대한 이해 정도를 점검해볼 수 있는 것이다.
프로그래밍 활동 과정에서는 또래의 질문에 대한 해결책 탐색도 용이하다. 질문에 답변하기 위해서는 질문과 관련된 배경지식을 인식해야만 하기 때문이다(Gavelek & Raphael, 1985). 타인인 또래의 질문에 답변하고, 배경지식을 설명하기 위해서는 자신의 인지에 대해 정확히 파악해야 한다.
  • 승준: 선생님 자꾸 안 돌아가요. 이거 했는데.

  • 교사: 민준아, 너 돌아가게 할 수 있어?

  • 민준: 네.

  • 교사: 승준이 좀 도와줘.

  • 민준: 아니, 안경을 놓고 해야지.

  • 승준: 아참.

  • 교사: 그냥 움직이기만 하네. 빙글빙글 돌아가게 해줘.

    (민준이가 돌리기 버튼을 눌러 돌아가게 한다.)
  • 승준: 자꾸 까먹는다.

    (관찰일지, 2018. 05. 11)
승준이는 팽이가 돌아가는 표현을 만들지 못하여, 교사에게 질문하고 있다. 교사는 승준이의 질문을 민준이에게 전해주고, 민준이는 승준이의 질문에 답변하기 위해 자신의 인지수준을 파악해보게 된다. 민준이는 승준이가 작업한 과정을 살펴보며, 승준이가 어떤 생각을 가졌는지 파악할 수 있다. 프로그래밍언어는 작업한 과정이 그대로 보여주기 때문이다. 이 과정에서 타인의 인지 과정을 방문하며, 메타인지를 활성화할 수 있다.
민준이는, 프로그래밍에서는 자신이 의도한 바를 전달하기 위해 명령어를 사용해야 한다는 것과 명령어에 대한 이해를 바탕으로 돌아가는 움직임을 표현할 수 있다는 것에 대해 자신이 알고 있는 바를 승준이에게 설명하고 있다. 민준이의 답변이 승준이의 질문을 해결하는데 적절했을 수도, 그렇지 않 을 수도 있다. 민준이의 설명처럼 명령어를 놓아보면 결과를 즉각적으로 확인할 수 있기 때문에 민준이의 ‘잠정적인 답’이 적절한지에 대해서 곧바로 점검할 수 있다.
안경명령어는 유아의 인지수준을 파악할 수 있게 하는 수단일 뿐 아니라, 인지과정을 살펴볼 수 있게 해주는 도구이기도 하다. 자신의 머릿속에서 어떠한 인지적인 작업이 일어나는지 떠올리는 것은 추상적이며 쉽지 않다. 프로그래밍에서는, 자신의 생각을 정해진 문법 규칙에 맞게 코드로 작성해야 하기 때문에, 생각의 과정이 명령어를 통해 나타나게 된다. 명령어는 생각의 흔적을 시각적으로 보여주기 때문에 생각을 명령어로 표현하는 과정에서 오류가 생긴다면 어느 부분에서 잘못 생각을 했는지 점검할 수 있다.
민준이는, 교사가 네모와 세모 블록으로 유치원을 구성한 것과 똑같은 방식으로 실행화면을 구성한다. 실행화면을 살피다가, 명령어가 보이게 아래로 내린다. 네모 블록 때문에 두 번째 안경명령어의 2번 버스가 아래로 내려가 있다. 1번 버스를 위에 놓아 2번 버스와 똑같은 높이로 놓는다. 버스가 뒤(왼쪽)로 이동하자, 1번 버스를 왼쪽으로 움직여 2번과 똑같은 위치에 놓는다. 1번 버스를 왼쪽으로 더 움직여 버스가 오른쪽으로 움직이게 만든다. 손가락 버튼을 첫 번째 안경명령어의 1번에 손가락 버튼을 놓는다.
(관찰일지, 2018. 05. 18)
민준이는 앞으로 움직이다가 누르면 멈추게 하는 표현을 만들고 싶어 하였다. 그러나 유아의 의도와는 다르게 버스가 자꾸 아래로 내려가고, 뒤로 움직이는 오류가 나타났다. 민준이는 실행화면에서 오류가 생겼다는 것을 확인하고 명령어가 보이는 화면으로 내려 명령어를 살펴본다. 스스로 ‘무엇이 틀렸지?’, ‘왜 잘못된 거지?’와 같은 질문을 하고 있는 것이다. 생각의 과정이 나타난 명령어를 보며 스스로에게 하는 질문에 답변을 하기 위해 또 다른 차원의 메타인지가 나타난 것이다.

다양하게 표현하기

프로그래밍언어로 작품을 만드는 과정에서, 유아는 다양한 경험을 통합할 수 있다. 유아들은 이전에 경험한 것과 이미 알고 있는 개념과 지식을 프로그래밍에 적용했다. 프로그래밍을 통해 일상생활의 경험이나 지식을 표현하는 것은 서로 다른 영역을 연결시키는 작업이다. 다른 요소들을 연결시키기 위해서는 ‘상 자 안에서’ 생각하는 분과적이고 비통합적인 사고방식의 한계에서 벗어나, ‘상자 밖에서’ 생각해야 한다(Douglas, 2006). 그 ‘상자 밖에서’ 생각하는 방식은 메타인지 능력이라고 할 수 있다.
메타인지는 인지를 인지의 대상으로 여기는 것이다. 자신의 인지를 인지의 대상으로 여기기 위해서는 자신의 인지 과정에 대하여 한 차원 높은 시각에서 관찰, 발견, 통제하는 정신 작용(National Institute of Korean Language [NIKL], 2020)이 필요하다. 한 차원 높은 시각에서 자신의 인지과정을 살펴보고 성찰하기 위해서는 인지적 ‘거리두기’가 필요하다(Koo, 2019). 인지적 거리두기는 영역 내부에서 보는 것이 아니라, 영역 외부에서 인지과정과 특성을 바라보는 객관적 인식이다. 즉 메타인지에는 자신의 인지를 주관적으로 바라보는 것이 아닌, 객관적으로 바라보는 능력과 관계된다.
  • 병찬: 연수야 뭐 보내줄까?

  • 교사: 연수야 뭐 받고 싶어?

  • 연수: 마음대로.

  • 병찬: (빨간색으로 무언가를 그리고, 그 위에 분홍색으로 동그라미를 색칠한다.) 분홍색 줄게.

    <중략>
  • 병찬: (회색 창에 안경명령어를 놓고 1번에 분홍색 그림을 놓으며) 황연수도 보낼 거니까. 위로 해야 돼.

    (2번에 분홍색 그림을 위쪽에 놓는다. 실행화면에 그림을 놓자 위로 올라간다.)
  • 교사: 연수야 이거 봐봐. 병찬이가 너한테 이거 준대. 네가 좋아하는 분홍색.

    (관찰일지, 2018. 06. 20)
Figure 4.
Figure 4.
Sending presents screen.
kjcs-41-3-37f4.jpg
교사를 포함하여 5명이 동그랗게 앉아있는 상황이었다. 병찬이의 앞에는 연수가, 병찬이의 양 옆에는 유아 2명이, 그리고 병찬이의 오른쪽 대각선에는 교사가 앉아 있었다. 병찬이 는 연수가 좋아할만한 선물을 그리고 전달하기를 원하였다. 그림을 그린 뒤 그림이 있는 태블릿 PC를 연수에게 전달할 수도 있었지만, 병찬이는 명령어를 통해 전달하였다. 연수는 병찬이의 앞에 앉아있었기 때문에, 병찬이는 안경명령어로 선물이 위쪽으로 움직이게 만들었다. 선물이 위쪽으로 움직이는 모습은 마치 병찬이의 앞쪽에 앉아있는 연수에게 전달되는 것 같은 표현이었다. 이후에 병찬이는 선물을 왼쪽, 오른쪽 등으로 움직이게 만들어 주변에 있는 또래와 교사에게 전달되는 것 같은 모습을 만들었다.
병찬이는 이전부터 명령어로 움직임을 만들어내는 활동을 반복하였다. 안경명령어를 활용하여 상하좌우로 움직임을 만들어내는 경험을 통해 병찬이는 안경명령어에 대한 기본적인 지식을 갖게 되었다. 또한 병찬이는 자신을 중심으로 또래와 교사의 공간적인 위치를 파악하고 있었다. 예를 들어, 연수는 병찬이의 앞에, 교사는 병찬이의 오른쪽 대각선에 있음을 인식하고 있는 것이다. 명령어의 기본적인 원리와 공간적인 위치를 연결시켜 병찬이는 프로그래밍언어로 할 수 있는 새로운 표현방식을 만들어내었다. 병찬이의 머릿속에 이미 갖고 있는 지식과 다른 지식이 독창적으로 연합된 것이다. 병찬이의 내부에서 두 영역을 결합하기 위해서는 한 영역 내에서 사고해서는 안 되고, 영역을 넘어서는 인지적 거리두기를 해야 한다. 인지적 거리두기가 이루어졌기 때문에 병찬이는 스스로의 지식을 이해하고 다루는 메타인지 능력이 작용되었다고 볼 수 있다.
  • 교사: 이 사람이 방방 위에서 뛰고 싶다는 거야?

  • 새봄: 네.

  • 교사: 그럼 사람을 방방 위에 올려놓아야겠다.

    (새봄이가 실행화면에 방방을 놓고, 그 위에 사람을 놓는다.)
  • 교사: 새봄아 잘 생각해봐.

    방방이에서 사람이 뛰면 어떻게 움직여?
  • 새봄: 음… 방방… 뛰면 방 이렇게 위로 올라가요.

  • 교사: 그럼 방방 위에서 사람이 올라가게 표현해볼까?

    (새봄이가 안경명령어 1번에 사람을 놓고, 2번에는 사람을 위로 놓는다.)
  • 교사: 됐어?

  • 새봄: 아니 방방이… 이거… 사람이 어디 가는데요?

  • 교사: 사람이 계속 하늘 위로 올라간다. 그치?

  • 교사: 방방 다시 하려면 이 사람이 어떻게 해야 할까?

    (새봄이가 2번에 있던 사람을 아래쪽으로 놓으려고 하다가 정리한다.)
    (관찰일지, 2018. 06. 11)
새봄이는 일상생활에서 방방에서 뛰었던 경험을 표현하고 싶어 한다. 새봄이는 이미 안경명령어로 움직임을 표현할 수 있다는 것을 알고 있었고, 안경명령어의 지식과 방방에서 놀았던 경험을 연결시키고자 하였다. 즉, 프로그래밍언어의 기술적인 지식과 일상생활에서 경험한 움직임을 통합한 것이다. 한 분야에 빠져 있으면 거리두기가 어렵기 때문에 인지적 거리두기를 통해 서로 다른 분야를 연결시키는 메타인지 능력을 발휘하여 창의적인 표현을 만들어낼 수 있었다.
민준이가 새로운 안경명령어를 꺼내고 1번 왼쪽에는 사람을, 오른쪽에는 먹은 사과를 놓는다. 2번 왼쪽에는 사람을, 오른쪽에는 동그란 사과를 놓는다. 누르기 버튼을 명령어 1번에 있는 사람 위에 놓는다. 첫 번째 안경명령어의 1번에도 누르기 버튼을 놓으려고 한다. 큰 화면으로 사람을 눌러서 사과를 먹게 하고, 또 다시 눌러 사과가 다시 동그란 사과로 되는 모습을 본다.
(관찰일지, 2018. 05. 11)
앞서 교사는 모든 유아들에게 사람이 사과 먹는 모습을 표현하자고 제안하였다. 민준이는 사람이 사과 먹는 모습에서 먹었던 사과가 다시 동그란 사과로 변하는 모습까지 추가적으로 표현하고 있다. 민준이가 프로그래밍 영역에서 사용한 지식은 안경명령어를 통해 변화를 표현할 수 있다는 것과 누르기 버튼을 사용해 객체를 눌러야 모양이 변화된다는 것이었다. 민준이는 이러한 지식을 일상에서 경험했던 사과 먹는 모습을 적절히 연결시켰다.
같은 주제로 다른 유아들은 자신이 할 수 있는 범위 내에서 표현을 한다. 예를 들어, 안경명령어로 움직임을 표현하는 수준만 할 수 있는 유아는 사람의 입에 사과를 놓고, 안경명령어로 사람과 사과를 모두 한 방향으로 움직이게 함으로써 표현을 완성한다. 그러나 민준이는 안경명령어의 원리를 바탕으로 모양 변화하는 것까지 알고 있기 때문에 똑같은 주제를 다르게 표현해내었다. 민준이는 자신의 한계가 제약이 아니라 자유의 범위로 확장시켜서 표현해낼 수 있었던 것이다.

Discussion

본 연구에서는 프로그래밍언어를 활용한 소프트웨어교육 중에 나타난 유아의 메타인지 양상을 분석하였다. 본 연구의 결 과는, 프로그래밍언어를 활용한 소프트웨어 교육 속에서 드러나는 유아의 메타인지 능력을 확인하고, 나아가 소프트웨어교육의 교육적 가치를 탐구함으로써 프로그래밍언어 교육에 대한 이해를 높이기 위해 수행하였다. 본 연구에서 나타난 주요 연구결과를 바탕으로 논의를 전개하면 다음과 같다.
첫째, 유아는 프로그래밍언어를 활용한 소프트웨어교육에서 자기 생각을 알아갔다. 메타인지는 자신의 생각에 대해 판단하는 능력을 말하며, 자기 자신을 아는 능력이기도 하다. 프로그래밍 작업을 하는 과정에서, 유아는 자신이 무엇을 표현하고 싶은지, 어떻게 표현하고 싶은지에 대한 생각을 확장시켜나갔다. 프로그래밍에서는, 생각을 명령어의 문법 규칙에 따라 표현해야 한다. 따라서 유아들은 머릿속에 두루뭉술하게 떠다니는 생각을 더 정교화, 구체화시켜야 했다. 또한 유아들은 자신이 무엇을 알고, 모르는지에 대한 판단을 바탕으로 자신이 해결할 수 있는 수준의 과제를 스스로 만들어 수행해나갔다. 유아는 자신이 정말로 무엇을 원하는지, 무엇을 좋아하는지, 해결할 수 있는 능력이 있는지 등에 대한 판단하는 과정에서 메타인지를 활성화시킬 수 있었다.
이러한 연구결과는 리터러시로서의 프로그래밍 특성을 고찰한 연구와 리터러시와 메타인지의 관련성을 살펴본 연구와 연관이 될 수 있다. 리터러시는 읽고 쓸 줄 아는 능력을 의미하며, 생각하고 표현하는데 필요한 것들이다. 프로그래밍 작업은 새로운 방식의 읽고 쓰는 리터러시라고 할 수 있다(Bers, 2017; diSessa, 2001). 글쓰기 작품은 자신의 사고를 반영한 것이며, 글쓰기 과정에서 자신의 사고를 인식하고 조절하는 메타인지가 활성화된다(Hacker, Keener, & Kircher, 2009). 일반적인 글쓰기 과정과 마찬가지로, 프로그래밍 언어로 무언가를 창작하는 과정에서 자신의 생각을 알아가는 메타인지가 나타나는 것이다. 이는 프로그래밍 과정을 통해 메타인지가 드러난다는 연구(Papert, 1993)와도 연결된다.
둘째, 유아는 프로그래밍언어를 활용한 소프트웨어교육에서 자기 생각을 점검했다. 유아들이 자신의 지식이나 생각을 점검하는 방법은 질문하기이다. 자신이 무엇을 모르는지 알아야 질문을 할 수 있기 때문에 질문은 특별한 의미를 지니고 있다. 프로그래밍 활동에서는 그 질문에 대한 해답을 즉각적으로 확인할 수 있기 때문에, 질문 자체보다는, 그 질문에 대한 해답을 찾아가는 과정이 더 중요하다. 컴퓨터는 조작에 따른 결과물을 그대로 실행화면에 보여주기 때문에, 유아는 프로그래밍작업에서 보다 즉각적으로, 객관적으로 명령어에 대한 이해 정도를 점검해 볼 수 있다. 질문을 해결하기 위한 시도를 통해 잠정적인 답을 얻는 과정에서 메타인지를 활성화하게 되 고, 생각의 과정이 시각적인 결과물로 즉시 나타나는 과정과 시행착오를 통해 오류를 해결하는 과정을 통해 더 넓은 메타인지의 세계로 안내할 수 있다.
이는 문제해결과정에서 유아들이 메타인지를 드러냈다는 연구들(Kei, 2013; Kim & Park, 2007; H. D. Lee, 2005)을 지지하고 있다. 프로그래밍은 유아들은 자신의 생각을 표현하는 동시에 문제해결의 사고과정을 볼 수 있게 만들어주는 도구이다(C. H. Lee, 2017). 이러한 프로그래밍의 특성으로 인해 문제해결과정에서 자신의 이해 정도를 점검해보는 메타인지가 더욱 활발하게 나타날 수 있다. 문제해결과정에서 학습자의 메타인지 능력은 자신의 인지 수준을 파악하고, 자신의 문제해결 과정을 점검하게 함으로써, 나은 결과를 얻는데 중요한 역할을 한다는 것을 알 수 있다(Brown, 1980).
셋째, 프로그래밍언어를 활용한 소프트웨어교육에서, 유아는 이전의 경험, 알고 있는 개념과 지식을 다양하게 표현하였다. 일상생활의 경험이나 지식을 프로그래밍언어를 통해 표현하는 것은 서로 다른 영역을 연결시키는 작업이므로, 이를 위해서는 메타인지 능력이 필요하다. 메타인지는 한 차원 높은 시각에서 자신의 인지과정을 살펴보고 성찰하는 객관적 인식(Koo, 2019)을 의미한다. 유아들은 인지적 거리를 두는 메타인지를 통해 프로그래밍언어의 기술적인 지식과 일상생활에서 경험한 것, 지식 등을 통합하였다. 유아들은 서로 다른 분야를 연결시켜 창의적인 표현을 만들어낼 수 있었다. 이러한 연구결과는 인지구조의 통합과 재구성이 창의적 사고의 기초가 될 수 있다는 연구(Mumford & Gustafson, 1988)와 연결된다. 이는 자신의 인지 영역을 결합하며 다양한 표현을 만들어내는 메타인지 행동이 나타난다는 본 연구의 결과를 뒷받침한다고 볼 수 있다.
본 연구는 프로그래밍언어를 활용한 소프트웨어 교육의 교육적 가치를 탐색하기 위해 유아의 메타인지 행동 양상을 탐색하는 것을 목적으로 하였다. 본 연구의 결과는 다음과 같은 시사점을 지닌다. 첫째, 유아들이 프로그래밍언어를 활용한 소프트웨어교육 중에 메타인지를 나타낸다는 것을 구체적 사례를 통해 질적으로 밝혔다는 점에서 의의가 있다. 유아들은 자신의 동기, 생각, 의도, 능력을 파악하며 어떤 프로그래밍 활동을 할 것인지 선택하였고, 자신의 생각을 끊임없이 모니터링하고 그 결과에 따라 자신의 사고를 조절하였다. 또한 자신의 인지적 거리두기를 통해 일상과 프로그래밍 기술을 통합하여 다양한 표현을 만들어내었다. 이러한 결과는 유아들에게도 메타인지 능력이 존재한다는 것과 프로그래밍언어를 활용한 소프트웨어교육이 유아의 메타인지 경험과 능력을 개발할 수 있는 기 회를 제공한다는 것을 심도 있게 보여준다고 할 수 있다.
둘째, 유아를 위한 교수학습방법으로 프로그래밍언어를 활용한 소프트웨어교육의 가치를 보여주었다는 점에서 의의가 있다. 유아들이 주도하는 활동 상황에서 메타인지 행동 양상이 나타났다는 것에 의미가 있다. 자발적인 동기에 의해 선택한 활동 속에서 메타인지적인 경험을 할 수 있을 뿐 아니라, 이러한 경험이 쌓이면서 메타인지 능력을 향상시킬 수 있기 때문이다. 이러한 결과는 프로그래밍언어를 활용한 소프트웨어교육이 교사 주도적인 교육이라고 생각하거나 프로그래밍 활동을 통한 능동적 학습의 효과를 의심하는 사람들에게 프로그래밍언어를 활용한 소프트웨어교육의 교육적 가치에 대한 인식을 제고하는데 보탬이 되는 연구 결과라고 할 수 있다.
이상의 결론을 바탕으로 후속연구를 위한 제언을 하면 다음과 같다. 첫째, 프로그래밍언어 활동을 실행하며 유아의 메타인지 행동 양상을 살펴본 본 연구의 결과에 기초하여 프로그래밍언어를 활용한 소프트웨어교육이 유아의 메타인지에 미치는 영향을 검증하는 후속연구가 필요하다. 둘째, 자율성의 범위가 넓으며 주도적 학습이 가능한 프로그래밍언어를 활용한 소프트웨어교육의 특성을 최대한 발휘할 수 있는 놀이 상황에서의 연구가 이루어지기를 기대한다.

Acknowledgements

This study was supported by the 2020 research grant of Korea National University of Education.

Conflict of Interest

No potential conflict of interest relevant to this article was reported.

References

In English
Barnes, B. J., & Hill, S. (1983). Should young children work with microcomputers-Logo before Lego? The Computing Teacher, 10(9), 11-14.

Bers, M. U. (2017). Coding as a playground: Programming and computational thinking in the early childhood classroom. New York: Routledge.

Battelle for Kids. (2019). Framework for 21st century learning definitions. Retrieved February 15, 2019, from https://battelleforkids.org/networks/p21 .

Brown, A. L. (1980). Metacognitive development and reading. In R. J. Spiro, B. C. Bruce, & W. F. Brewer (Eds.), Theoretical issues in reading comprehension. (pp. 453-482). London: Routledge.
crossref
Cordes, C., Miller, E. (2000). Fool's gold: A critical look at computers in childhood. Retrieved from ERIC database. (ED445803).

Dimmitt, C., McCormick, C. B. (2012). Metacognition in Education. In K. R. Harris, S. Graham, & T. Urban (Eds.), APA edcuational psychology handbook. (pp. 157-187). Washington, DC: APA.
crossref pdf
di Sessa, A. A. (2001). Changing minds: Computers, learning, and literacy. Retrieved from ERIC database. (ED441394).

Douglas, G. (2006). Achieving sustainable development: The integrative improvement institutes project. Munich Personal RePEc Archive. Retrieved December 19, 2006, from https://mpra.ub.uni-muenchen.de/8683/ .

Efklides, A. (2006). Metacognitive experiences: The missing link in the self-regulated learning process. Educational Psychology Review, 18:287-291. 10.1007/s10648-006-9021-4.
crossref pdf
Flavell, J. H. (1976). Metacognitive aspects of problem solving. In L. B. Resnick (Ed.), The nature of intelligence. (pp. 231-236). Hillsdale, NJ: Lawrence.

Forrest-Pressley, D. L., Waller, T. G. (1984). Cognition, metacognition, and reading. New York: Springer.

Gavelek, J. R., Raphael, T. E. (1985). Metacognition, instruction, and the role of questioning activities. In D. L. Forrest-Pressley, G. E. MacKinnon, & T. Gary Waller (Eds.), Metacognition, cognition, and human performance. 2. (pp. 103-136). Cambridge, MA: Academic Press.
crossref
Gordon, J. C., Braun, C. (1985). Metacognitive processes: Reading and writing narrative discourse. In D. L. Forrest-Pressley, G. E. MacKinnon, & T. Gary Waller (Eds.), Metacognition, cognition, and human performance. 2. (pp. 1-75). Cambridge, MA: Academic Press.
crossref
Grover, S., & Pea, R. (2013). Computational thinking in K-12: A review of the state of the field. Educational Researcher, 42(1), 38-43. 10.3102/0013189X12463051.
crossref
Hacker, D. J., Keener, M. C., Kircher, J. C. (2009). Writing is applied metacognition. In D. J. Hacker, J. Dunlosky, & A. C. Graesser (Eds.), Handbook of metacognition in education. (pp. 154-172). New York: Routledge.

Hofmann, W., Friese, M., Schmeichel, B. J., Baddeley, A. D. (2011). Working memory and self-regulation. In K. D. Vohs, & R. F. Baumeister (Eds.), Handbook of self-regulation: Research, theory and applications. (pp. 204-225). New York: The Guilford Press.

Katterfeldt, E. S., Dittert, N., & Schelhowe, H. (2015). Designing digital fabrication learning environments for Bildung: Implications from ten years of physical computing workshops. International Journal of Child-Computer Interaction, 5:3-10. 10.1016/j.ijcci.2015.08.001.
crossref
Kazakoff, E., & Bers, M. (2012). Programming in a robotics context in the kindergarten classroom: The impact on sequencing skills. Journal of Educational Multimedia and Hypermedia, 21(4), 371-391.

Kei, V. W. W. (2013). Metacognition in 3-6 years old: Evidence from a kindergarten in Hong Kong. Asia-Pacific Journal of Research in Early Childhood Education, 7(1), 1-29.

Krauss, J., Prottsman, K. (2017). Code.orgleul hwal-yonghan keompyuting sagolyeoggwa kodinggyo-yug. [Code.org를 활용한 컴퓨팅 사고력과 코딩교육]. In S. Kim, C. Kim, & H. Kim (Eds.), Seoul: HanBit Academy; (Original work published 2016).

Litman, J. A. (2009). Curiosity and metacognition. In C. B. Larson (Ed.), Metacognition: New research developments. (pp. 105-116). New York: Nova Science Publishers.

Loewenstein, G. (1994). The psychology of curiosity: A review and reinterpretation. Psychological Bulletin, 116(1), 75-98. 10.1037/0033-2909.116.1.75.
crossref
Miyake, N., & Norman, D. A. (1979). To ask a question one must know enough to know what is not known. Journal of Verbal Learning and Verbal Behavior, 18(3), 357-364. 10.1016/S0022-5371(79)90200-7.
crossref
Mumford, M. D., & Gustafson, S. B. (1988). Creativity syndrome: Integration, application, and innovation. Psychological Bulletin, 103(1), 27-43. 10.1037/0033-2909.103.1.27.
crossref
OECD. (2018). The future of education and skills education 2030. Retrieved May 04, 2018, from https://www.oecd.org/ .

Papert, S. (1993). The children's machine: Rethinking school in the age of the computer. New York: Basic Books.

Paris, S. G., Winograd, P. (1990). How metacognition can promote academic learning and instruction. In B. F. Jones, & L. Idol (Eds.), Dimensions of Thinking and Cognitive Instruction. (pp. 15-51). Hilsdale, NJ: Lawrence Erlbaum.

Portelance, D. J., Strawhacker, A. L., & Bers, M. U. (2016). Constructing the Scratch Jr programming language in the early childhood classroom. International Journal of Technology and Design Education, 26:489-504. 10.1007/s10798-015-9325-0.
crossref pdf
Resnick, M. (2007). All I really need to know (about creative thinking) I learned (by studying how children learn) in kindergarten. Proceedings of the 6th ACM SIGCHI conference on Creativity & Cognition. (pp. 1-6). New York, United States: Association for Computing Machinery; 10.1145/1254960.1254961.
crossref
Rosbon, S. (2016). Self-regulation and metacognition in young children: Does it matter if adults are present or not? British Education Research Journal, 42(2), 185-206. 10.1002/berj.3205.
crossref
White, G. L., & Sivitanides, M. P. (2002). A theory of the relationships between cognitive requirements of computer programming languages and programmers’ cognitive characteristics. Journal of Information Systems Education, 13(1), 59-66.

Yin, K. Y., & Fitzgerald, R. (2015). Pocket learning: A new mobile learning approach for distance learners. International Journal of Mobile Learning and Organization, 9(3), 271-283. 10.1504/IJMLO.2015.074215.
crossref

References

In Korean
Choi, Y. (2017, December). Chang-uiinseong injae yangseong-eul wihan yua daesang keompyuting sagolyeog kontencheu gaebal bang-an-e gwanhan yeongu. [창의인성 인재 양성을 위한 유아 대상 컴퓨팅 사고력 콘텐츠 개발 방안에 관한 연구]. Paper presented at the 2017 an Academic Seminar EBS Yua · Eorini Teugimguk [유아 . 어린이특임국], Goyang, Korea..

Chun, H. Y., Park, S., & Sung, J. (2019). An analysis of research trends related to software education for young children in Korea. Korean Journal of Child Education and Care, 19(2), 177-196. 10.21213/kjcec.2019.19.2.177.
crossref
Han, J., & Choi, Y. (2019). Kindergarten teacher's reflection on software activities using programming language. Korean Journal of Early Childhood Education, 38(6), 91-115. 10.18023/kjece.2018.38.6.004.
crossref
Hwang, S., Chae, J., Kim, J., & Park, S. (2018). Research on coding education using Viscuit. The Journal of Korean Association of Computer Education, 21(3), 1-10.

Hwang, S., & Choi, Y. (2019). Kindergarten teacher's reflection on software activities using programming language. Korean Journal of Children's Media, 18(3), 109-133. 10.21183/kjcm.2019.09.18.3.109.

Jo, J., Park, C., & Hong, K. (2017). Awareness and needs for early childhood software education in early childhood teachers. Journal of Learner-Centered Curriculum and Instruction, 17(3), 83-106. 10.22251/jlcci.2017.17.3.83.
crossref
Kang, I., Yoon, H., Hwang, J. (2017). Maker education: 4cha san-eobhyeogmyeong sidae-e dasi mannan guseongju-ui. [4차 산업혁명 시대에 다시 만난 구성주의].. Seoul: Naeha.

Kim, S.-S. (2008). The relationship between metacognition and creativity in young children. The Korea Association of Child Care and Education, 54:251-267.

Kim, S.-S., & Park, C.-O. (2007). The effect of moral dilemma group discussions on the development of metacognition in young children. Korean Journal of Early Childhood Education, 27(3), 5-25. 10.18023/kjece.2007.27.3.001.

Koo, B. (2019). Gongbuuimilae: 10nyeon hu tonghaneun saelo-un gongbubeob. [공부의 미래: 10년 후 통하는 새로운 공부법].. Seoul: Hanibook.

Lee, C. (2017). Development of Real-Life Problem Solving Model (CT-RLPS Model) based on computational thinking for software education. Journal of Korean Practical Arts Education, 30(3), 33-57. 10.24062/kpae.2017.30.3.33.
crossref
Lee, H. D. (2005). Metacognition in early childhood education: A conceptual approach and educational implications. Early Childhood Education Research & Review, 9(2), 59-74.

Lee, H. (2013). The development of inhibitory control and theory of mind in Korean children. The Korean Journal of Development Psychology, 26(1), 293-311.

Lee, J. (1998). Concept of representation: Its relation to symbol, image, and imitation. Korean Journal of Early Childhood Education, 18(1), 55-68.
crossref
Lee, M.-J., Lee, J.-H., & Choi, Ran (2014). Analysis of research trends on private speech in Korea. The Journal of Korea Open Association for Early Childhood Education, 19(1), 451-469.

Lee, Y.-J., Lee, J., & Shin, E.-S. (2005). The effects of picture story book based group game play activities on young children's emotional intelligence, theory of mind, and executive function. Korean Journal of Educational Research, 25(3), 119-147.

Lee, Y., Kim, Y. (1998). Gyoyug-eseoui jiljeog-yeongu: Bangbeobgwa jeog-yong. [교육에서의 질적연구: 방법과 적용].. Paju: Kyoyookbook.

Lim, J.-M. (2019). Teacher's practice and reflection on software education activities for young children. (Master's thesis). Retrieved from http://www.riss.kr/link?id=T15383321 .

National Institute of Korean Language. (2020). Metacognition. Retrieved January 28, 2020, from https://opendict.korean.go.kr .

National Institute for Lifelong Education. (2016). 4cha san-eobhyeogmyeong-ui sidae-eseo mubneun gyo-yug-ui milae: Segyegyeongjepoleom-ui ‘gyo-yug-eul wihan saelo-unbijeon (New vision for education)’ [4차 산업혁명의 시대에서 묻는 교육의 미래: 세계경제포럼의 ‘교육을 위한 새로운 비전’]. Geullobeolpyeongsaenggyo-yugdonghyang. [글로벌평생교육동향]. Retrieved July 01, 2016, from http://www.nile.or.kr/index.jsp .

Martinez, S. L., Stager, G. (2015). Invent to learn: Making, thinking, and engineering in the classroom. In K. Song, & S. Kim (Eds.), Seoul: Hongleung; (Original work published 2013).

Park, J.-Y. (2007). Organization and management of the programming language curriculum in the specialized high school on IT. (Master's thesis). Retrieved from http://www.riss.kr/link?id=T10823671 .

Seong, T. J. (2017). Suggestions for the human character and education in the era of the Fourth Industrial Revolution. Korean Journal of Educational Research, 55(2), 1-21.

Won, S.-Y. (2020). The meaning of software education based on constructivism for young children. (Doctorial thesis). Retrieved from http://www.riss.kr/link?id=T15536486 .

Won, S., & Choi, Y. (2019). Exploring the meaning of the young children's software education experience using educational programming language. Journal of Learner-Centered Curriculum and Instruction, 19(6), 1165-1187. 10.22251/jlcci.2019.19.6.1165.
crossref
Yoon, H. (2019). Uniqueness of ScratchJR and CTR assessment based on Constructivist's view. The Society for Constructivist Early Childhood Education, 6(2), 1-18.

Editorial Office
The Korean Association of Child Studies
S1433-1, Myongji University,
34 Geobukgol-ro, Seodaemun-gu, Seoul, 03674, Republic of Korea
TEL: +82-10-7704-8342   E-mail: gochildren@hanmail.net
About |  Browse Articles |  Current Issue |  For Authors and Reviewers
Copyright © The Korean Association of Child Studies.                 Developed in M2PI