알고리즘적 사고 문제 모델을 이용한 초등로봇 프로그래밍 문제 개발 및 적용
이정훈 허 경 ,
**경인교육대학교 컴퓨터교육과
요 약
본 논문에서는 초등정보교육과정의 문제해결방법과 절차 영역에 필요한 알고리즘적 사고 문제 모델을 “ “ 활용하고 초등 로봇 프로그래밍 내용 요소를 적용하여 초등 로봇프로그래밍 알고리즘적 사고 문제를 제안 , 하였다 그리고 개발된 초등 로봇프로그래밍 알고리즘적 사고 문제들에 대해 실험 수업을 실시하여 알고리 . 즘적 사고에 따른 답안들의 다양성과 효율성 및 개발된 문제들의 난이도 적절성에 대한 분석을 통해 본 논 , 문에서 제안된 문제들이 여러 형태의 답안이 도출될 수 있는 알고리즘적 사고의 다양성을 갖으며 초등 단 , 계에서 문제를 해결하는데 큰 어려움을 느끼지 않는 적절한 난이도를 나타내고 있음을 확인하였다 .
키워드 : 컴퓨터과학교육 교육용로봇 로봇프로그래밍 , ,
Development of Elementary Robot Programming Problems using Algorithmic Thinking-based Problem Model
Joung-Hun Lee, Kyeong Hur
*Gyeongin National University of Education, Dept. of Computer Education
ABSTRACT
This paper proposes elementary robot programming problems using the algorithmic thinking-based problem model with material factors in the elementary robot programming. And this paper proves the validity of developed robot programming problems in defining them as algorithmic thinking-based problems through experiments. The experimental results are analyzed in views of variety and effectiveness evaluation of answer algorithms and suitability of allocating degrees of difficulties to the developed robot programming problems. As a result of the experiment, we find that the developed problems has various answer algorithms and suitable degrees of difficulties for elementary school students.
Keywords : Computer Science Educations, Educational Robot, Robot Programming
*
교신저자 : 허 경 경인교육대학교 컴퓨터교육과 조교수 , , E-mail : [email protected] 논문투고 : 2010-02-26
논문심사 : 2010-04-06
심사완료 : 2010-04-09
서 론 1.
년 월에 개정 공시된 중등 정보 교과 교
2007 2 ‘ ’
육과정 및 2006 년 2 월 개정된 ICT 운영지침에서는 정보화 사회에 필수적으로 필요한 알고리즘적 사고 기반의 문제해결능력을 키우기 위해 지금까지 정보 교과의 대부분을 이루었던 소프트웨어 활용 중심의 내용을 대폭 축소하고 컴퓨터과학의 원리에 대한 교육을 강화하였다 [1][2]. 알고리즘적 사고 기반의 문제해결력은 문제 풀이 과정을 다양한 형태의 알 고리즘으로 만들어보고 평가함으로써 향상될 수 있 다 따라서 알고리즘적 사고 기반의 문제해결력 향 . 상을 위해서는 정해진 알고리즘을 가르치고 알고리 즘의 이해도를 평가하는 방법보다 문제해결과정을 다양한 형태의 알고리즘으로 만들어 볼 수 있는 문 제를 제시하고 학생 스스로 알고리즘을 만들어보고 그것을 평가할 수 있는 형태가 되어야 한다 기존의 알고리즘적 사고 학습을 위한 연 [7][8][4].
구들을 살펴보면 대부분이 프로그래밍 과정에서의 알고리즘적 사고 학습을 목표로 하고 있으며 알고 , 리즘적 사고에 효과적인 프로그래밍 환경과 학습 내용을 함께 제시하고 있다 [5][6].
개정된 초등 정보교과 교육과정에서는 문제 해 “ 결 방법과 절차 영역에서 알고리즘적 사고 향상을 ” 위해 문제와 문제 해결 과정 “ ”, “ 알고리즘의 개요 ”, 알고리즘의 실체 자료 찾기 와 같은 내용들을
“ ”, “ ”
제시하고 있다 그러나 알고리즘적 사고를 직접적 . 으로 체험해 볼 수 있는 문제와 문제 해결 과정 “ ”, 알고리즘의 개요 알고리즘의 실체 와 같은 부분
“ ”, “ ”
들은 구체적으로 내용을 제시하고 못하고 있다 [2].
이에 반해 초등 단계에서 라인트레이서 로봇의 내 용은 문제해결 알고리즘적 사고 능력을 향상시키기 위한 문제를 개발하는데 있어서 매우 좋은 도구이 다 그 이유는 첫째 프로그래밍의 과정은 문제의 . , 분석 및 세분화 해결방안 모색과 실행 등의 작업 , 을 통하여 문제 해결 능력을 요구하므로 인간의 , 사고력을 향상시킬 수 있는 특성을 지닌다 둘째 . , 처음으로 프로그래밍 교육을 접하는 초등학교 학생 들에게 창의성과 논리적 사고를 통한 문제 해결력 신장을 위해 초등 아동발달 단계에 맞는 구체물 조
작교육인 로봇 프로그래밍이 적합하다 그러나 아 . , 직까지 로봇 프로그래밍 과정에서 알고리즘적 사고 에 효과적인 프로그래밍 학습 내용이 제시되고 있 지 못한 실정이다 .
이에 본 논문에서는 초등정보교육과정의 “ 문제 해결방법과 절차 영역에 필요한 알고리즘적 사고 “ 문제 모델을 활용하고 초등 로봇 프로그래밍 내용 , 요소를 적용하여 초등 로봇프로그래밍 알고리즘적 사고 문제를 제안하였다 그리고 개발된 초등 로봇 . 프로그래밍 알고리즘적 사고 문제들에 대해 실험 수업을 실시하여 알고리즘적 사고에 따른 답안들의 다양성과 효율성 및 개발된 문제들의 난이도 적절 성에 대한 분석을 통해 본 논문에서 제안된 문제들 에 대한 초등 로봇프로그래밍 알고리즘적 사고 문 제로서의 적합성을 검증하였다 .
2. 로봇프로그래밍 알고리즘적 사고 문제개발 2.1 알고리즘적 사고 문제 모델
알고리즘적 사고란 컴퓨터가 수행할 수 있도록 문제해결방법을 정의하는 사고이다 그러나 정보 . 화 시대에는 모든 자료를 디지털형태로 처리하기 때문에 알고리즘적 사고는 단순히 컴퓨터에게 문 제 해결 과정을 전달하기 위한 사고가 아니다 본 . 인의 문제를 다른 사람에게 정확하게 전달할 수 있는 사고이며 본인이 생각한 문제 해결 방법을 누가 수행해도 동일한 결과를 얻어 낼 수 있도록 정의하는 사고이다 따라서 이러한 알고리즘적 사 . 고를 학습하기 위한 문제는 특정 영역에 제한된 문제가 아니라 문제해결과정에 대한 알고리즘을 답으로 하는 문제이여야 한다 . 또한 알고리즘적 사고 향상을 위한 문제는 문제해결과정이 다양하 게 나올 수 있어야 하며 답으로 제시된 알고리즘 에 대하여 평가 방법이 존재해야한다 [3].
그림 은 본 논문에서 적용하는 정보과학 알
< 1>
고리즘적 사고 문제 모델 이다 [3]. 수학 문제와 달 리 정보과학 알고리즘적 사고 문제는 주어진 도구 순서도 기호 를 조합하여 입력과 출력에 맞도록
( )
블랙박스를 논리적으로 구성하는 것이다 따라서 .
문제의 답안 내용은 블랙박스를 구성함으로써 문 제해결방법을 만들어 내는 것이다 즉 문제 해결 . , 방법을 이해하기보다 다양한 문제해결방법을 구성 하는 데 중점을 두고자 하는 것이다 .
그림 알고리즘적 사고 기반 문제 모델
< 1>
2.2 라인트레이서 로봇프로그래밍 요소를 이용한 문제 개발 유형
로봇 프로그래밍은 두 가지로 구분하여 정의할 수 있다 첫 번째는 로봇의 기본 동작을 구성하는 . 하드웨어 요소를 제어하는 알고리즘을 프로그래밍 하는 것으로 DC 모터 서보모터 등을 제어하는 프 , 로그래밍이 그 예이다 두 번째는 첫 번째의 동작 . 알고리즘과 외부 정보 입력 조건을 조합하여 주어 진 문제 경기장 를 해결하기 위한 알고리즘을 프로 ( ) 그래밍하는 것이다 이것은 다양한 센서 입력에 따 . 라 동작알고리즘을 문제해결에 적합하게 조합하는 알고리즘을 프로그래밍하는 것이다 .
내용영역 내용
문제분석 문제의 특징 패턴 구조 , , 알고리즘 설계
로봇의 동작 전진 후진 좌회전 ( , , , 우회전 )
센서의 입력 입력 개수 위치 ( , ) 로봇프로그래밍 순서도 제어 명령어 조합 원리 , ,
실행 및 검토 오류 발견 수정 ,
표 라인트레이서 로봇 프로그래밍 내용 요소
< 1>
표 은 라이트레이서 로봇 프로그래밍의 내
< 1>
용 요소이다 본 논문에서는 앞에서 소개한 알고리 . 즘적 사고 기초문제 모델에 < 표 1> 의 요소들을 적
용하여 알고리즘적 사고 문제들을 < 표 3>, < 표 과 같이 유형과 유형으로 개발하였다 문제
4> A B .
를 해결하기 위하여 학생들은 < 표 1> 에 제시된 내 용영역을 일련의 문제풀이과정을 통하여 순서대로 표현하게 되는데 블랙박스 안의 문제 해결 순서도 , 완성을 위해 제시되는 도구들로서 < 2> 표 를 활용한다 . 유형 입력조건 센서 개수가 증가함에
1) A : ( )
따라 로봇 성능이 향상되고 이에 따른 알고리즘 을 작성하는 유형으로서 , A 유형 문제의 목표는 가장 높은 성능으로 문제를 해결하기 위하여 문 제 풀이에 필요한 최대한의 센서 개수와 위치를 찾아 프로그램을 작성하는 것이다 따라서 학생 . 들은 센서의 개수와 위치 설계를 중점으로 고려 하여 알고리즘을 작성하는 유형이다 .
유형 가장 적은 입력조건 센서 의 개수
2) B : ( )
를 사용하여 문제를 해결할 수 있는 알고리즘을 작성하는 유형으로서 , B 유형 문제의 목표는 문 제 풀이에 필요한 최소한의 센서 개수와 위치를 찾아 프로그램을 작성하는 것이다 . A 유형과는 문제의 목적이 반대되는 유형이지만 문제 풀이 , 과정은 동일하다 단 초등학생 수준을 고려하여 . , 센서의 개수를 정해주고 프로그램 순서도의 효율 성만 평가한다 .
표 순서도 완성을 위해 제시되는 도구
< 2>
도 구
개발된 로봇프로그래밍 알고리즘적 사고문제 2.3
앞에서 제시한 A 유형 , B 유형에 적합한 문제들을
개발하였다 곡선의 수와 회전의 수를 단계적으로 .
늘려가도록 하였으며 곡선 모양의 경기장은 센서 ,
의 수가 많을수록 효과적인 A 유형의 문제가 되고 ,
직각으로 회전하는 경기장은 효과적인 센서의 수가
정해져있는 B 유형의 문제가 된다 직각으로 회전하 .
는 문제의 경우 회전수를 늘려감에 있어 우회전과
좌회전이 포함되는 모든 경우의 수를 고려하여 문
제를 개발하였으며 모든 경기장은 시작과 끝을 바 , 꾸면 정반대 모양의 경기장이 되며 이는 프로그래 , 밍 과정과 문제해결의 소요시간에는 아무런 영향을 끼치지 않는다 다시 말해 우회전은 좌회전으로 좌 . , 회전은 우회전으로 바뀌어 처음의 프로그래밍과 순 서만 바뀌게 될 뿐 프로그래밍의 과정과 문제해결 의 시간에는 아무런 변화가 생기지 않는다는 것이다 .
센서의 수와 관계없이 라인을 따라 주행하는 알고 리즘을 작성하시오
경 기 장
답 안 1(
센 서 1 개
)답 안 2(
센 서 2 개
)답 안 3(
센 서 3 개
)표 유형 문제 예제
< 3> A
문
제 센서의 개수를 최소한으로 사용하여 경기장을 통 과할 수 있는 로봇 알고리즘을 작성하여라 . 경
기 장
답 안 1 ( 센 서 4 개
)표 유형 문제 예제
< 4> B
답 안 2 센 ( 서 3 개
)답 안 3 ( 센 서 2 개
)개발된 문제에 대한 평가 방법 2.4
알고리즘의 정확성 1)
알고리즘의 정확성은 문제에서 주어진 임무를 정 확하게 완료했는가를 측정함으로써 평가한다 . 임무를 정확하게 완료함 임무를 완
( . : A = 1 /
료하지 못함 . : A = 0)
알고리즘의 효율성 2)
알고리즘의 효율성은 다음과 같은 항목을 기준 으로 평가한다 .
수행 명령어의 개수 평가 : B
반복 구조의 사용수와 중접수 평가 : C 유형 센서의 수와 임무 수행시간
A : , D
유형 임무 수행시간
B : , D
* X( 총점 ) = A(B+C+D)
< 표 5-1> A B 유형 개발문제 및 모범답안
경기장 모범답안
A T y p e
곡선 한 번
< >
전진
우회전 좌회전
곡선 두 번
< - 1 >
전진
우회전 좌회전
곡선 두 번
< - 2 >
전진
우회전 좌회전
표 유형 개발문제 및 모범답안
< 5-2> A B
경기장 모범답안
B T y p e
회전 한 번
< >
전진
우회전 좌회전
회전 두 번
< - 1 >
전진
우회전 좌회전
회전 두 번
< - 2 >
전진
우회전 좌회전
3. 적용 및 결과 분석 3.1 적용 대상
본 연구는 2008 년 9 월부터 12 월까지 PBL 기반 라인트레이서 초등로봇 프로그래밍 교육방법 [4] 을 토대로 로봇프로그래밍 교육을 실시하였고 , 2009 년 월부터 월까지 알고리즘적 사고문제 모델을 이용
1 2
한 초등로봇 프로그래밍 문제를 개발하여 2009 년 월부터 월 일까지 분 차시로 진행하였다
3 5 31 90 15 .
현재 영재아를 대상으로 로봇 프로그래밍교육을
실시하고 있으나 본 연구는 일반 초등학생들의 현
장 적용 사례를 추출하기 위해서 고학년에 해당하
는 4, 5, 6 학년 중 6 학년을 대상으로 실험을 실시하
였다 오차가 크지 않도록 다수의 아동들을 대상으 . 로 실험 적용해 보는 것이 신뢰도가 높겠으나 로봇 구입비용 적용 학교 여건 등으로 소수 , 8 명을 대상 으로 실험을 실시하였다 이로써 실제 현장에서 개 . 발된 방법의 적용사례를 추출하는데 의의를 두고자 한다 사전 실태에서 학업성취 수준은 . 2008 학년도 학기에 실시된 과목 중간고사 평균점수로 팀을
1 4
구성하는데 활용하고자 하였다 상위 . 90 점 이상 2 명을 A 팀 상위 그룹 90 점 이상 1 명과 80 점 이상 1 명을 B , 90 팀 점 이상 1 명과 70 점 이상 1 명을 C , 팀 점 이상 명과 점 이상 명을 팀으로 구성하
80 1 60 1 D
였다 .
표 유형 개발문제 및 모범답안
< 5-3> A B
경기장 모범답안
B T y p e
회전 세 번
< - 1 >
전진
우회전 좌회전
회전 세 번
< - 2 >
전진
우회전 좌회전
회전 세 번
< - 3 >
전진
우회전 좌회전
라인트레이서 로봇프로그래밍 문제별 난이도 분석 3.2
문제별 난이도 측정은 문제를 해결하기 전과 문제 를 해결하고 난 후 실시하였으며 학업성취도가 높 , 은 팀일수록 문제에 대한 체감 난이도 수치가 높게 나온 것으로 보아 더 쉽게 느낀다는 것을 알 수 있 다 또한 문제를 해결 하고 난 후의 난이도 측정값 . 을 보았을 때 전체적으로 난이도 수치가 상승하였 는데 이를 통해 문제를 해결하고 난 후에는 문제가 생각보다 쉬웠음을 느꼈다는 것을 알 수 있었다 . 특히 문제 해결 전 난이도 수치가 가장 낮아 문제 를 해결하는데 있어 어려움을 느꼈던 D 팀의 난이 도 수치 변화폭이 가장 높았는데 이는 학업성취도 , 는 문제 해결에 있어 아이들에게 난이도 측면에서 는 큰 영향을 끼치지 않음을 나타낸다고 할 수 있 다 각각의 난이도 수치는 아래 . < 표 6, 7> 과 같으 며 팀 별 난이도 변화 수치는 , < 표 8> 과 같다 .
표 문제별 난이도 분석 문제 해결 전
< 6> ( )
A B C D 평균
A 곡선한번 4.50 4.00 3.50 3.00 3.75 A 곡선두번 -1 3.50 3.50 3.00 2.50 3.13 A 곡선두번 -2 4.00 4.00 3.50 3.00 3.63 B 회전한번 4.00 4.00 3.50 3.00 3.63 B 회전두번 -1 4.00 4.00 3.00 3.00 3.50 B 회전두번 -2 4.50 4.00 3.00 3.00 3.63 B 회전세번 -1 4.50 4.00 4.00 3.50 4.00 B 회전세번 -2 4.00 4.00 3.50 3.00 3.63 B 회전세번 -3 4.00 4.00 3.50 2.50 3.50 평균 4.11 3.94 3.39 2.94 3.60
* 5.00( 매우 쉬움 ), 4.00 ( 쉬움 ), 3.00( 보통 ), 2.00( 어려움 ) 1.00( 매우 어려움 )
표 문제별 난이도 분석 문제 해결 후
< 7> ( )
문제 팀 A B C D 평균
곡선 한 번 5.00 5.00 4.50 4.50 4.75
곡선 두 번 - 1 4.50 4.50 4.00 4.00 4.25
곡선 두 번 - 2 5.00 4.50 4.50 4.00 4.50
회전 한 번 5.00 5.00 4.50 4.00 4.63
회전 두 번 - 1 4.50 4.50 4.00 4.00 4.25
회전 두 번 - 2 4.50 4.00 4.00 3.50 4.00
회전 세 번 - 1 5.00 5.00 4.50 4.00 4.63
회전 세 번 - 2 4.50 4.50 4.00 3.50 4.13
회전 세 번 - 3 4.50 4.50 4.50 4.00 4.38
평균 4.72 4.61 4.28 3.94 4.39
* 5.00( 매우 쉬움 ), 4.00 ( 쉬움 ), 3.00( 보통 ), 2.00( 어려움 ) 1.00( 매우 어 려움 )
표 팀별 난이도 변화 수치
< 8>
문제 팀 A B C D 평균
난이도 변화 수치 0.61 0.67 0.89 1.00 0.79
0 1 2 3 4
곡 선 한 번
곡 선 두 번 - 1
곡 선 두 번 - 2
회 전 한 번
회 전 두 번 - 1
회 전 두 번 - 2
회 전 세 번 - 1
회 전 세 번 - 2
회 전 세 번 - 3 문 제
개수
곡 선 한 번 곡 선 두 번 - 1 곡 선 두 번 - 2 회 전 한 번 회 전 두 번 - 1 회 전 두 번 - 2 회 전 세 번 - 1 회 전 세 번 - 2 회 전 세 번 - 3