<31352DB0ADB9AEBCB32E687770>



Similar documents
Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: (LiD) - - * Way to

230 한국교육학연구 제20권 제3호 I. 서 론 청소년의 언어가 거칠어지고 있다. 개ㅅㄲ, ㅆㅂ놈(년), 미친ㅆㄲ, 닥쳐, 엠창, 뒤져 등과 같은 말은 주위에서 쉽게 들을 수 있다. 말과 글이 점차 된소리나 거센소리로 바뀌고, 외 국어 남용과 사이버 문화의 익명성 등

<3130BAB9BDC428BCF6C1A4292E687770>

사진 24 _ 종루지 전경(서북에서) 사진 25 _ 종루지 남측기단(동에서) 사진 26 _ 종루지 북측기단(서에서) 사진 27 _ 종루지 1차 건물지 초석 적심석 사진 28 _ 종루지 중심 방형적심 유 사진 29 _ 종루지 동측 계단석 <경루지> 위 치 탑지의 남북중심

<B1E2C8B9BEC828BFCFBCBAC1F7C0FC29322E687770>

본문01

도비라

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

Journal of Educational Innovation Research 2018, Vol. 28, No. 2, pp DOI: IPA * Analysis of Perc

<313120B9DABFB5B1B82E687770>

1

장: 200 세외수입 관: 220 임시적세외수입 항: 223 기타수입 광역친환경농업단지사업 부가세 환급금 및 통장이자 79,440,130원 79, ,440 < 산림축산과 > 497, , ,244 산지전용지 대집행복구공사((주)하나식품)

<B9E9B3E2C5CDBFEFB4F5B5EBBEEE20B0A1C1A4B8AE20B1E6C0BB20B0C8B4C2B4D92E687770>

주지스님의 이 달의 법문 성철 큰스님 기념관 불사를 회향하면서 20여 년 전 성철 큰스님 사리탑을 건립하려고 중국 석굴답사 연구팀을 따라 중국 불교성지를 탐방하였습 니다. 대동의 운강석굴, 용문석굴, 공의석굴, 맥적산석 굴, 대족석굴, 티벳 라싸의 포탈라궁과 주변의 큰

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

단위: 환경정책 형산강살리기 수중정화활동 지원 10,000,000원*90%<절감> 형산강살리기 환경정화 및 감시활동 5,000,000원*90%<절감> 9,000 4, 민간행사보조 9,000 10,000 1,000 자연보호기념식 및 백일장(사생,서예)대회 10

입장

<31335FB1C7B0E6C7CABFDC2E687770>

6.24-9년 6월

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: * Suggestions of Ways

1) 음운 체계상의 특징 음운이란 언어를 구조적으로 분석할 때, 가장 작은 언어 단위이다. 즉 의미분화 를 가져오는 최소의 단위인데, 일반적으로 자음, 모음, 반모음 등의 분절음과 음장 (소리의 길이), 성조(소리의 높낮이) 등의 비분절음들이 있다. 금산방언에서는 중앙

06_ÀÌÀçÈÆ¿Ü0926

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

DBPIA-NURIMEDIA

레이아웃 1

<C3D6BFECBCF6BBF328BFEBB0ADB5BF29202D20C3D6C1BE2E687770>

우리나라의 전통문화에는 무엇이 있는지 알아봅시다. 우리나라의 전통문화를 체험합시다. 우리나라의 전통문화를 소중히 여기는 마음을 가집시다. 5. 우리 옷 한복의 특징 자료 3 참고 남자와 여자가 입는 한복의 종류 가 달랐다는 것을 알려 준다. 85쪽 문제 8, 9 자료

상품 전단지

::: 해당사항이 없을 경우 무 표시하시기 바랍니다. 검토항목 검 토 여 부 ( 표시) 시 민 : 유 ( ) 무 시 민 참 여 고 려 사 항 이 해 당 사 자 : 유 ( ) 무 전 문 가 : 유 ( ) 무 옴 브 즈 만 : 유 ( ) 무 법 령 규 정 : 교통 환경 재

2

DBPIA-NURIMEDIA

화이련(華以戀) hwp

ÆòÈ�´©¸® 94È£ ³»Áö_ÃÖÁ¾

歯1##01.PDF

<5BC1F8C7E0C1DF2D31B1C75D2DBCF6C1A4BABB2E687770>

120229(00)(1~3).indd

01Report_210-4.hwp

<C3D1BCB15FC0CCC8C45FBFECB8AE5FB1B3C0B0C0C75FB9E6C7E D352D32315FC5E4292E687770>



교육 과 학기 술부 고 시 제 호 초 중등교육법 제23조 제2항에 의거하여 초 중등학교 교육과정을 다음과 같이 고시합니다. 2011년 8월 9일 교육과학기술부장관 1. 초 중등학교 교육과정 총론은 별책 1 과 같습니다. 2. 초등학교 교육과정은 별책

시험지 출제 양식

¸é¸ñ¼Ò½ÄÁö 63È£_³»Áö ÃÖÁ¾

177

제주어 교육자료(중등)-작업.hwp

<C3D6C1BE5FBBF5B1B9BEEEBBFDC8B0B0DCBFEFC8A C3D6C1BEBABB292E687770>

초등국어에서 관용표현 지도 방안 연구

6±Ç¸ñÂ÷

과 위 가 오는 경우에는 앞말 받침을 대표음으로 바꾼 [다가페]와 [흐귀 에]가 올바른 발음이 [안자서], [할튼], [업쓰므로], [절믐] 풀이 자음으로 끝나는 말인 앉- 과 핥-, 없-, 젊- 에 각각 모음으로 시작하는 형식형태소인 -아서, -은, -으므로, -음

민주장정-노동운동(분권).indd

untitled

<C0CEBCE2BABB2D33C2F7BCF6C1A420B1B9BFAAC3D1BCAD203130B1C72E687770>


E1-정답및풀이(1~24)ok

<C1B6BCB1B4EBBCBCBDC3B1E2342DC3D6C1BE2E687770>

< BDC3BAB8C1A4B1D4C6C75BC8A3BFDC D2E687770>

최우석.hwp

교사용지도서_쓰기.hwp

cls46-06(심우영).hwp

0429bodo.hwp

時 習 說 ) 5), 원호설( 元 昊 說 ) 6) 등이 있다. 7) 이 가운데 임제설에 동의하는바, 상세한 논의는 황패강의 논의로 미루나 그의 논의에 논거로서 빠져 있는 부분을 보강하여 임제설에 대한 변증( 辨 證 )을 덧붙이고자 한다. 우선, 다음의 인용문을 보도록

伐)이라고 하였는데, 라자(羅字)는 나자(那字)로 쓰기도 하고 야자(耶字)로 쓰기도 한다. 또 서벌(徐伐)이라고도 한다. 세속에서 경자(京字)를 새겨 서벌(徐伐)이라고 한다. 이 때문에 또 사라(斯羅)라고 하기도 하고, 또 사로(斯盧)라고 하기도 한다. 재위 기간은 6

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

Journal of Educational Innovation Research 2018, Vol. 28, No. 1, pp DOI: * A Study on the Pe

제3장.ppt

자율주행 및 지뢰탐지 HRI, 원격제어, 인지, 항공우주 물체인식, HRI 물체조작, 우주탐사 헬스케어, 센서 지능로봇 기술 물체인식, 센서, 조작 원격제어 인지, HRI, 자율주행 자율주행 [ 1] 1 로봇 제조, 공 자 인, 지 작 서 스, 인서 스, 지,,, 인자

大学4年生の正社員内定要因に関する実証分析

<B1B3B9DFBFF83330B1C7C1A631C8A35FC6EDC1FDBABB5FC7D5BABB362E687770>

<C5EBC0CFB0FA20C6F2C8AD2E687770>

03±èÀçÈÖ¾ÈÁ¤ÅÂ

45-51 ¹Ú¼ø¸¸

<30382E20B1C7BCF8C0E720C6EDC1FD5FC3D6C1BEBABB2E687770>

CR hwp

(5차 편집).hwp

서론 34 2

<C1DF3320BCF6BEF7B0E8C8B9BCAD2E687770>

Journal of Educational Innovation Research 2016, Vol. 26, No. 3, pp DOI: Awareness, Supports

Journal of Educational Innovation Research 2018, Vol. 28, No. 3, pp DOI: NCS : * A Study on

- 후쿠시마 원전사고의 진행과정 후쿠시마 제1원전(후쿠시마 후타바군에 소재)의 사고는 2011년 3월 11일 일본 동북부 지방 을 강타한 규모 9.0의 대지진으로 인해 원자로 1~3호기의 전원이 멈추게 되면서 촉발되었다. 당시에 후쿠시마 제1원전의 총 6기의 원자로 가

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

레이아웃 1

한국교양교육학회/전국대학교양교육협의회/한국교양기초교육원 주최 2015 추계전국학술대회 프로그램 주제 교양교육의 : 당면과제와 전망 일시 : 2015년 11월 20일(금) 14:00~19:00, 21일(토) 09:00~17:00 장소 : 경남대학교 1공학관(공과대학 6층

<C5F0B0E82D313132C8A328C0DBBEF7BFEB292E687770>

Journal of Educational Innovation Research 2017, Vol. 27, No. 2, pp DOI: : Researc

< C7D0B3E2B5B520C0DABFACB0E8BFAD20B8F0C0C7C0FBBCBAB0EDBBE72020B9AEC1A62E687770>

±èÇö¿í Ãâ·Â

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

제19권 제3호 Ⅰ. 문제제기 온라인을 활용한 뉴스 서비스 이용은 이제 더 이 상 새로운 일이 아니다. 뉴스 서비스는 이미 기존의 언론사들이 개설한 웹사이트를 통해 이루어지고 있으 며 기존의 종이신문과 방송을 제작하는 언론사들 외 에 온라인을 기반으로 하는 신생 언론사

°í¼®ÁÖ Ãâ·Â

WTVLMIYIJVCY.hwp

Software Requirrment Analysis를 위한 정보 검색 기술의 응용

<313920C0CCB1E2BFF82E687770>

06_±è¼öö_0323

<30322D28C6AF29C0CCB1E2B4EB35362D312E687770>

인문사회과학기술융합학회

Journal of Educational Innovation Research 2018, Vol. 28, No. 4, pp DOI: A Study on Organizi

진단, 표시・광고법 시행 1년

09. 정덕배-중국생활체험기.hwp

Transcription:

레고 마인드스톰 로봇을 이용한 프로그래밍 입문 교육의 효과 측정 Measuring the Effectiveness of Teaching Introductory Programming Using LEGO Mindstorms Robots 김 태 희 * 강 문 설 ** Tae-Hee Kim Moon-Seol Kang 요 약 대학 생활을 시작하는 프로그래밍 초보자들에 대한 프로그래밍 입문 교육이 어렵다는 것을 모두 알고 있으며, 특히 어려 운 부분은 신입생들이 프로그래밍 작업에 쉽고 빠르게 적응할 수 있도록 학습 동기를 부여하고 학습 의욕을 높이는 것이다. 본 논문은 프로그래밍 초보자들이 프로그래밍 교육을 보다 쉽고 즐겁게 받을 수 있도록 학습 동기를 부여하고 학습 의욕을 높이기 위한 목적으로 프로그래밍 입문 교육에 레고 마인드스톰 로봇을 이용하는 방법을 제안하였다. C 프로그래밍 교육에서 프로그래밍 초보자들의 학습효과를 촉진시킬 수 있는 합리적인 개선 방안을 찾아보고, 학생들의 흥미 및 학습의욕의 부족 문 제를 해결하기 위한 방법으로 레고 마인드스톰 로봇을 이용하여 교육을 실시하였다. 제안한 방법을 대학교 신입생들을 대상 으로 C 프로그래밍 입문 교육 과정에 적용하여 교육을 시킨 결과, 프로그래밍에 대한 학습 동기와 학습 의욕의 개선을 통하여 프로그래밍 교육의 학업 성취도가 향상되었음을 알 수 있었다. 이러한 결과는 학생들이 레고 마인드스톰 로봇을 이용한 수업 을 통해서 교과목에 대한 흥미, 학습 동기 및 학습 의욕의 측면에서 통계적으로 의미 있는 향상이 있음을 보여준 것이라고 하겠다. ABSTRACT It is difficult for us to teach the introduction course of programming to beginners just starting their college life. What is particularly hard to do is to provide them with learning motivation so that the freshmen can be easily and rapidly adapted to programming work and to enhance their will to learn. In this paper, we suggest a method to apply LEGO Mindstorms robot to the introduction course of programming in purpose to allow programming beginners to be motivated and have higher will to learn so that they can receive programming education easily and joyfully. This paper attempts to find reasonable methods for improvement which can help programming beginners to be motivated and encouraged to learn in the course of C programming education and can facilitate learning effects as well, and conducts education using LEGO Mindstorms robot as a way to solve problems like students low interest or will to learn. According to the result of providing the freshmen with the introduction course of C programming to which the suggested method was applied, it was found that their academic achievement in programming education enhanced through their increased motivation and will to learn programming. This result shows that students interest, motivation, and will to learn the subject are statistically significant improvement through the course that employs LEGO Mindstorms robot. KeyWords : LEGO Mindstorms, Mindstorms Robots, Programming Novices, Programming Education, Learning Effect, 레고 마 인드스톰, 마인드스톰 로봇, 프로그래밍 초보자, 프로그래밍 교육, 학습 효과 1. 서 론 * 정 회 원 : 동신대학교 디지털콘텐츠학과 조교수 thkim@dsu.ac.kr ** 종신회원 : 광주대학교 컴퓨터공학과 교수 mskang@gwangju.ac.kr [2010/06/14 투고 - 2010/06/15 심사(2010/07/26 2차) - 2010/08/16 대학교의 컴퓨터 관련학과에서 학생들이 처음 접하게 되는 프로그래밍 입문 교육은 학생들의 심사완료] 한국 인터넷 정보학회 (11권4호) 159

학습 능력, 흥미 및 관심의 부족으로 인해 기초 이론 및 알고리즘 등을 충분히 교육하기에 어려 운 실정이다. 특히, C 프로그래밍 언어는 알파벳 을 기초로 명령어 중심의 인터페이스를 이용하여 만들어졌기 때문에 영어에 서투른 전문계, 또는 수리와 과학 영역에 흥미가 적은 인문계 출신 학 생들은 알고리즘은 물론 기초 문법 수업조차 따 라가기가 어려운 실정이다[1, 2, 3]. 컴퓨터 프로그래밍을 처음 접하거나 배우는 학 생들에게 프로그래밍 교육을 효과적으로 실시하 기 위해서는 학생들의 관심과 흥미를 고려하는 것이 무엇보다 중요하다. 그러나 프로그래밍 교육 을 실시함에 있어 학생들에게 문법에 대한 기계 적인 암기나 프로그래밍 언어의 사용 방법을 익 히는 것에만 치중하고 있어서 학생들의 학습 부 담이 크고, 논리적 사고력을 기르는데 적합한 방 법이 되지 못하고 있다. 또한 학생들 간의 수준 차이로 학습에 대한 관심과 흥미를 저하시키고 있고, 배워야 할 부분이 너무 난해하고 이론 중심 의 구성과 프로그래밍 과정에서 오류가 많이 발 생하며, 너무 쉽거나 복잡한 예제들로 구성되어 있거나 눈높이에 맞출 수 있도록 구조적이지 못 한 경우가 많기 때문에 프로그래밍 교육의 효과 를 개선하기 어렵다[4, 5]. 학생들의 흥미와 동기를 유발할 수 있는 레고 마인드스톰 로봇을 활용하여 프로그래밍 입문 교 육의 효과를 제고하는 방법에 관심이 증가하고 있다. 레고 마인드스톰 로봇을 이용한 프로그래밍 교육은 다양한 형태와 기능을 가진 로봇을 제어 함으로써 다양한 형태로 움직이는 로봇을 만들 수 있고, 로봇을 제작하여 제어하는 프로그램을 작성하는 과정에서 학생들은 자신이 만든 프로그 램에 따라 움직이는 로봇을 보면 로봇과 프로그 래밍에 대한 흥미와 호기심을 가지고 학습에 참 여할 수 있게 된다. 이러한 학습 동기 유발은 앞 서 언급한 C 프로그래밍 학습에 대한 진입 장벽 을 넘을 수 있는 원동력을 제공하여 학업 성취도 향상에도 영향을 미칠 것으로 판단된다[3, 6]. 본 논문에서 프로그래밍 초보자들이 프로그래 밍 교육을 보다 쉽고 즐겁게 받을 수 있도록 동기 를 부여하기 위한 목적으로 프로그래밍 입문 교 육에 레고 마인드스톰 로봇을 이용하는 방법을 제안하였다. C 프로그래밍 교육에서 프로그래밍 초보자들의 학습 동기와 의욕을 불러일으키고 학 습효과를 촉진시킬 수 있는 합리적인 개선 방안 을 찾아보고, 학생들의 흥미 및 학습의욕의 부족 문제를 해결하기 위한 방법으로 로봇을 적용하였 다. 그리고 이 모델을 적용하여 학생들의 학업 성 취도에 미치는 효과를 측정하여, C 프로그래밍 학 습에서 레고 마인드스톰 로봇의 적용 가능성을 검증하였다. 제안한 방법을 대학 1학년 학생들을 대상으로 C 프로그래밍 입문 교육 과정에 적용하 여 교육을 시킨 결과, 프로그래밍 교육의 학습 효 과가 개선됨을 알 수 있었다. 논문의 구성은 다음과 같다. 2장에서 프로그래 밍 교육의 현실 및 문제점, 레고 마인드스톰 모델 및 이를 활용한 프로그래밍 교육 현황 등의 이론 적인 배경을 기술하고, 3장에서 레고 마인드스톰 모델을 적용한 프로그래밍 교육 방법에 대하여 설명한다. 그리고 4장에서 제안한 교육 방법을 대 학 신입생들에게 적용하여 프로그래밍 교육의 효 과를 통계적인 방법을 이용하여 검증하고 분석한 결과를 기술하고, 5장에서 결론 및 향후 연구방향 을 기술한다. 2. 이론적 배경 2.1 프로그래밍 교육 프로그래밍 교육은 폭넓은 컴퓨팅 기술에 대한 소양을 심어 준다. 학생들은 프로그래밍 경험을 통하여 컴퓨터의 처리과정에 대하여 이해하게 되 고, 컴퓨터 하드웨어에 대한 추상적인 개념을 정 립할 수 있게 된다. 따라서 학생들은 어떤 상업적 인 소프트웨어가 잘 만들어진 것인지, 자신이 원 하는 문제가 컴퓨터를 활용하여 어떻게 처리될 것인지에 대한 지식을 축적하게 된다. 또한 프로 160 2010. 8

그래밍 교육은 분석력, 논리력, 적응력, 응용력, 창의력, 통찰력, 사고력, 예측력, 조직력, 판단력, 문제해결 능력 등을 길러 전공교과목 학습 향상 에 많은 도움을 주고 있으며, 국가적 미래 동력 산업인 정보기술 및 과학기술 인력양성에 크게 기여할 것이다[7]. 프로그래밍 학습의 교육적 효과에 초점을 맞추 어 정의하면 프로그래밍의 습득 및 여러 명령어 를 혼합하여 사용하는 관련 규칙의 이해에 있고, 프로그래밍 과정에서 요구되는 문제 해결과 지속 적인 오류 검증 및 수정의 작업에서 요구되는 반 성적 사고를 통해 인지 기능의 습득에 있다. 또한, 프로그래밍 단계는 일반적으로 문제를 해결하는 과정과 비슷하기 때문에 컴퓨터 프로그래밍은 문 제해결의 한 유형이라고 논의되어 왔다. 문제 해 결의 네 단계, 즉 문제 이해, 계획 수립, 실행, 반 성은 프로그래밍에서 문제를 이해하고, 프로그램 을 설계하고, 그것을 컴퓨터로 실행한 후 오류를 수정하는 것에 각각 대응한다. 프로그램을 작성함 으로써 컴퓨터 프로그래밍 언어 이상의 것을 배 우게 되어 주어진 과제를 완수하는 것뿐만 아니 라 다른 문제 상황을 해결할 때 제공할 수 있는 강력한 아이디어를 습득할 수 있다[7, 8]. 2.2 레고 마인드스톰 NXT 레고 마인드스톰(LEGO Mindstorms), CyberMaster, 그리고 Spybotics 로봇들은 로봇의 다양한 기능을 구현할 수 있는 훌륭하고 멋진 완구들이다. 원래 레고 마인드스톰은 미국 MIT 대학과 블록 시스템 완구로 유명한 레고사( 社 )가 10여 년에 걸쳐 공동 연구한 산물로 1997년 미국과 영국에서 소개된 이후 로봇 공학에 관심 있는 사람들로부터 사랑 을 받아왔다. 레고사에서 최근에 선보인 레고 마 인드스톰 NXT(Next Generation of Robotics)는 대 학생, 연구원의 제품 개발, 최첨단 자동화 제품 제 작에 유용하게 이용되는 시스템이다[9, 10, 11]. (그림 1) 레고 마인드스톰 NXT 브릭(brick) 레고 마인드스톰 NXT는 519개의 블록과 각종 부품으로 구성되며, 그 중의 핵심은 그림 1과 같 이 인텔리전트 브릭(Intelligent Brick)이라 부르는 로봇 컨트롤러 블록이다. 인텔리전트 브릭은 로봇 의 두뇌 역할을 담당하는 부분으로 사용자가 작 성한 프로그램의 내용에 따라 로봇의 행동을 제 어하고, 각종 센서에서 수집된 정보를 분석한다. NXT 브릭은 32비트의 ARM7 마이크로프로세서, 64KB 램(RAM)과 256KB 플래시(flash) 메모리가 탐재되어 있으며, 동작 상태를 확인할 수 있는 LCD 디스플레이와 조작 버튼, 스피커 등이 있다. 그리고 그림 2와 같이 센서 등을 연결하는 4개의 입력 포트와 모터를 연결할 수 있는 3개의 출력 포트 등 7개의 센서도 NXT 브릭의 일부분이다. 특히, 마인드스톰 NXT에서 사용되는 3개의 상호 작용하는(interactive) 서보모터는 회전 센서를 내 장해 로봇을 부드럽게 움직이고 정확하게 속도를 제어할 수 있도록 한다[9]. (그림 2) NXT 브릭과 연결된 7개의 센서 한국 인터넷 정보학회 (11권4호) 161

2.3 NXT-G와 RobotC 로봇이 제대로 된 동작을 할 수 있도록 로봇을 제어할 수 있는 프로그램이 많이 제공되고 있어 서 초보자도 어렵지 않게 프로그래밍을 할 수 있 다. 대표적으로 그림 3의 NXT-G(LEGO Mindstorms Education NXT software)는 LabView 언어를 바탕으로 설계된 아이콘 중심 프로그래밍 방식으로 별도의 프로그래밍 언어를 습득하지 않 아도 프로그래밍 개념 학습이 가능한 소프트웨어 이다. 또한, RobotC 언어를 통해 C 기반으로 프로 그래밍을 할 수 있다. 프로그램은 윈도우즈 운영 체제를 사용하는 PC에서 모두 가능하며, 프로그 램된 내용은 USB 2.0 케이블로 PC와 인텔리전트 브릭을 연결하여 저장한다. 블루투스(Bluetooth) 기능을 지원하기 때문에 무선으로 프로그램 내용 을 전송할 수 있고, 특히 블루투스 기능을 활용하 면 블루투스를 지원하는 노트북이나 휴대폰, PDA 등을 이용해 무선으로 직접 제어하는 것도 가능 하며, 로봇이 블루투스를 지원하는 기기를 제어하 도록 만들 수도 있다[9, 10, 11]. (그림 3) NXT-G 화면(카트라이더) 그리고 C 언어 기반의 RobotC 언어를 통해 프 로그래밍이란 무엇인지? C 언어를 이용하여 프로 그램을 어떻게 작성하는지를 설명하여 C 프로그 래밍의 기초를 다질 수 있다[9]. 레고 마인드스톰 NXT 로봇을 구동하기 위한 C 언어 형식의 프로 그램으로 NXC(Not exactly C), RobotC 등이 있다. 그 중에서 RobotC 언어는 C/C++ 언어에서 사용되 는 자료형, 변수, 연산자, 제어문, 배열, 함수 등이 거의 그대로 사용되고 있다. 아직 포인터나 자료 형 일부가 제대로 지원되지 않지만 프로그램을 처음 배우는 사용자에게 쉽게 프로그램의 기본 개념 및 동작 원리를 학습하는데 유용하게 사용 되고 있다[9]. 2.4 프로그래밍 교육 관련 기존 연구 프로그래밍 교육이 어떤 방법적 과정과 교수 전략을 통해 진행될 때 효과적일 수 있을지에 대 한 탐색이 여러 연구자들에 의해 진행되었다. 컴 퓨터 프로그래밍 교육에 적용 가능한 효과적인 교수 방법의 탐색적 대안에서 컴퓨터는 외국어의 경우와 같이 학습자간의 개인차나 수준차가 매우 크게 나타날 수 있을 뿐만 아니라 개인의 노력이 나 능력 고하에 따라 새로운 기회를 개척할 수 있 는 도구가 될 수 있으므로 그 교육의 과정에서 학 생의 몰입과 동기 유발을 위한 처방적인 교수 전 략이 적극적으로 고안될 필요가 있다. 학생은 교수에게서 배운 학습 과제를 반복 연 습하거나 심화 보충할 필요가 있는데, 다수의 학 생이 수업하는 학습에서 실시되고 있는 종류의 전통적인 교수 방법으로는 학생 개인별로 학습내 용의 교정, 심화, 보충학습 과정을 실현하기가 매 우 어려운 실정이다. 이러한 문제점을 해결하기 위해서 개인차, 즉 학생의 학습 능력에 따라 개별 화 학습이 가능한 시스템을 개발할 필요가 있으 며, 이러한 시스템을 통해 보다 나은 학업성취와 학습시간 단축의 효과를 기대할 수 있다. 프로그래밍 교육은 실습중심 수업으로 들어가 기 전에 기초이론 및 알고리즘 학습이 선행되어 야 하며, 이것이 습득되지 않으면 프로그래밍 교 육을 받는데 있어 더욱 흥미를 잃게 되고 어렵다 고만 생각하게 되므로 기초이론 및 알고리즘 학 습이 체계적으로 이루어 져야 한다. 또한, 프로그 래밍 교육에 있어서 기초이론 및 알고리즘 교육 을 통한 문제해결 학습 방식이 프로그래밍 교육 162 2010. 8

(표 1) 프로그래밍 교육 관련 주요 연구 결과 연구자 연구 분야 주요 연구 내용 Barnes (2002) [2] 김승환 외 (2006) [6] 배 상용 (2009) [7] 홍 기 천 (2009) [12] 신승용 외 (2009) [13] 조 용만 (2007) [14] 김 태완 (2005) [15] Meyer 외 (2007) [16] Hood 외 (2005) [17] Lawhead외 (2002) [18] Fagin 외 (2003) [19] 레고 마인드스톰 모델을 이용한 자바 교육 레고 마인드스톰을 이용한 C 언어 교육 로봇을 이용한 C 프로그래밍 교육 프로그래밍 언어 수업 방안 프로그래밍이 가능한 로봇의 활용 방안 레고 로봇을 활용한 프로그래밍 교육 모형 프로그래밍 학습이 창의력에 미치는 효과 레고 마인드스톰 로봇을 이용한 초보자의 교육환경 레고를 이용한 프로그래밍 언어 교육 로봇을 이용한 프로그래밍 교육의 로드맵 컴퓨터 과학 교육에서 로봇의 효과 측정 학생들에게 학습에 대한 흥미와 동기를 부여하기 위한 한 가지 방법으로 레고 마인드 스톰 키트를 사용하며, 자바 교육에서 레고 마인드스톰 키트들을 조립하여 활용하고 분석 결과, 긍정적인 효과가 있음을 입증 레고 마인드스톰 모델 기반의 Robotic Invention Systems을 이용하여 학생들에게 C 언 어를 교육하기 위한 아이디어를 제안하였으며, 대학 신입생들에게 코딩을 위한 기본적 인 기술을 교육하는데 효과가 있음을 입증 프로그래밍 학습에서 로봇을 이용한 수업이 전문계 고등학생들의 학업 성취도에 미치 는 영향을 알아보고 프로그래밍 학습에서 로봇의 적용 가능성을 검증 레고 마인드스톰 NXT라는 로봇을 활용하여 프로그래밍 수업을 재미있게 진행할 수 있 는 예비교사의 프로그래밍 언어 수업 방안에 대한 고찰 프로젝트와 게임을 활용한 로봇 게임 프로젝트 라는 새로운 형식의 학습 방법을 마련 하여 학생들에게 적용하여, 직접 로봇을 조작하는 활동이 학교 교육활동에 새로운 가 능성을 가져올 수 있음을 고찰 학생들의 효과적인 프로그래밍 교육을 위해 로보랩 프로그램과 C 언어의 제어문을 이 용하여 프로그래밍 학습 활동을 위한 새로운 학습 모형을 개발 레고 마인드스톰 프로그래밍 학습이 학생들의 창의력 신장에 미치는 영향을 고찰하고, 이들의 상호작용이 문제해결, 사고력 및 창의력 신장에 많은 도움이 되고 있음을 분석 레고 마인드스톰 로봇을 이용하여 대학 1학년들의 프로그래밍 교육을 위한 프로그래밍 환경인 Robotran을 개발하여 AI 분야 프로그래밍에 적용하고 효과를 분석 프로그래밍 언어와 다른 컴퓨팅 개념을 가르치기 위하여 레고 브릭(bricks)을 사용한 혁신적인 방법을 제안하여, 대학 신입생들에게 다양한 개념들을 가르치기 위해 이 방 법을 효과적으로 적용 레고 마인드스톰 로봇을 이용하여 프로그래밍 입문을 가르치기 위한 로드 맵을 제시하 였으며, 객체지향 프로그래밍 패러다임의 물리적 모델뿐만 아니라 객체의 구체적인 예 제로서 로봇을 제안 컴퓨터 과학 분야의 교육을 위해 로봇을 사용한 실험 결과, 즉 로봇 기반의 실험과 비 ( 非 )로봇 기반의 실험으로부터 얻은 800명의 학생들에 대한 평가에서 로봇의 사용이 측 정 가능한 효과가 있는 것으로 분석 의 중요성을 강조한 부분이다. 표 1은 컴퓨터 프 로그래밍 교육 방법을 개선하기 위하여 레고 마 인드스톰 모델이나 로봇을 활용한 기존의 연구 결과들이다. 의 C 프로그래밍 입문 교육에서 레고 마인드스톰 로봇을 활용하였을 때 학업 성취도에 효과적인 영향을 미치는가를 알아보기 위한 것이며, 연구의 절차는 그림 4와 같다. 3. 연구 방법 및 내용 3.1 연구 절차 본 논문은 대학교 컴퓨터공학과 신입생들 (그림 4) 레고 마인드스톰 로봇을 이용한 프로그래밍 교육의 연구 절차 한국 인터넷 정보학회 (11권4호) 163

2009학년도 1학기의 C 프로그래밍 입문 교육은 전통적인 방법으로 수업을 진행하여 학업 성취도 를 평가하였으며, 2010학년도 1학기의 C 프로그 래밍 입문 교육은 레고 마인드스톰 로봇을 이용 한 수업을 15회(한 학기 수업은 30회)에 걸쳐 매 회 75분씩 C 프로그래밍 교과목 시간에 실습을 하였다. ⑴ 연구 대상의 선정 및 사전 평가 본 논문에서 연구 대상은 대학교 컴퓨터공 학과 신입생을 대상으로 선정하였으며, 2009학년 도 신입생과 2010학년도 신입생들의 대학교 입학 성적과 수능성적 평균점수(언어, 수리, 외국어 영 역만 포함)를 이용하여 사전 평가를 실시하였으 며, 3.2절에서 자세히 기술한다. ⑵ 사전 활동 : 학습 안내 C 프로그래밍 수업에 레고 마인드스톰 로봇을 이용하는 이유에 대해 학생들은 처음에 의하게 생각하고 당황스러워 할 수 있기 때문에 2010학 년도 신입생에게는 첫 번째 주에 강의 내용 및 진 행 방법을 설명하였다. 프로그래밍 교과목을 배워 서 다양한 활동을 할 수 있다는 것을 레고 마인드 스톰 로봇의 제어를 통하여 경험하게 하고, 미래 유망 산업으로 각광을 받고 있는 로봇에 대한 안 내를 하였다. ⑶ 레고 마인드스톰 로봇을 이용한 학습 학습 효과를 분석하기 위한 실험을 위하여 실 험집단과 비교집단에게 모두 C 프로그래밍 언어 에 대한 기초 문법 교육을 실시하였으며, 2009학 년도 신입생에는 프로그래밍실습실에서 전통적 인 교수 방법으로 문법 설명, 예제 실습 및 과제 물 처리 과정으로 진행하였다. 2010학년도 신입생 에게는 전통적인 교수 방법뿐만 아니라 프로그래 밍실습실에서 레고 마인드스톰을 이용하여 제작 된 로봇(예 : 라인트레이서)을 이용한 예제 실습 및 과제물 처리를 추가적으로 진행하였으며, 교수 -학습 활동에 대한 내용은 3.3절에서 자세히 기술 한다. ⑷ 학업 성취도 평가 및 분석 학업 성취도는 대학교에서 일반적으로 적용하 고 있는 출석, 과제물, 수시평가, 중간고사, 기말 고사 점수를 이용하여 평가하였다. 전통적인 교수 방법으로 교육한 학생들의 학업 성취도와 레고 마인드스톰을 활용한 교수 방법으로 교육한 학생 들의 학업 성취도를 평가하여 통계적인 방법으로 분석을 실시한다. 즉, 레고 마인드스톰 로봇을 이 용한 교육이 기본적으로 낮은 학습 동기와 의욕 을 가진 학생들에 동기를 부여하고 의욕을 갖도 록 하여 교육적인 측면에서 효과가 있었는지를 학업 성취도를 이용하여 평가하고 분석하였다. 3.2 연구 대상 본 논문에서 레고 마인드스톰 로봇을 이용한 C 프로그래밍 입문 교육의 효과에 대한 연구를 수 행하기 위한 연구 대상은 수능성적이 중위권(4등 급~6등급 사이)인 대학교 컴퓨터공학과의 2009학년도와 2010학년도 신입생을 실험 대상으 로 하였다. (표 2) 연구 대상 집단의 선정 집단 실험 집단 비교 집단 구분 신입생 2010학년도 2009학년도 수 시 10명 20명 정 시 21명 10명 계 31명 30명 표 2와 같이 2009학년도 신입생 30명과 2010학 년도 신입생 31명을 대상으로 연구를 실시하였으 며, 2009학년도 신입생들은 비교 집단으로 전통적 인 방법을 이용하여 C 프로그래밍 입문 교육을 실 시하였고, 2010학년도 신입생들은 실험 집단으로 164 2010. 8

레고 마인드스톰 로봇을 이용하여 C 프로그래밍 입문 교육을 실시하였다. 본 논문에서 독립변인은 레고 마인드스톰 로봇을 적용한 수업이며, 종속변 인은 프로그래밍 입문 교육에서 학업 성취도이다. 실험집단과 비교집단 간에 학습 능력 수준에서 차 이가 있는지 검증하기 위하여 2009학년도 신입생 들과 2010학년도 신입생들의 입학성적(학생부 성 적 + 수능성적 = 1000점)과 수능을 응시한 학생들 만을 대상으로 한 수능성적(언어, 수리, 외국어의 평균 점수)에 대한 t-검정을 실시하였다. (표 3) 입학 성적의 검증 결과 구 분 N M SD t P 실험집단 31 763.4 196.5 0.077 0.469 비교집단 30 766.5 88.5 (표 4) 수능 성적의 검증 결과 구 분 N M SD t P 실험집단 25 86.2 11.1-1.715 0.047 비교집단 16 80.5 9.5 표 3과 표 4와 같이 유의수준 0.05에서 학습 능 력 수준은 통계적으로 유의한 차이가 없는 것으 로 나타났다. 따라서 학습 능력 수준에서 실험집 단과 비교집단은 동일한 집단으로 간주할 수 있 다(귀무가설 H0 : 실험집단 = 비교집단, 대립가설 H1 : 실험집단 > 비교집단). 3.3 교수-학습 모형 레고 마인드스톰을 이용한 프로그래밍 수업의 교수-학습 활동은 표 5와 같이 6단계로 이루어지 고, 이 교수-학습 활동은 표 6에 제시한 내용을 대 상으로 진행된다. 학습 단계 1과 2의 학습 목표 설정 및 문제 확인에 기술되어 있는 바와 같이 로 봇을 이용한 프로그래밍 수업은 학습자들이 배우 게 되는 C 언어의 문법과 구조, 그리고 이들을 이 해하는데 도움이 되는 프로그래밍 실습 문제로 구성되어 있으며, 실습 문제는 학습자들이 실생활 에서 쉽게 접할 수 있는 로봇의 움직임과 관련되 어 있으면서, 비구조적인 문제임을 전제로 한다. 학습 목표와 실습 문제가 주어지면 각 팀은 그 문제를 통해 자신들이 학습하게 될 학습 목표를 확인하며, 주어진 문제를 해결하기 위해서 프로그 램 작성 및 로봇이 작동되는 과정 등 현재 알고 있는 사실들을 나열하고 더 알아야 할 사항들을 찾아보는 순서로 활동이 이루어지게 된다(학습 단계 3). 그리고 다음 단계는 각 팀별, 개인별로 문제 해결을 위해 다양한 해결 방안을 찾아보게 되며, 이때 학생들은 팀 토론을 통해 문제 해결을 위한 다양한 방법을 설정하게 되고, 학생들은 이 방법들에 대해서 개별/팀별 학습을 통해서 문제 해결을 위한 학습 내용을 공유한다. 또한 이 과정 에서 학생들은 자신들의 프로그램을 수정하는 과 정을 통해서 C 언어의 문법과 구조를 이해하게 된다(학습 단계 4). 결국 이러한 과정을 여러 번 반복하여 프로그램을 작성하여 수정하고 로봇의 작동 과정을 확인하며, 이에 대한 팀별 발표 및 토론 과정을 통하여 다른 팀으로부터의 피드백, 또는 다른 팀의 결과에 대한 논의 등 지식 구성과 지식 공유를 경험하도록 한다(학습 단계 5). 이러 한 과정을 마치면 학습자들을 대상으로 각 단원 별로 지필평가를 실시하고 학습 결과를 정리하며, 교수자도 해당 단원에 대한 학습자들의 의견을 수렴하는 등 자체 평가를 실시한다(학습 단계 6) 3.4 레고 마인드스톰 로봇을 이용한 C 프로그 래밍 교육 본 논문에서 제안한 레고 마인드스톰을 이용한 C 프로그래밍 교육은 대학교 컴퓨터공학과 2010학년도 신입생들을 대상으로 2010학년도 1학 기 동안 실시하였다. 교육 내용은 레고 마인드스 톰 로봇을 이용하여 C 프로그래밍 언어의 기본 개념, 자료형, 제어문과 배열에 관련된 문법 및 알 고리즘을 이해할 수 있도록 구성하였으며, 주요 내용은 표 6에 요약되어 있는 것과 같이 15차시 중 로봇을 이용하면 명령문의 이해에 도움이 될 수 있는 내용을 대상으로 하였다. 한국 인터넷 정보학회 (11권4호) 165

(표 5) 레고 마인드스톰 로봇을 이용한 프로그래밍 수업의 교수-학습 활동 학습단계 학습유형 교수 - 학습 활동 비고 1. 학습 목표 설정 2. 문제 확인 3. 문제 해결 4. 협동/ 토의 학습 5. 결과 발표 6. 정리/ 평가 전체학습 전체학습 팀별학습 개별학습 팀별학습 전체학습 전체학습 개별학습 학습해야 할 C 언어의 문법 및 구조 소개 학습해야 할 C 언어의 문법/구조의 성격 및 특징 파악 교수와 학습자의 역할을 안내 학습목표 달성을 위한 로봇을 이용한 프로그래밍 수업 내용을 소개 학생들이 수행하는 학습활동을 자신의 것으로 내면화 할 수 있도록 안내 실습에 활용할 로봇 소개(제작된 로봇의 기능, 특징 및 보완 방법 등) 팀별로 학습 목표를 검토하고 문제 해결 방안을 도출 NXT-G와 RobotC를 이용한 프로그램 작성 및 로봇 작동 결과 확인 C 언어의 문법 및 구조에 대해 알고 있는 사실과 배워야 할 사실을 확인 각 팀에게 주어진 실습 문제를 NXT-G/RobotC/로봇을 이용하여 해결 팀별로 로봇을 이용한 실습을 수행하면서 C 언어의 문법 및 구조를 이해 문제 해결을 위한 다양한 시도 및 결과 분석 새롭게 학습한 지식을 활용하여 C 언어의 문법 및 구조를 정리 팀별로 의견을 전달하는 과정을 통해 지식을 공유 전달 내용은 개별 및 팀별로 정리 팀별로 로봇을 이용한 프로그래밍 실습 과정 및 결과를 토론 로봇을 이용한 실습 결과를 토대로 C 언어의 문법 및 구조의 정리 프로그래밍 학습 결과에 대한 개별 및 팀별 평가 강 의 강 의 강 의 실 습 실 습 과제물 토 론 강 의 (표 6) 로봇을 이용한 C 프로그래밍 교육의 주요 내용 주제 내 용 관련 명령문 비고 순차 선택 반복 배열 함수 알고 리즘 자료형(식별자, 상수와 변수, 변 수영역 선언, 자료형)과 연산자 (대입, 산술, 논리, 관계, 비트)를 이해하기 위한 RobotC/NXT-G 프로그래밍, 로봇 작동 실험 선택 제어문의 개념 및 구조를 이해하기 위한 RobotC/NXT-G 프로그래밍, 로봇 작동 실험 반복 제어문의 개념 및 구조를 이해하기 위한 RobotC/NXT-G 프로그래밍, 로봇 작동 실험 배열문의 개념 및 구조를 이해 하기 위한 RobotC/NXT-G 프 로그래밍, 로봇 작동 실험 함수의 개념 및 구조를 이해하 기 위한 RobotC/NXT-G 프로 그래밍, 로봇 작동 실험 라인트레이서라는 로봇을 이용 한 프로그래밍, 알고리즘을 이 해하기 위한 NXT-G 프로그래 밍 및 로봇 작동 실험 if ~ else for( ; ; ) array function( ) 순차, 반복, 배열, 함수 선택, 예시 4개 먼저, if ~ else문의 개념과 구조를 이해하기 위 해 초음파 센서가 장애물과의 거리를 측정하여 거 리에 따라 모터 출력을 결정하는 프로그램의 경우 를 살펴보자. 장애물과의 거리가 20cm 이상인 경 우에는 모니터에 'Above 20cm' 메시지를 표시하면 서 모터 B와 모터 C가 50%의 출력으로 2초간 전 방향( 前 方 向 )으로 전진하고, 20cm 이하인 경우에 는 모니터에 'Below 20cm' 메시지를 표시하면서 50%의 출력으로 2초간 역방향( 逆 方 向 )으로 후진 하는 동작을 무한 반복하도록 프로그램을 구성하 는 것이다. 그림 5와 그림 6은 각각 NXT-G와 RobotC로 작성한 if-else문 구조의 프로그램이다. (그림 5) if~else문을 이용한 NXT-G 프로그램 166 2010. 8

const tsensors sonarsensor = (tsensors) S1; task main( ) { wait1msec(1000); if (SensorValue(sonarSensor) >= 20) { nxtdisplaytextline(5,"above 20cm"); motor[motorb] = 50; motor[motorc] = 50; wait1msec(2000); } else { nxtdisplaytextline(5,"below 20cm"); motor[motorb] = -50; motor[motorc] = -50; wait1msec(2000); } } (그림 6) if~else문을 이용한 RobotC 프로그램 다음은 for문의 개념과 구조를 이해하기 위하여 모터가 전방향과 역방향으로 반복하여 움직이도 록 하는 프로그램을 살펴보자. 즉, 모터 B와 모터 C가 100%의 출력으로 2초간 전방향으로 전진한 이후에 50%의 출력으로 2초간 역방향으로 후진 하는 동작을 10회 반복하도록 프로그램을 구성하 는 것이다. 그림 7은 for문을 이용하여 전진과 후 진을 10회 반복 수행하는 RobotC 프로그램이다. task main( ) { int i; for (i = 0; i < 10; i++) { motor[motorb] = 100; motor[motorc] = 100; wait1msec(1000); motor[motorb] = -50; motor[motorc] = -50; wait1msec(1000); } } 최대값을 찾아 출력하고 전방향으로 전진하는 RobotC 프로그램이다. task main( ) { int speed[ ]={50,-10,0,75,-75,80,75,100}; int max=speed[0]; for (int i = 1; i < 7; i++) { if(speed[i] > Max) max = Speed[i]; wait1msec(1000); } nxtdisplaytextline(1,"max=%d",max); motor[motorb] = Max; motor[motorc] = Max; wait1msec(1000); } (그림 8) 배열을 이용한 RobotC 프로그램 마지막으로 그 동안 학습한 내용을 잘 조합하 여 길을 찾아가는 문제를 해결하는 알고리즘을 라인트레이서라는 로봇과 NXT-G 프로그램을 이 용한 실습을 실시하여 이해가 용이하도록 구성하 였다. 첫 번째 알고리즘은 로봇이 전방에 물체가 있는지 없는지 확인하여 물체가 있다면 회피 동 작을 수행한 후 라인 찾는 것을 시작하고, 물체가 없다면 라인을 감지하기 위한 동작을 수행한다. 그리고 라인이 감지되면 전진하고, 전진하는 도중 에 물체를 감지하면 일단 정지한 후 회피 동작을 수행하여 라인이 감지되지 않으면 좌우로 회전하 고 라인을 검색하며, 일정 시간 이상 라인을 발견 하지 못하면 후진하여 이동하도록 구성하였다. 그 림 9는 라인트레이서의 NXT-G 프로그램이다. (그림 7) for문을 이용한 RobotC 프로그램 그리고 배열의 개념과 구조를 이해하기 위하여 최대값을 찾아 모니터에 출력하고 모터가 전방향 으로 움직이도록 하는 프로그램을 살펴보자. 배열 에서 가장 큰 요소 값을 구하여 디스플레이 창에 출력하고, 모터 B와 모터 C가 가장 큰 요소 값을 출력으로 2초간 전방향으로 전진하도록 프로그램 을 구성하는 것이다. 그림 8은 배열을 이용하여 (그림 9) 라인트레이서 NXT-G 프로그램(예시 1) 한국 인터넷 정보학회 (11권4호) 167

두 번째 알고리즘은 바퀴를 움직이는 모터 2개 와 컬러 센서 2개를 이용하여 선의 색깔에 상관없 이 배경이 흰색이면 전후좌우로 이동이 가능한 라인트레이서이다. 1번 센서와 2번 센서에서 동일 한 색을 입력받을 경우에는 전방향으로 전진을 한다. 그리고 1번 센서에서만 흰색을 입력받을 경 우에는 오른쪽으로 회전을 하며, 2번 센서에서만 흰색을 입력받을 경우에는 왼쪽으로 회전을 하도 록 순서도와 NXT-G 프로그램을 그림 10, 그림 11 과 같이 작성하여 선택 및 반복 제어문에 대한 실 습을 실시하였다. 세 번째 알고리즘은 2개의 바퀴 및 1개의 슈터 (shooter)를 위한 모터 3개와 컬러 센서 2개를 이 용하는 라인트레이서(shooter + Line Tracer)이다. 그림 12의 라인트레이서 NXT-G 프로그램은 그림 10에서 소개한 라인트레이서의 기능을 바탕으로 라인트레이서가 장애물을 만났을 경우에 슈터로 공을 발사하여 장애물을 쓰러트린 후 라인트레이 서를 다시 실행하고, 노란색 종료 센서를 만나게 되면 음악과 함께 종료하는 부분을 추가한 것이 다. 네 번째 알고리즘은 2개의 바퀴를 위한 모터 2 개와 컬러 센서 3개를 이용하여 여러 갈래 길을 찾아가는 라인트레이서이다. 그림 13의 라인트레 이서 NXT-G 프로그램은 그림 10에서 소개한 라 인트레이서의 기능에 라인트레이서 뒤쪽의 컬러 센서에 특정 색을 지정하는 값을 입력하여 입력 된 값으로 지정된 색의 길을 찾아서 라인트레이 서가 움직이는 부분을 추가한 것이다. (그림 10) 라인트레이서 순서도(예시 2) (그림 13) 라인트레이서 NXT-G 프로그램(예시 4) 4. 적용 결과 및 분석 (그림 11) 라인트레이서 NXT-G 프로그램(예시 2) (그림 12) 라인트레이서 NXT-G 프로그램(예시 3) 4.1 적용 결과 레고 마인드스톰 로봇을 이용하여 프로그래밍 수업을 실시한 후에 학업 성취도의 개선 여부를 분석하기 위한 검사로써 지필로 된 수시평가, 중 간고사 및 기말고사, 수업에 흥미를 가지고 참여 하는 정도를 파악하기 위하여 출석과 과제물을 이용하여 학업 성취도를 측정하였다. 측정한 학업 성취도는 t-검정을 통하여 통계적으로 분석하였 168 2010. 8

다. 학업 성취도에 대한 실험집단과 비교집단 간 의 t-검정 결과는 표 7과 같다. t-검정을 실시한 결 과 p값이 0.001로 나타남으로써 학업 성취도 차이 는 p<0.05 수준에서 통계적으로 매우 유의한 것으 로 나타났다. 따라서 실험집단과 비교집단 간의 학업 성취도에는 차이가 없다는 귀무가설은 기각 되며, C 프로그래밍 입문 교육에서 전통적인 수업 방식과 함께 레고 마인드스톰 로봇을 이용한 수 업이 전통적인 방식만을 이용한 수업보다 더 효 과적이라고 말 할 수 있다. (표 7) 학업 성취도의 검증 결과 구 분 N M SD t P 실험집단 27 71.6 9.93 비교집단 25 62.2 9.58 3.27 0.001 (표 8) 로봇을 이용한 프로그래밍 수업의 만족도 질 문 레고 마인드스톰 로봇을 이용한 C 프로그래밍 수 업이 흥미로웠다. 레고 마인드스톰 로봇이 알고리즘을 이해하는데 도움이 되었다. 레고 마인드스톰 로봇이 프로그래밍을 이해하는 데 도움이 되었다. 로봇을 이용한 C 프로그 래밍 수업을 학생들이 더 좋아할 것으로 생각 한다. C 프로그래밍 수업에 레 고 마인드스톰 로봇을 이용하지 않기를 희망한 다. 레고 마인드스톰 로봇을 이용한 수업이 이해하기 어려웠고 프로그래밍도 어려웠다. 동의 매우 동의 동의 보통 하지 않음 매우 동의 하지 않음 11 14 2 0 0 5 17 4 1 0 6 16 3 2 0 9 10 7 1 0 0 2 5 8 12 1 3 7 11 5 표 8은 2010학년도 1학기에 개설되어 운영된 C 프로그래밍 수업의 수강생을 대상으로 실시한 레 고 마인드스톰 로봇을 이용한 C 프로그래밍 입문 수업의 만족도를 조사한 결과이다. 전체적으로 학 생들은 레고 마인드스톰 로봇을 이용한 프로그래 밍 수업에 대부분 만족하고 있으며, 알고리즘과 C 프로그래밍에 대한 이해도를 높이기 위하여 로봇 을 이용하는 것에 대해 흥미롭게 생각하고 있다. 4.2 기존 연구와 비교분석 프로그래밍 수업에서 프로그래밍 초보자들의 학습 동기와 학습 의욕을 불러일으키고 학습 효 과를 개선하기 위한 방안으로 레고 마인드스톰 로봇을 비롯한 다양한 로봇을 활용한 연구 결과 들을 비교하여 표 9와 같이 정리하였다. 로봇을 이용한 프로그래밍 수업에 대한 기존 연구는 레고 마인드스톰 로봇을 이용하여 C 언 어 코딩 교육(김승환[6])을 실시하거나 조건문(배 상용[7]) 또는 미로 문제(홍기천[12]) 만을 이용한 강의나 실습을 통해서 프로그래밍 교육의 개선 방안에 대한 타당성을 고찰하였다. 즉, 프로그래 밍 또는 컴퓨팅 개념(Hood[17])을 위한 수업에 로 봇의 활용 방안을 고찰한 연구 결과로서 교수-학 습 모형을 제시하지 않았거나(김승환[6], Barnes[2], Mayer[16], Hood[17]) 교육 효과를 측정 하지 않았으며(김승환[6], 홍기천[12], Hood[17]), 학습 동기와 학습 의욕의 부족 문제를 해결할 수 있는 프로그래밍 교육 방법으로 활용하였다. 그러 나 본 논문에서 프로그래밍 수업은 레고 마인드 스톰 로봇을 이용한 교수-학습 모델을 기초로 하 여 다양한 유형의 수업 내용과 레고 마인드스톰 로봇을 활용한 새로운 형식의 수업 방법을 제안 하여 학생들에게 적용하였다. 그리고 학업 성취도 와 수업 만족도를 이용하여 C 프로그래밍 수업의 전반적인 결과에 대한 교육 효과를 측정하여, 학 습 동기와 의욕을 불러일으키고 학습효과를 촉진 시킨 것으로 평가되어 프로그래밍 수업에 레고 마인드스톰 로봇을 활용하는 것이 의미 있는 효 한국 인터넷 정보학회 (11권4호) 169

과를 기대할 수 있다는 결론을 도출함으로써 기 존 연구와 차별화를 두었다. 4.3 분석 프로그래밍 교육 및 학습에서 레고 마인드스톰 로봇을 이용한 수업은 전통적인 방식만을 이용한 수업에 비해 학업 성취도가 높은 것으로 나타났 다. 전통적인 방식만을 이용한 수업은 문법 설명 과 예제를 풀이하는 강의와 실습을 병행하는 방 식으로 진행되었다. 학생들이 실습 예제를 타이핑 하여 원시코드를 생성하고, 실행 결과를 얻으면 그 결과가 어떻게 만들어 졌는지를 설명하는 방 식으로 진행되었다. 이러한 방식은 학생들이 수업 시간에 주의를 집중하기 쉽지 않으며, 학습 동기 와 학습 의욕이 낮은 학생들은 수업에 대한 관심 및 참여가 떨어지게 된다. 레고 마인드스톰 로봇을 이용한 수업은 학생들 이 실습 예제를 타이핑하여 원시코드를 생성하고 실행 결과를 얻는 과정은 전통적인 수업 방식과 동일하다. 그러나 실행 결과가 단순하게 컴퓨터 화면에만 표시되는 숫자로 된 결과가 아니라 로 봇이 움직이는 결과가 나온다. 처음에는 로봇에 흥미와 관심을 별로 보이지 않는 학생들도 간단 한 몇 줄의 원시코드, 특히 아이콘 중심으로 된 몇 개의 NXT-G 프로그램에 의해서 원하는 만큼 의 거리와 방향으로 움직이는 로봇을 만들 수 있 다는 것에 매우 흥미롭게 생각하고 관심을 보이 며 성취감을 느끼게 된다. 로봇을 이용한 수업은 전통적인 방식만을 이용한 수업에서 작성하는 원 시코드 량과 비슷하지만 프로그래밍 과정이 쉽고 결과도 매우 다르게 나타난다. 학생들은 자신이 만든 프로그램이 원하는 방향 으로 로봇을 움직이게 할 수 있다는 것을 알고 매 우 흥미롭게 생각하며 과제물 처리에도 매우 적 극적으로 동참하였다. 이러한 현상은 바로 학업 성취도로 이어졌음을 알 수 있다. 교과목에 대한 호감도가 평소에는 낮았었지만, 레고 마인드스톰 을 이용한 수업 이후에는 학습 동기와 학습 의욕 을 상승시켰고, 그에 따라 학업 성취도가 향상되 었다고 생각된다. 한편, 레고 마인드스톰 로봇을 이용한 프로그 래밍 수업을 진행하면서 만나게 되는 문제점은 다음과 같다. 첫째, 프로그래밍 수업에 필요한 로 봇과 프로그래밍 언어를 연계시킨 교재 및 참고 자료가 부족하다는 것이다. 대학에서 로봇을 이용 한 프로그래밍 교육은 아직 초창기이고 널리 알 려져 있지 않기 때문에 교재나 참고자료가 매우 (표 9) 로봇을 이용한 프로그래밍 수업 관련 기존 연구와 비교 항 목 제안한 방법 김승환[6] 배상용[7] 홍기천[12] Barnes[2] Mayer[16] Hood[17] 학습 대상 대학 신입생 대학 신입생 전문계 고교생 예비 교사 대학 신입생 대학 신입생 대학 신입생 학습 내용 C 언어 C 언어 C 언어 C 언어 Java AI 분야 로봇 이용 학습 내용 학습 보조 도구 교수-학습 모형 효과 측정 도구 순차, 선택, 반복 구조 및 알고리즘 레고 마인드스톰 로봇 및 RobotC C 언어의 코딩 교육 레고 마인드스톰 모델 조건문(선택) 레고 마인드스톰 로봇 미로 문제 레고 마인드스톰 로봇 RCX Processor를 이용 자바 교육 레고 마인드스톰 로봇 시뮬레이터 레고 마인드스톰 로봇 프로그래밍 및 컴퓨팅 개념 레고 브릭 조립을 이용한 개념 교육 레고 마인드스톰 로봇 제시 없음 제시 제시 없음 없음 없음 학업성취도측정 수업만족도조사 생략 학업성취도 측정 생략 학습효과 측정 수업만족도조 사 생략 170 2010. 8

부족한 실정이다. 둘째, 로봇에 관련된 지식을 습 득하여 활용하기까지 많은 시간과 노력이 필요하 다. 레고 마인드스톰을 이용하여 프로그래밍 수업 에 필요한 로봇을 조립하고 활용하기 위해서는 많은 시간과 노력을 투자하여 관련 지식을 습득 하고 실습을 거쳐야 한다. 특히, 수업 도중 로봇이 정상적으로 작동하지 않으면 프로그래밍 수업 및 실습에 지장을 초래한다. 이러한 문제점을 보완하 기 위하여 본 연구에서는 레고 마인드스톰 로봇 을 미리 조립하여 시험 과정을 거쳐 로봇이 작동 하는 과정에서 오류가 발생하지 않도록 점검하여 활용하였다. 셋째, 레고 마인드스톰 로봇을 구입 하는 비용도 고려해야 한다. 프로그래밍이 가능하 고 다양한 유형의 로봇을 조립할 수 있는 레고 마 인드스톰을 구입하려면 가격이 비싸다는 것이며, 이를 다른 교과목의 수업에 활용이 쉽지 않다는 것이다. 따라서 본 연구에서는 레고 마인드스톰 10세트를 구입하여 세 사람이 한 팀을 구성하여 팀 단위로 실습을 실시하였다. 넷째, 학생들은 C 언어와 거의 유사한 RobotC와 NXT-G를 이용한 프로그래밍 학습에 대한 시간과 노력을 필요로 한다. 그러나 RobotC의 문법이나 구조는 C 언어 와 거의 유사하고, NXT-G는 아이콘을 이용하여 프로그램을 작성하므로 첫 번째와 두 번째 실습 과제를 수행한 후 대부분의 학생들이 부담을 느 끼지 않는 것으로 확인되었다. 5. 결론 및 향후 연구방향 본 논문은 프로그래밍 학습에서 레고 마인드스 톰 로봇을 이용한 수업이 학업 성취도에 미치는 영향을 알아보고, 대학교 신입생들을 대상으로 하 는 프로그래밍 수업에서 고질적으로 나타나는 학 습 동기와 학습 의욕 부족 문제를 해결하기 위한 새로운 수업 방안으로의 가능성을 고찰하였다. 이 를 위하여 대학교 컴퓨터공학과 신입생들을 대상으로 실험집단과 비교집단을 선정하였으며, 순차문, 선택문, 반복문, 제어문 및 이들을 활용한 알고리즘을 학습하는 과정에서 기본 개념을 학습 한 후에 제시되는 학습단계에서 레고 마인드스톰 로봇을 이용한 수업을 실시하였다. 그리고 학업 성취도를 측정하여 실험집단과 비교집단 간의 평 균의 차이를 t-검증으로 비교하였으며, 그 결과는 레고 마인드스톰 로봇을 이용하여 프로그래밍 수 업을 실시한 실험집단의 학업 성취도가 더 높은 것으로 나타났다. 본 논문에서 연구를 통하여 얻어진 결과를 바 탕으로 내린 결론은 프로그래밍 학습에서 레고 마인드스톰 로봇을 이용한 학습 집단이 그렇지 않은 학습 집단보다 학업 성취도가 높은 것으로 분석되었다. 이는 로봇을 이용한 수업에 참여한 학습자가 자신이 작성한 원시코드가 레고 마인드 스톰 로봇을 움직이게 하고 멈추게 하는 등 각종 제어를 통하여 프로그래밍에 대한 학습 동기와 학습 의욕을 가져와서 프로그래밍 학업 성취도의 향상을 가져왔다고 생각된다. 또한, 프로그래밍이 나 알고리즘 교육을 위한 관련연구에서 살펴본 것처럼 이들 연구는 강의법이나 실습 또는 간단 한 놀이를 활용한 것도 있었다. 그러나 본 논문에 서 프로그래밍 수업은 다양한 유형의 수업 내용 과 레고 마인드스톰 로봇을 활용한 새로운 형식 의 수업 방법을 마련하여 학생들에게 적용함으로 써 과거 연구와 차별화를 두고자 했다. 결론적으 로 학생들은 레고 마인드스톰 로봇을 이용한 수 업을 통해서 교과목에 대한 흥미, 학습동기 및 학 습의욕의 측면에서 통계적으로 의미 있는 향상을 나타냈다. 한편, 로봇을 이용한 프로그래밍 수업을 효율 적으로 진행하기 위한 일반적인 수업 모델의 설 계 및 학업 성취도를 객관적으로 측정하기 위한 평가 도구에 대한 연구를 추가적으로 진행할 계 획이다. 참 고 문 헌 [1] Jipping, M. J., CalKa, C., O'Neili, B., Padilla, 한국 인터넷 정보학회 (11권4호) 171

C.R., Teaching Students Java Bytecode Using Lego Mindstorms Robots, SIGCSE Bulletin inroads, Vol.39, No.1, pp.170~174, 2007. [2] Barnes, D., Teaching Introductory Java Through LEGO MINDSTORMS Models, SIGCSE Bulletin inroads, Vol.34, No.1, pp.147~151, 2002. [3] Eggert, D. W., Using the Lego Mindstorms NXT robot kit in and introduction to C Programming Class, Journal of Computing Sciences in Colleges, Vol.24, No.6, pp.8~10, 2009. [4] Garcia, M. A., Mc-Neill, H. P., Learning How to Develop Software Using the Toy LEGO Mindstorms, Vol.34, No.3, pp.239~239, 2002. [5] 이길경, ICT 활용 교육을 위한 원시 데이터 로 깅 모델 개발, 서울교육대학교 교육대학원 교 육석사학위논문, 2007. [6] Kim, S. H, Jeon, J. W., Educating C Language using LEGO Mindstorms Robotic Invention System 2.0, Proceedings of the 2006 IEEE International Conference on Robotics and Automation(ICRA 2006), May 15~19, 2006. [7] 배상용, 로봇을 이용한 C 프로그래밍 교육이 학업 성취도에 미치는 영향, 한국교원대학교 교육대학원 교육석사학위논문, 2009. [8] 차승은, 김정아, 김종혜, 이원규, 프로그래밍 교육과 필요성의 인식변화에 관한 연구, 한국 컴퓨터교육학회논문지, Vol.12, No.1, pp.1~ 13, 2009. [9] 이승관, 정태충, ROBOTC로 접근하는 C 프로 그래밍 입문, 홍릉과학출판사, pp.359, 2008. [10] 최병윤 외, NXT-G와 Java 언어를 이용한 레 고 마인드스톰 NXT 프로그래밍, 도서출판 그린, 2009.[20] 문외식 외, LEGO MINDSTORMS NXT로 로봇 만들기, (주)알 코. pp.372, 2007. [11] 문외식 외, LEGO MINDSTORMS NXT로 로 봇 만들기, (주)알코, pp.285, 2007. [12] 홍기천, 레고 NXT 로봇을 활용한 예비교사 의 프로그래밍 언어 수업 방안, 한국정보교 육학회논문지, Vol.13, No.1, pp.71~78, 2009. [13] 신승용, 유상미, 김미량, 프로그램 교육 목적 의 로봇 게임 프로젝트 학습 구안에 관한 연 구, 한국인터넷정보학회논문지, Vol.10, No.6, pp.159~172, 2009. [14] 조용만, 레고 로봇을 활용한 컴퓨터 프로그래 밍 교육 모형 개발, 연세대학교 교육대학원 교육석사학위논문, 2007. [15] 김태완, MINDSTORM을 이용한 프로그래밍 학습이 창의력에 미치는 효과, 대구교육대학 교 교육대학원 교육학석사학위논문, 2005. [16] Meyer, R. M., Burhans, D. T, Robotran: A Programming Environment for Novices Using LEGO Mindstorms Robots, Florida Artificial Intelligence Research Society conference(flairs-07), pp.321~326, 2007. [17] Hood, C. S., Teaching programming and language concepts using LEGOs, Annual Joint Conference Integrating Technology into Computer Science Education(ITiCSE 2005), pp.19~23, 2005. [18] Lawhead, P. B., Duncan, M.E., Bland, C. G., Goldweber, M., Schep, M., Barnes, D. J., Hollingsworth, R. G., A road map for teaching introductory programming using LEGO Mindstorms robots, Annual Joint Conference Integrating Technology into Computer Science Education(ITiCSE 2002), pp.191~201, 2002. [19] Fagin, B., Merkle, L., Measuring the Effectiveness of robots in teaching Computer Science, Proceedings of the 34th SIGCSE technical symposium on Computer Science Education, pp.307~311, 2003. 172 2010. 8

저 자 소 개 김 태 희 1991년 동신대학교 전자계산학과(공학사) 1993년 전남대학교 대학원 전산통계학과(이학석사) 1999년 전남대학교 대학원 전산통계학과(이학박사) 1997년~현재 동신대학교 디지털콘텐츠학과 조교수 관심분야 : 소프트웨어공학, 객체지향 모델링, 컴퓨터 교육 E-mail : thkim@dsu.ac.kr 강 문 설 1986년 전남대학교 계산통계학과(이학사) 1989년 전남대학교 대학원 전산통계학과(이학석사) 1994년 전남대학교 대학원 전산통계학과(이학박사) 1994년~현재 광주대학교 컴퓨터공학과 교수 관심분야 : 소프트웨어공학, 컴포넌트 기술, 컴퓨터 교육, 인터넷 윤리 E-mail : mskang@gwangju.ac.kr 한국 인터넷 정보학회 (11권4호) 173