Korean Institute of Information Technology

Home

The Journal of Korean Institute of Information Technology - Vol. 17 , No. 11

[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 17, No. 11, pp. 105-114
Abbreviation: Journal of KIIT
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 30 Nov 2019
Received 21 Oct 2019 Revised 15 Nov 2019 Accepted 18 Nov 2019
DOI: https://doi.org/10.14801/jkiit.2019.17.11.105

코딩교육 환경에서의 복합문제해결능력 분석 체제 연구
송기상* ; 고유정** ; 전인성***
*한국교원대학교 컴퓨터교육학과 교수
**한국교원대학교 컴퓨터교육학과 석사과정(교신저자)
***한국교원대학교 컴퓨터교육학과 박사과정

Study on the Analysis System for Complex Problem Solving Skill in the Area of Coding Education Environment
Ki-Sang Song* ; You-Jung Ko** ; In-Seong Jeon***
Correspondence to : You-Jung Ko Dept. of Computer Education, Korea National University of Education, Chungju, Korea Tel.: +82-43-230-3751, Email: youlony@nate.com

Funding Information ▼

초록

4차 산업 혁명에서 필요한 직무역량으로 복합문제해결능력(Complex Problem Solving Skill)에 대한 요구가 높아질 것으로 전망하고 있다. 복합문제해결능력은 복잡하고 현실적인 환경에서 구조화 되지 않은 문제를 해결하는 데 필요한 역량을 의미한다. 복합문제해결역량은 각국에서 자주 언급되고 있지만 학교교육에서 교육 목표로는 거의 구현되지 않았다. 따라서 본 연구에서는 코딩 교육 환경에서 복합문제해결능력의 신장 가능성에 대하여 분석하고자 한다. 코딩 교육에 적용 가능한 복합문제해결능력의 특징을 분석한 후 복합문제와 컴퓨팅 사고력 요소와 연관 지어 수업을 설계하고 설계된 교수학습법이 복합문제해결능력에 미치는 영향을 분석하였다. 검증 문항은 복합문제해결의 주요 고려 요소들인 변수, 시간, 장애물 등을 반영하여 제시하였으며 블록프로그래밍 환경에서 검증한 결과 코딩교육이 복합문제해결능력에 긍정적인 영향을 주는 것으로 확인하였다.

Abstract

The job competence required in the 4th Industrial Revolution is expected to increase the demand for Complex Problem Solving Skill. Complex problem solving skill refers to the ability to solve unstructured problems in complex and realistic environments. The Complex problem solving skill is frequently emphasized in each country, but it is hardly implemented as an educational goal in schools. Therefore, the purpose of this study is to analyze the possibility of the improvement of complex problem solving skill in the coding education environment. We analyzed the characteristics of complex problem solving skill applicable to coding education. The each classroom teaching is designed in association with the complex problem and the computational thinking skill, and we analyzed the effect of the teaching-learning method on complex problem solving skill. The test items were organized by reflecting variables, time and obstacles which are the major considerations of complex problem solving and verified in the block programming environment. The test results show that coding education has a positive effective on complex problem solving skill.


Keywords: complex problem solving, computational thinking, coding education, genetics lab

Ⅰ. 서 론

세계경제포럼(World economic forum) 보고서[1]에 따르면 제4차 산업혁명은 기술·산업 측면의 변화와 일자리 지형의 변화뿐만 아니라 고용 인력의 직무역량에도 변화가 생겨 복합문제해결능력(Complex problem solving skill)에 대한 요구가 높아질 것으로 전망하고 있다.

복합문제해결능력은 복잡하고 현실적인 환경에서 새롭게 정의되거나 구조화 되지 않은 문제를 해결하는 데 필요한 역량을 의미한다[2]. 즉 복합 문제는 구조화 정도에 따라 정형화된 문제(Well-defined)와 비정형화된(Ill-structured)문제로 구분된다. 코딩 교육에서 학습자들에게 제시되는 문제가 자료 분석과 추상화 과정 없이 이미 정의되어 제시되는 알고리즘 문제는 정형화된 문제로 볼 수 있으며[3], 설계 문제로 제시되는 경우에는 비정형화된 문제로서 복잡한 해결 과정이 요구된다.

복합문제해결능력을 교실 수업에서 가르치고자 할 때 부딪치는 문제는 교실 환경에서 제시되는 문제 상황과 현실 세계에서 만나게 되는 문제 상황이 질적으로 다르다는 것이다. 학교에서 문제해결 교육에 사용되는 문제 상황은 구조적이고 잘 정의된 반면 실제 생활의 문제는 비구조적이라는 점을 살펴볼 때 실제 생활에서 복잡문제해결력을 키울 수 있는 학교 교육이 더욱 강화되어야 함을 알 수 있다.

이러한 현실적인 상황을 반영하여 복합문제해결역량에 대한 중요성이 각국에서 자주 언급되고 있으며 해외 심리학자들을 중심으로 많은 연구들이 진행되고 있다. Funke와 그의 동료들은 인간의 문제해결을 크게 정적과 동적으로 분류하였다. 이들은 복잡한 문제해결과정을 역동적인 문제해결(Dynamic problem solving)로 간주하고 해당 능력의 정량적인 측정을 위하여 컴퓨터 기반 평가 방식인 MicroDYN과 MicroFIN을 개발하였다[4]-[6].

Kretzschmar는 복잡한 문제 상황에서 대학생들을 훈련 받게 하고 성능을 테스트한 결과 복합문제해결능력의 지식 획득 프로세스에 효과적인 영향을 미치는 것을 확인하였다[7]. 이와 같이 복합문제해결의 개념이나 측정 방법, 효과성에 관한 연구는 꾸준히 진행되어 왔으나 복합문제해결능력을 향상 시키는 교수법이나 소프트웨어 교육 기반의 복합문제해결에 관한 연구 사례가 미비하다. 따라서 본 연구에서는 코딩교육 환경에서 복합문제해결능력의 신장 가능성을 분석하였다. 먼저 코딩교육과 복합문제해결능력의 연관성을 확인하고자 GeneticsLab(GL)을 이용하여 코딩교육을 수강한 학생들의 복합문제해결능력을 측정하고 복합문제해결의 행동이론과 코딩 과정에서 요구되는 활동을 고려하여 수업을 설계하였다. 설계된 수업은 영재교육원 초등학생들을 대상으로 엔트리와 비트브릭을 이용하여 40차시 진행하였다. 초등학생들의 복합문제해결역량을 측정하고자 검증 문항과 평가 방법을 개발하고 분석한 결과 코딩교육이 복합문제해결능력에 긍정적인 영향을 주는 것으로 확인되었다. 이는 코딩 교육에서 학습자들이 제시되는 복잡한 문제를 분석하고 분해하여 알고리즘을 생성하는 과정을 통해 복합문제해결능력이 향상된 것으로 해석된다.

본 논문의 구성은 다음과 같다. 2장은 코딩 교육과 복합문제해결능력의 특징에 대해 기술한다. 3장에서는 복합문제해결능력을 측정할 수 있는 방법에 대해 설명한다. 4장에서는 복합문제해결능력의 특징을 반영한 수업을 설계하고 검증한다. 마지막으로 5장은 결론에 대해 기술하고 본 연구의 개선방안에 대하여 제언한다.


Ⅱ. 복합문제해결능력의 특징
2.1 복합문제와 비구조화된 문제의 특징

사회가 복잡하게 변화됨에 따라 해결하기 어려운 새로운 문제들이 등장하고 있다. Funke등의 심리학적인 관점에서 복합문제해결은 시시각각으로 변화하는 변수 등이 포함되어 있는 작업환경과의 성공적인 상호작용으로 표현하였다[8].

그림 1과 같이 블랙박스와 같은 작업 환경에서 주요 변수를 제어함으로써 시스템을 이해하고 그 지식을 근거로 원하는 작업을 수행할 수 있도록 하였다.


Fig. 1. 
Perspective of replacing complex system with black box

블랙박스 환경에서 작업환경의 규칙성을 파악하기 위해서는 요소들을 탐구하고 통합하여 이루어진다. 내부 요소들 간의 관계에 대한 정의가 명확하지 않은 상태에서 복잡한 문제를 해결하는 과정은 주어진 문제를 관찰하고 입력과 출력에 따른 관계성을 파악하여 원하는 목표를 수행할 수 있도록 하는 것이다. 이러한 원인과 결과에 따라 문제를 해결하는 컨셉맵(Concept map)은 컴퓨팅 사고 과정에서도 사용하는 문제해결 방법이다. 코딩교육에서 복잡한 문제란 컴퓨팅 사고력(CT, Computational Thinking) 중에서 인지적인 부담이 큰 CT의 핵심(Core)영역이라 할 수 있다. 이를 도식화하면 그림 2와 같다.


Fig. 2. 
Connection between computational thinking, complex problem solving, problem solving and coding education

코딩 교육에서 비구조화된 문제를 제시하고 컴퓨팅 사고력을 이용하여 해결하도록 함으로써 학습자들의 복합문제해결능력이 증진될 것으로 예상할 수 있다. 비구조화된 문제들은 복잡하고 거의 정의가 되어 있지 못하여 개방형이라는 특징을 가진다. 또한 그 목표가 상황에 따라 달라지거나 모호하며 미리 정의되지 않는 특징을 가지고 있으며 여러 가지 솔루션이 존재하기도 하고 때로는 해답이 존재하지 않는 특징을 지닌다[9][10]. 이와 같은 특징을 지닌 비구조화된 문제를 해결하는 능력이 복합문제해결의 한 요소로 정의한다[11]. 따라서 비구조화된 실생활 문제를 다루는 기회를 가짐으로서 복합문제해결능력을 훈련할 수 있다.

2.2 코딩교육과 복합문제해결

현재 전 세계적으로 채택되고 있는 코딩교육의 환경은 초중고 뿐만 아니라 대학의 비전공자들도 블록 프로그래밍 방식을 사용하고 있다. 스크래치와 같은 블록 기반 프로그래밍 StarLogo TNG[12]는 비디오 게임 개발을 쉽게 하여 코딩교육을 교실로 다시 가져오고자 하는 목적으로 개발된 것이다. 학습자들은 텍스트 명령어 기반 프로그래밍 환경이 주는 스트레스에서 벗어나서 블록을 ‘drag and drop’하는 방식으로 쉽고 창의적인 개발 환경을 이용할 수 있다. 이와 같은 블록 프로그래밍 환경에서 문제를 게임 디자인 하는 형태로 제시하거나 비구조적이고 현실 세계를 반영하여 제시한다면 학습자들은 다양한 문제 상황을 고려하게 된다.

복잡한 문제 상황에서 학습자들은 문제를 해결하기 위하여 컴퓨팅 사고력을 필요로 한다. 먼저 문제의 이해와 분석을 바탕으로 자료 수집, 자료 분석, 자료 표현단계를 거친다. 수집된 자료를 이용하여 문제를 해결 가능한 작은 단위로 분해하고 추상화 과정을 통해 문제의 핵심 개념을 추출하여 복잡도를 줄인다. 문제해결을 위한 알고리즘과 절차 과정을 순차, 반복, 선택으로 표현하여 비구조화된 문제를 구조화된 단계로 구체화한다. 이러한 컴퓨팅 사고력을 통해 코딩교육에서 학습자들은 제시되는 과제를 분석적으로 해결함으로써 복합적인 사고를 신장 시킬 수 있다.


Ⅲ. 복합문제해결능력 측정 방법
3.1 GL

GL은 심리학적인 복합문제해결과정을 평가하기 위해 룩셈부르크대학과 Public Henri Tudor가 협력하여 개발한 컴퓨터 시뮬레이션 도구이다[13]. GL은 복합문제해결능력을 측정하기 위해서 블랙박스와 같은 복잡한 시스템을 유전자의 변화와 그 인과 관계로 모델링하였다.

사용자는 그림 3(a)와 같이 유전자를 on과 off로 변경하며 유전자 변화에 따라 달라지는 결과를 탐색한(System Exploration: SE) 후 요소들 간의 관계를 그림 3(b)와 같이 기록하고(System Knowledge: SK) 데이터베이스를 활용하여 그림 3(c)와 같이 제시된 목표 값에 달성한다(System Application: SA). 사용자들이 작업을 수행하는 동안 모든 과정이 로그파일에 기록되며 이를 이용하여 성과 점수를 도출한다.


Fig. 3. 
Genetics lab

성과 점수의 의미와 평가 값은 다음과 같다. SE는 문제를 해결하기 위해서 체계적으로 요소를 탐색하는 능력이며 항목을 탐색하는 동안 수행 된 총 단계수와 관련된 정보 단계의 비율값을 나타낸다. SK는 요소들 간의 규칙을 정의하는 능력이며 생물체와 유전자 간의 관계와 강도(Strength)의 정확성을 평가한 값이다. SA는 체계적으로 문제를 해결하기 위해 의사결정을 하는 능력을 나타내며 사용자가 세 번의 기회동안 목표 값에 얼마나 근접하게 도달하였는지를 평가한 값이다[14].

3.2 GL을 사용한 복합문제해결능력 측정

컴퓨팅 사고력 교육 또는 복잡한 문제를 분해하여 해결하는 학습 과정을 통하여 복합문제해결능력이 증진될 것으로 예상할 수 있다. 이 가정을 입증하기 위하여 대학생들을 대상으로 코딩 교육을 하기 전과 후의 복합문제해결능력의 변화를 측정하였다. 측정 도구는 GL을 이용하였으며 영문으로 제시되는 설명과 문제를 한글로 변경하여 제공하였다. 평가는 P대학 컴퓨터 전공 12명과 K대학 컴퓨터 비전공 27명을 대상으로 하였다.

학생들은 컴퓨터에 설치된 GL프로그램을 실행하여 15분 동안 설명을 보고 따라하며 프로그램 사용법을 익히고 제한시간 35분 동안 12개의 시나리오 문제를 해결한다. 각 시나리오마다 그림 3의 (a) → (b) → (c) 단계를 완료해야 한다. 학생들이 기록한 답안은 .sol파일로 저장되어 있으며 GL에서 제공하는 R스크립트를 이용하여 실험 결과를 분석하였다.

실험 처치 전 컴퓨터 전공자와 비전공자의 동질성 검증을 위해 복합문제해결능력에 대한 사전검사를 독립표본 t-검정하여 분석하였다. 표1과 같이 컴퓨터 전공집단이 비전공집단보다 평균점수가 높게 측정이 되었지만 각 세부 항목인 SA, SK, SE의 유의 확률(Significance probability) P값이 0.05보다 크므로 두 집단은 유의한 차이가 없는 동질 집단임을 확인하였다. t는 T-검정의 통계량의 값으로 유의수준과 자유도에 따른 임계값을 나타낸다.

Table 1. 
Homogeneity test of two groups
CPS Group Mean S.D. t P
SA Major 2.215 0.829 .256 .800
Non-major 2.162 1.423
SK Major 2.335 1.162 .118 .906
Non-major 2.199 1.667
SE Major 0.241 0.109 -.461 .696
Non-major 0.259 0.125

수업은 전공 학생들에게는 텍스트 기반의 프로그래밍 언어를, 비전공 학생들에게는 블록 프로그래밍을 각 30차시 강의 후 사후검사를 실시하였다.

표 2는 텍스트 기반의 코딩 교육을 통하여 복합문제해결능력의 시스템 응용(SA), 시스템 지식(SK), 시스템 탐사(SE) 세 가지 측면 모두 유의 확률이 0.05이하로 의미 있게 변화하였음을 보여준다.

Table 2. 
Changes in complex problem solving skill of text-based coding education
CPS Group Mean S.D. P
SA Pre 2.215 0.829 .000
Post 3.188 0.801
SK Pre 2.335 1.162 .000
Post 3.147 1.133
SE Pre 0.241 0.109 .019
Post 0.345 0.091

블록 프로그래밍 강의를 수강한 학생을 대상으로 이루어진 평가에서도 표 3과 같이 복합문제해결능력의 세 가지 측면 모두 유의 확률이 0.05 이하로 의미 있게 변화하였다. 27명의 수강자들은 학부 1학년 비전공자들로 컴퓨터 프로그래밍 수업을 전혀 수강하지 않았던 학생들이었고 유의도 조건이 텍스트 기반의 코딩교육 방식보다 엄격한 경우임에도 유의한 결과를 가져옴을 알 수 있었다. 이는 코딩교육을 통해 학생들은 효율적인 전략이나 지식 습득 능력 및 그에 따른 적용 능력이 향상됨으로써 복합문제해결능력을 향상 시킬 수 있음을 확인하였다.

Table 3. 
Changes in complex problem solving skill of block-based coding education
CPS Group Mean S.D. P
SA Pre 2.162 1.423 .002
Post 2.965 1.138
SK Pre 2.199 1.667 .001
Post 3.112 1.234
SE Pre 0.259 0.136 .003
Post 0.333 0.103


Ⅳ. 복합문제해결 특징을 반영한 설계
4.1 복합문제해결능력 향상을 위한 수업설계

수업설계는 복합문제해결의 행동이론과 코딩교육과 연관 지었으며 그 과정에서 요구되는 컴퓨팅사고력의 요소를 표 4와 같이 설정하였다. SE 단계에서는 프로젝트 소개 및 구성, 문제 탐색 등을 실시하며 문제를 이해하고 표현하는 활동을 실시한다. SK 단계에서는 추상화 과정을 통해 프로젝트 과정을 설계하고 복잡한 문제를 분해하여 해결 가능한 수준으로 모델링 하는 활동을 실시한다. SA 단계에서는 각 오브젝트 움직임을 제어하기 위한 예측을 실시하고 복잡한 상황에 대한 난이도 변화를 설정하며, 오브젝트의 작동 방법과 시간의 변화에 따른 오브젝트 작동 상황 등을 설정한다.

Table 4. 
Relationship between complex problem solving and computational thinking
CPS Coding education CT
SE ㆍ Project organization
ㆍ Explore real life problems
Data collection
Data analysis
Data representation
SK ㆍ Problem understanding and modeling
ㆍ Project process design
Decomposition
Abstraction
SA ㆍ Behavior prediction
ㆍ Difficulty change
ㆍ How Objects Work
ㆍ Change of time
ㆍ Variable, signal, event
ㆍ Review and Analyze
ㆍ Sharing and Improving
Algorithm
Parallelism
Automation
Simulation

알고리즘을 구현하여 자동화를 통한 프로그래밍을 실시하며 변수, 타이머, 신호, 이벤트 등 프로그래밍의 요소가 들어갈 수 있도록 구성한다. 이와 같이 컴퓨팅 사고력은 복합문제해결능력인 SK, SE, SA를 신장시킬 수 있는 요소를 포함하고 있다.

본 연구에서는 복합문제해결능력 평가 및 컴퓨팅사고력 요소와의 관계를 설정하여 영재교육원 프로그램 개발을 실시하였다. 엔트리와 비트브릭을 활용하여 ‘Smart Classroom’, ‘Smart Life’, ‘Smart Learning’, ‘Safe Life’, ‘Smart Home’ 등 5가지 프로젝트를 수행하며 프로그래밍 과정을 이해하고 학습자의 개성과 독창성이 반영된 프로그램을 제작한다. 알고리즘과 순차, 선택, 반복 등의 프로그래밍 구조에 대한 이해를 바탕으로 컴퓨팅 사고력을 함양하고 팀별 프로젝트 활동을 통해 의사소통, 협업, 비판적 사고력, 창의성 등의 핵심 역량을 함께 기를 수 있도록 프로그램을 구성하였다.

4.2 복합문제해결능력 검증 문항의 설계

복합문제해결능력 측정 도구인 GL은 초등학생들에게 적용하기에는 어려움이 있다. 따라서 본 연구에서는 초등학생들의 복합문제해결능력을 측정하기 위해 컴퓨터 교육 전공 대학원생 및 교수진으로 구성된 전문가 검토 및 논의를 통해 타당도를 확보한 후 검증 문항과 평가 기준을 설계하였다. 검증 문항은 복합 요소들을 추가하여 표 5와 같이 6개의 문항으로 구성하였다. 코딩 환경에서의 복합 요소는 변수, 시간, 장애물, 난수 등으로 제시될 수 있다.

Table 5. 
Test Items for measuring complex problem solving skill
Item subject Compound element Measurement item Score
Item 1 Mole game Variable ㆍ Algorithm and program creation using variables
ㆍ Procedure, Repetition, Selection, Data Representation, Interaction, Parallelism
15
Item 2 Avoid sharks game Obstacle, Variable ㆍ Object Modification Algorithm According to Variable Change
ㆍ Procedure, Selection, Data Representation, Interaction
10
Item 3 Game over Time ㆍ Create algorithms and programs using time
ㆍ Procedure, Repetition, Selection, Interaction
10
Item 4 Speeding Variable, Obstacle, ㆍ Algorithm Analysis and Program Production
ㆍ Procedure, Data Representation, Interaction, Abstraction
10
Item 5 Subway route map Obstacle, time ㆍ Problem understanding & decomposition, Algorithm design
ㆍ Procedure, Selection, Abstraction, Data Representation
10
Item 6 Save the soccer ball Time, Obstacle, Variable, Random number ㆍ Create a program to modify objects over time
ㆍ Procedure, Repetition, Selection, Data Representation, Abstraction, Parallelism
15

예를 들어 검증 문항 6번은 사용자가 마우스로 패들(Paddle)을 조작하여 축구공이 바닥에 떨어지지 않도록 하는 게임이다. 학생들에게 소스 일부 제공하고 다음과 같은 문제 상황을 해결하도록 요구하였다.

ㆍ 규칙을 정하여 점수와 생명력을 부여한다.
ㆍ 시간이 지날수록 축구공 개수를 증가한다.
ㆍ 여러 개의 스프라이트를 사용한다.
ㆍ 적어도 한 개 이상의 반복문을 갖는다.
ㆍ 적어도 한 번 이상의 조건문을 갖는다.

이와 같은 문제 설정은 구조를 제한하지 않고 게임의 스토리 설계 및 스프라이트 간의 상호작용 및 게임의 동작에 관하여 개략적인 제한을 두고 있다. 이러한 문제 상황에서 학습자들은 스스로 게임을 설계하고 설계된 내용을 코딩하여 그 작동을 점검하게 된다[15].

평가 기준은 복합문제해결능력과 컴퓨팅 사고력 간의 관계를 구조화하여 표 6과 같이 설계하였다. 설계된 루브릭은 [16]논문을 바탕으로 절차, 반복, 선택, 상호작용, 데이터 표현, 추상화, 병렬화 7가지 세부 영역으로 구성된다. 각 영역은 레벨에 따라 0점에서 2.5점까지 부여되며 검증 문항에 따라 측정하는 세부 영역의 요소는 달라진다. 절차(Procedure)에서 불필요한 블록(Dead code) 없이 모든 블록이 정확히 수행된 경우 2.5점, 반복(Repetition)에서 조건문과 반복문을 논리적으로 사용한 경우 2.5점, 선택(Selection)에서 조건에 맞는 논리식을 만든 경우 2.5점, 상호작용(Interaction)에서 신호를 활용한 경우 2.5점, 자료 표현(Data representation)에서 변수와 리스트를 사용하고 연산자를 사용한 경우 2.5점, 추상화(Abstraction)에서는 오브젝트, 장면, 함수를 활용하여 핵심요소를 분류 시 2.5점, 병렬화(Parallelism)에서 동시 실행과 장면전환 기능을 사용한 경우 2.5점으로 배점하여 산출된다. 검증 문항은 위와 같은 요소로 평가되며 다양한 CT요소를 얼마나 잘 활용하고 알고리즘을 논리적으로 설계 하였는지를 분석하여 복합문제해결역량을 측정하였다.

Table 6. 
Computing thinking-based rubric for measuring complex problem solving skil
CT element Score evaluation according to block
Level 1 Level 2 Level 3
Procedure 4 Block chunks
4 Dead codes
8 Block chunks
2 Dead codes
10 Block chunks
0 Dead codes
Repetition 3 Roop blocks 1 Nested loop 1 loop + 1 If-then-else
Selection 2 if 2 if else if + Logic Operation
Interaction When object clicked Input/Output device Interaction Send and receive signals Function blocks
Data representation Variables Variables + operation Variables + list + operation
Abstraction More than 3 Objects More than 5 Objects
More than 2 Scenes
More than 5 objects
More than 2 scenes
More than 1 function
Parallelism 2 When-blocks in one object 2 when-blocks + Signal blocks in one object when-blocks + Scene changes

4.3 검증

교육은 엔트리 18시간, 비트브릭 22시간으로 총 40차시에 걸쳐 진행하였으며 복합문제요소와 컴퓨팅 사고력을 결합한 코딩교육이 복합문제해결능력에 어떠한 영향을 미치는지 확인하기 위하여 검정을 실시하였다. 실험은 동질집단 영재교육원 26명의 초등학생 5~6학년을 대상으로 표 5에 설계된 문항지로 제한 시간 50분 동안 엔트리 기반의 코딩 실기 평가로 이루어졌다. 교육 전과 후로 분류하여 대응표본 t-검정을 실시하였으며 통계적으로 분석한 결과 표 7과 같이 나타났다.

Table 7. 
Result of pre and post test of complex problem solving skill
Item Group Mean S.D. t p
Item 1 pre 14.20 2.363 1.693 0.103
post 15.00
Item 2 pre 6.80 4.537 3.527 0.002
post 10.00
Item 3 pre 2.40 6.371 4.081 0.000
post 7.60
Item 4 pre 6.92 4.618 3.335 0.003
post 10.00
Item 5 pre 4.60 4.546 5.059 0.000
post 9.20
Item 6 pre 1.40 6.403 8.433 0.000
post 12.20

문제 1은 두더지 게임에서 변수를 활용하여 문제를 해결하는 과제였다. 문제 1에 대한 검정결과 사전·사후 평균의 차이가 15점 만점에서 0.80점으로 나타났고 유의 확률(p)이 0.103으로 5% 유의수준에서 차이가 없는 것으로 나타났다. 문제 1은 난이도가 낮은 문항으로 영재교육원 학습자들에게는 복합문제해결능력의 차이가 없는 것으로 나타났고 복합문제해결능력에 대한 변별력이 없는 것으로 판단된다.

문제 2의 상어피하기 게임은 점수와 시간에 따라 장애물이 랜덤하게 등장하는 과제로 복합문제의 불확실성, 역동성에 대한 문제해결능력을 측정하기 위한 문항이다. 문제 2의 검정결과 사전·사후 평균의 차이가 10점 만점에서 3.20점으로 나타났으며 유의 확률이 0.002으로 5% 유의수준에서 복합문제해결능력에 차이가 있는 것으로 나타났다.

문제 4의 과속단속 프로그램은 복합문제 요소의 입력변수와 출력변수사이의 인과관계를 파악하는 과제이다. 문제 4의 검정결과 사전·사후 평균의 차이가 10점 만점에서 3.08점으로 나타났으며 유의 확률이 0.003으로 복합문제해결능력에 유의미한 차이가 있는 것으로 나타났다.

복합문제해결의 시간 요소가 포함된 문제 3, 5, 6에 대한 검정결과 유의 수준이 0.000으로 고도로 유의한 차이가 있는 것으로 나타났다. 이는 학습자들이 역동적인 복잡한 문제를 컴퓨팅 사고력을 통해 해결함으로서 복합문제해결능력이 향상됨을 알 수 있다. 문제 6은 시간에 따른 객체 수정이 되는 문제를 해결하는 과제로 난이도가 가장 높고 복잡한 문제였다. 하지만 검증 결과 15점 만점에서 평균의 차이가 10.80, 표준편차 6.403으로 가장 큰 편차가 나타났음을 알 수 있다. 학습자들이 다중 변수들 간의 연결성을 분석하고 해결함으로써 복잡문제해결능력이 가장 크게 향상되었으며 이는 코딩교육을 통해서 복합문제해결능력의 신장 가능성을 확인할 수 있었다.


Ⅴ. 결론 및 제언

본 연구에서는 코딩교육 환경에서 복합문제해결역량의 신장 가능성을 분석하기 위해 코딩교육과 복합문제해결의 연관성을 파악하고 대학생들을 대상으로 블록 프로그래밍과 텍스트 기반 프로그래밍 교육을 실시하여 복합문제해결능력을 측정하였다. 측정도구는 GL을 이용하였으며 복합문제해결능력인 문제탐색능력(SE), 규칙정의능력(SK), 목표달성을 위한 의사결정능력(SA)을 분석한 결과 코딩교육을 통해 복합문제해결역량을 강화할 수 있음을 일차적으로 확인하였다.

대상을 변경하여 영재교육원 초등학생들의 복합문제해결능력을 향상시키고자 복합문제해결 행동이론과 컴퓨팅 사고력을 연계하여 수업을 설계하고 엔트리와 비트브릭을 이용하여 교육하였다. 또한 복합문제해결능력을 평가하기 위해 복합 요소인 변수, 시간, 장애물 등을 반영하여 6개의 검증 문항을 개발하고 평가기준을 마련하였다. 실험은 동질집단 영재교육원 26명을 대상으로 40차시 수업을 진행하고 강의전과 후를 비교 분석하였다.

실험 결과 6개의 검증 문항 중 난이도가 낮은 두더지 게임은 통계적 교육 전과 후 차이가 없는 것으로 분석되었으나 나머지 5개 문항은 유의수준이 0.05이하로 코딩 교육이 복합문제해결능력에 긍정적인 영향을 주는 것으로 확인되었다. 이에 따라 복잡성, 불명확성, 역동성을 가진 비정형화된 문제 상황을 제시하고 학습자들이 컴퓨팅 사고력을 기반으로 문제를 설계하고 설계된 내용을 코딩하는 활동이 복합문제해결능력에 보다 효과적이었다는 것을 알 수 있었다. 또한 코딩교육 환경에서 복합문제해결능력을 분석하고 수업을 설계함으로써 향후 학교 교육에서 복합문제해결역량을 강화하기 위한 교수방법에 대한 아이디어를 제공하고 후속 연구에 대한 방향성을 제시할 수 있을 것이다.

본 연구에서는 4차 산업혁명에서 요구되는 필요역량에 따라 코딩교육에서 복합문제해결역량을 향상 시킬 수 있는지를 분석하였다. 이를 바탕으로 향후 지속적인 개선 및 연구를 위하여 다음과 같이 제언하고자 한다.

첫째, 본 연구에서 복합문제해결능력을 측정한 검증 대상은 영재교육원 초등학생을 대상으로 평가하였기 때문에 일반 초등학교나 중학생들에게 적용하는 후속 연구가 필요하다.

둘째, 복합문제해결능력을 향상 시킬 수 있는 수업설계 내용은 40차시로 설정되어 있다. 초등학교나 중학교 현장에서도 적용할 수 있도록 소프트웨어 의무 교육시수에 맞춰 수정하고 보완하여 실효성 있는 교수학습법을 마련해야 한다.

셋째, 복합문제해결능력에 대한 개념을 정의하여 수업에 도입하는 것은 쉽지 않은 일이다. 복합문제해결능력 향상을 위해 해결 답안을 찾는 것이 아니라 다양한 원리와 개념을 토대로 다양한 문제를 해결할 수 있도록 구성해야 한다.

추후 연구에서는 문제 상황의 복잡성에 영향을 주는 요인을 좀 더 정교화 하고 복합적인 문제를 게임 디자인 형태로 제시하여 복합문제해결능력을 높이고자 한다.


Acknowledgments

이 논문은 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임 (No. 2017S1A5A2A01026058).


References
1. The Future of Jobs Report, WEF, 2018.
2. J. Quesada, W. Kintsch and E. Gomez, "Complex problem-solving: a field in search of a definition", Theoretical Issues in Ergonomics Science, pp. 5-33, Jun. 2005.
3. J. K. Lee, S. I. Shin, and M. S. H, "Complex Problems in Complex Problem Solving: Types, Levels, and Meaning in the Filed of Science Education", The Korean Society for School Science, Vol. 12, pp. 417-436, Dec. 2018.
4. J. Funke, "Dynamic systems as tools for analysing human judgement", Thinking & Reasoning, Vol. 7, No. 1, pp. 69-89, Feb. 2001.
5. S. Greiff and A. Fischer, "Measuring Complex Problem Solving: An educational application of psychological theories", Journal of Educational Research Online, Vol. 5, No. 1, pp. 28-58, 2013.
6. S. Greiff and S. Wustenberg, "Assessment With Microworlds using MicroDYN: Measurement Invariance and Latent Mean Comparisons", European Journal of Psychological Assessment, Vol. 30, pp. 304-314, 2014.
7. A. Kretzschmar and H. M. Süß, "A Study on the Training of Complex Problem Solving Competence", Journal of Dynamic Decision Making, Vol. 1, pp. 1-14, 2015.
8. J. Funke, "Complex Problem Solving", Encyclopedia of the Sciences of Learning, pp. 682-685, Mar. 2012.
9. K. F. Hew and D. Knapczyk, "Analysis of ill-structured problem solving, mentoring functions, and perceptions of practicum teachers and mentors toward online mentoring in a field-based practicum", Instructional Science, Vol. 35, pp. 1-40, Jan. 2007.
10. D. H. Jonassen, "Instructional Design Models for Well-Structured and III-Structured Problem-Solving Learning Outcomes", Educational Technology Research and Development, Vol. 45, pp. 65-94, Mar. 1997.
11. R. H. Collins, J. Sibthorp, and J. Gookin, "Developing Ill-Structured Problem-Solving Skills Through Wilderness Education", Journal of Experiential Education, Vol. 39, pp. 179-195, Apr. 2016.
12. A. Begel and E. klopfer, "StarLogo TNG: An Introduction to Game Development", Journal of E-Learning, Dec. 2004.
13. The Genetics Lab: a computer-based test to assess students' complex problem solving abilities, https://wwwfr.uni.lu/recherche/flshase/education_culture_cognition_and_society_eccs/projects_phd_theses_and_publications/the_genetics_lab_a_computer_based_test_to_assess_students_complex_problem_solving_abilities. [accessed: Oct. 20, 2019]
14. P. Sonnleitner, M. Brunner, and S. Greiff, "The Genetics Lab: Acceptance and psychometric characteristics of a computer-based microworld assessing complex problem solving", Psychological Test and Assessment Modeling, Vol. 54, pp. 54-72, 2012.
15. E. C. Förster, K. T. Förster and T. Löwe, "Teaching Programming Skills in Primary School Mathematics Classes: An Evaluation using Game Programming", Global Engineering Education Conference, pp. 1504-1513, Apr. 2018.
16. S. W. Kim, S. S. Song, S. M. Lim, and J. H. Kim, "Development of Entry Automatic Evaluation System for Assessment of Computational Thinking", The Korean Association of Computer Education, Vol. 32, pp. 53-56, Jan. 2017.

저자소개
송 기 상 (Ki-Sang Song)

1983년 2월 : 아주대학교 학사

1985년 2월 : 한국과학기술원 석사

1994년 8월 : U. of Washington, Ph. D.

1995년 3월 ~ 현재 : 한국교원대학교 교수

2007년 5월 ~ 현재 : World Bank, UNESCO, IDB, KOICA, KERIS 이러닝 국제 컨설턴트

관심분야 : 인지 및 학습과학, 뇌기반 학습 이론, 에듀테크, 인공지능 기반 학습분석 시스템

고 유 정 (You-Jung Ko)

2004년 2월 : 한밭대학교 컴퓨터공학과(공학석사)

2009년 2월 : 한밭대학교 컴퓨터공학과(공학박사)

2018년 3월 ~ 현재 : 한국교원대학교 컴퓨터교육학과 석사과정

관심분야 : 컴퓨팅사고력, 복합문제해결, 딥러닝

전 인 성 (In-Seong Jeon)

2014년 2월 : 광주교육대학교 컴퓨터교육과(교육학사)

2016년 8월 : 광주교육대학교 컴퓨터교육과(교육석사)

2017년 3월 ~ 현재 : 한국교원대학교 컴퓨터교육과 박사과정

관심분야 : 소프트웨어교육, 컴퓨팅사고력, 인공지능