• Like
피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구
Upcoming SlideShare
Loading in...5
×

피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구

  • 283 views
Uploaded on

2014 한국컴퓨터교육학회 하계 학술대회 발표자료 …

2014 한국컴퓨터교육학회 하계 학술대회 발표자료
2014.8.12. 장윤재

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
283
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
13
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 피지컬 컴퓨팅은 ICT를 활용하여 컴퓨터와 인간과의 상호작용하기 위한 분야로 시작되었다. 특히, 피지컬 컴퓨팅 분야는 비교적 저렴하면서 강력한 성능과 오픈소스 문화를 바탕으로 한 폭 넓은 커뮤니티와 풍부한 레퍼런스를 무장으로 한 아두이노라는 오픈소스 하드웨어가 등장하면서 폭발적으로 성장하였다. 또한 피지컬 컴퓨팅은 다양한 입력 센서 및 출력 부품을 통해 흥미로운 작품을 만들 수 있어 일반인이나 학생들이 쉽게 배울 수 있는 장점이 있다. 이로 인해 미디어아트 분야에서는 피지컬 컴퓨팅을 활용한 교육을 활발히 진행하고 있으며[1], 컴퓨터 교육에서도 학생들의 흥미와 창의성을 위한 교육 주제로 선정하여 연구를 진행하고 있다[2].
  • 피지컬 컴퓨팅의 구성 요소는 먼저 센서(Sensors)와 액츄에이터(Actuators)로 이루어진 변환부분(Transducers)과 이를 마이크로컨트롤러(Microcontroller)와 연결해주는 회로(Circuit) 부분 컴퓨터와 유무선으로 연결되어 프로그래밍을 통해 처리를 담당하는 마이크로컨트롤러 부분과, 컴퓨터(Computer)로 구성되어 있다.
  • 피지컬 컴퓨팅은 로보틱스의 한 분야로 볼 수 도 있지만, 해당 기술이 발전된 역사를 살펴보면 관점이 다른 것으로 이해할 수 있다. 로보틱스(Robotics)는 로봇의 설계, 구성, 제어, 응용을 다루는 기술의 한 분야이며, 이를 제어, 피드백, 정보 처리를 위한 컴퓨터 시스템과 관련된 분야이다[6]. 피지컬 컴퓨팅과 로보틱스의 공통점을 살펴보면, 피지컬 컴퓨팅과 로보틱스의 같은점은 센서와 같은 입력장치, 모터와 같은 출력장치를 사용한다는 점이다. 그러나 로보틱스는 자동화(autonomous)에 초점을 맞춘다면, 피지컬 컴퓨팅은 사람과의 인터랙티브(interactive)에 더 중점을 둔다. 즉, 로보틱스는 어떻게 해야 인간처럼 스스로 움직일 수 있는지, 인간의 두뇌와 유사한 컴퓨터 뇌를 구성할지를 탐구한다면, 피지컬 컴퓨팅은 인간 또는 환경과의 상호작용과 그 확장에 대한 탐구에 초점을 맞춘다.
  • 분석결과, 보다 어린 학생들에게 적합한 프로그래밍 언어는 스크래치와 피코블록으로 분석되었으며, 특히 스크래치는 단순한 형태의 제어 명령어만 지원하지만, 자동 연결방식과 비설치형 지원, 한글화 지원 등 편리한 기능을 제공하고 있다. 반면, Amici와 아두이노는 중등 학생들에게 적합하며 특히 C 와 같은 절차형 언어로의 확장 가능성이 높다. Amici 는 코딩방식이 블록조립이지만 텍스트를 함께 보여줌으로써 교육적 효과를 얻을 수 있다. 한편, 분석된 프로그래밍 언어 모두 피드백 도구가 별도로 제공되지 않아서 피지컬 보드 연결 상태 확인이나 코드 디버깅에 어려움을 겪을 것으로 분석되었다.
  • 피지컬 컴퓨팅은 프로그래밍을 위한 기본 모델인 입력, 처리, 출력 형태를 갖추고 있으며, 물리적인 매체를 활용함으로써 흥미와 동기를 유발할 수 있는 좋은 프로그래밍 교육 환경이자 방법이다. 특히, 최근에는 피지컬 컴퓨팅의 오픈소스화와 손쉬운 사용성 및 다양한 메이킹 문화와 접목되면서 산업계 뿐만 아니라 교육계에서도 주목하고 있다. 현재도 피지컬 컴퓨팅에 대한 다양한 도구와 환경이 개발되고 있으며 이를 교육 환경에 접목하기는 쉽지 않다. 왜냐하면 교육에 적용하기 위해서는 교육적 효과에 대한 검증이 필요하며 이에 앞서 이를 가르칠 교사들의 준비가 필요하기 때문이다. 따라서 본 연구에서 제안한 피지컬 컴퓨팅 교육을 위한 프로그래밍 환경의 분석 결과는 피지컬 컴퓨팅 교육을 준비하는 교사들에게 도움이 될 것이다.
  • 본 연구의 향후 과제로는 다음과 같다.
    첫째, 한글화 작업이 필요하다. 국내에서 어린 학생을 대상으로 프로그래밍 언어를 사용하기 위해서는 적용하기 위해서는 한글화 작업이 필요하며
    둘째, 다양한 교육 적용 사례가 필요하다. 피지컬 컴퓨팅은 아이디어와 사용되는 부품에 따라 다양한 예제가 만들어 질 수 있으며, 이를 체계화 해서 제공하는 학습 자료는 아직 부족한 편이다. 따라서 교육 현장의 다양한 조건에 맞는 학습 자료 및 적용 사례가 필요하다.
    셋째, 교육적 효과성 검증이 필요하다. 효과성을 검증하기 위해서는 학생들이 피지컬 컴퓨팅 프로젝트를 수행하는 과정에서 인지적, 정의적인 효과가 어느정도 발생하는지 구체적이고 다방면으로 평가되어야 한다.

Transcript

  • 1. 피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 활용 방안 연구 고려대학교 컴퓨터교육학과 InC Lab. Dept. Computer Science Education, Korea Univ. 박사수료 장윤재 2014년 한국컴퓨터교육학회 하계 학술대회
  • 2. 목차 1. 서론 2. 이론적 배경 1. 피지컬 컴퓨팅과 로보틱스 2. 교육용 프로그래밍 언어 환경 분석 요소 3. 피지컬 컴퓨팅 교육을 위한 프로그래밍 환경 3. 연구방법 및 절차 4. 연구결과 1. 분석 요소 선정 2. 프로그래밍 언어 분석 결과 5. 결론 및 제언 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 3. 서론 • Maker Movement, IoT(Internet of Things), 3D Printer 등 누구나 아이디어만 있으면 쉽게 자신의 프로젝트를 만들어 볼 수 있는 환경 조성 http://www.businessweek.com/articles/2012-02-16/the-diy-maker-movement-meets-the-vcs http://www.mcgrawhillprofessionalbusinessblog.com/2014/03/07/the-maker-movement-is-changing-the-world/ http://www.control4.com/blog/2014/03/the-internet-of-things-and-the-connected-home InC Lab. Dept. Computer Science Education, Korea Univ.
  • 4. 서론 • 피지컬 컴퓨팅 (Physical Computing) – ICT를 활용하여 컴퓨터와 인간과의 상호작용하기 위한 분야로 시작 – 특히, 비교적 저렴하면서 강력한 성능과 오픈소스 문화를 바탕으로 한 폭 넓은 커뮤니티와 풍부한 레퍼런스를 무장으로 한 아두이노(Arduino)라는 오픈소스 하드웨어가 등장하면서 폭발적으로 성장 – 피지컬 컴퓨팅은 다양한 입력 센서 및 출력 부품을 통해 흥미로운 작품을 손 쉽게 만들 수 있어 일반인이나 학생들이 쉽게 배울 수 있는 장점 – 미디어아트, 컴퓨터 교육에서도 학생들의 흥미와 창의성을 위한 교육 주제로 선정하여 연구가 진행중임. InC Lab. Dept. Computer Science Education, Korea Univ. http://en.wikipedia.org/wiki/Arduino
  • 5. 서론 • 그 러 나 , 아 두 이 노 와 같 은 피 지 컬 보 드 를 다 루 기 위해서는 범용적인 프로그래밍 언어(대표적으로 C언어) 를 사용해야 함. • 비 개발자나 초보 학습자에게는 여전히 사용하기 어려움 • 특히 피지컬 컴퓨팅을 통한 실생활 중심의 흥미로운 문 제 해 결 학 습 으 로 서 는 , 프 로 그 래 밍 지 식 과 함께 하드웨어, 전자회로 등에 대한 이해도 필요하기 때문 InC Lab. Dept. Computer Science Education, Korea Univ. http://www.ktechno.co.kr/embedded/embedded01.html
  • 6. 서론 • 최근에는 교육용 프로그래밍 언어에서 아두이노와 같은 하드웨어를 제어할 수 있는 환경이 개발되고 있음. • 초기 단계이기 때문에 교사가 적절한 도구를 선택하는데 필요한 정보가 부족한 실정임. • 교육의 3요소는 교사, 학생, 교육내용이며, 프로그래밍 교육을 위한 적절한 교육내용을 선정하기 위해서는 교육 도구의 특성을 이해해야 한다. InC Lab. Dept. Computer Science Education, Korea Univ. http://blog.yengawa.com/archives/25
  • 7. 서론 • 본 연구의 목적 – 피지컬 컴퓨팅을 통한 프로그래밍 교육에서 활용할 수 있는 프로그래밍 언어의 특성을 분석하여 교육적 활용 방안 제안 • 본 연구의 기대점 – 본 연구를 통해 피지컬 컴퓨팅을 배우고자 하는 학습자에게 프로그래밍 언어의 선택 기준을 제시할 수 있으며, 피지컬 컴퓨팅 학습을 위한 프로그래밍 언어의 필수 요소를 제시할 수 있음. InC Lab. Dept. Computer Science Education, Korea Univ.
  • 8. 이론적 배경 – 피지컬 컴퓨팅 • 피지컬 컴퓨팅(Physical Computing) Programming Circuit Microcontroller Computer – ICT를 활용하여 인간으로 부터 물리적인 형태로 정보를 입력받아 처리한 결과를 물리적인 형태로 출력하여 인간 또는 환경과 상호작용하는 컴퓨팅 InC Lab. Dept. Computer Science Education, Korea Univ. Wired / Wireless Communication Sensors Actuators
  • 9. 이론적 배경 – 피지컬 컴퓨팅 • 피지컬 컴퓨팅 vs 로보틱스 – 로보틱스(Robotics) 는 로봇의 설계, 구성, 제어, 응용 을 다루는 기술의 한 분야이며, 이를 제어, 피드백, 정 보 처리를 위한 컴퓨터 시스템과 관련된 분야 – 로보틱스는 자동화(autonomous)에 초점 – 피지컬 컴퓨팅은 사람과의 인터랙티브(interactive)에 더 중점 – 즉, 로보틱스는 어떻게 해야 인간처럼 스스로 움직일 수 있는지, 인간의 두뇌와 유사한 컴퓨터 뇌를 구성할지를 탐구한다면, 피지컬 컴퓨팅은 인간 또는 환경과의 상호작용과 그 확장에 대한 탐구에 초점 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 10. 이론적 배경 – EPL 환경 분석 요소 • 위키피디아의 교육용 프로그래밍 언어 분류 – 학습경로(learning path) • Assembly language, BASIC, C, Java-based, Lisp-based, Scala-based, Smalltalk-based, Other – 대상 • Children, University – 학년(US educational level) – 대략적 사용나이(Approximate Age) – 경험수준(Experience level) – 활용 가능한 언어(Appropriate languages) InC Lab. Dept. Computer Science Education, Korea Univ.
  • 11. 이론적 배경 – EPL 환경 분석 요소 • 김수환 외(2009)는 26개의 교육용 프로그래밍 언어 분석 – 언어별 특징 • 수준, 적용교과, 상용/공용, 사용환경, 사용언어 – 교육요소 • 문제표현(그림,기호,코드), 문제설계, 변수(텍스트,숫자), 텍스 트입출력(입력,출력), 제어문(조건문,유한반복문), 알고리즘 구 현, 배열, 정렬구현, 탐색구현, 시뮬레이션/애니메이션 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 12. 이론적 배경 – EPL 환경 분석 요소 • 신수범(2014)은 교육용 프로그래밍 언어의 선택요소로 3 개의 영역, 9개의 핵심 요소로 선정 – 컴퓨터과학 연계성 • 컴퓨터과학 개념 학습 가능 언어, 컴퓨터과학 개념의 추상화 언어, 프로그래밍 언어로 전이능력 – 명확하고 강력한 명령어 • 단순한 명령어 구조, 강력한 명령어 기능 – 편리한 개발환경 • 편리한 피드백 도구, 멀티미디어 컨텐츠 수준, 사용자 친화적 개발 환경 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 13. 이론적 배경 – EPL 환경 분석 요소 • O'Sullivan, D 와 Igoe, T.(2004)는 피지컬 컴퓨팅을 입력, 처리, 출력으로 구분 – 이 중에서 입력과 출력을 디지털과 아날로그 방식으 로 세분화하여 형태를 구분 • 교육용 프로그래밍 언어 환경 및 피지컬 컴퓨팅을 분류 한 요소 종합 – 기능적 영역 • 상용여부, 실행환경(설치형 / 비설치형), 지원되는 보드, 보드 연결방식, 명령어 지원 단계를 포함한다. – 교육적 영역 • 교육적 영역에는 코딩방식, 프로그래밍 난이도, 학습 커뮤니 티 규모, 피지컬 보드 입출력 형태를 포함 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 14. 이론적 배경 – 피지컬 컴퓨팅 교육을 위한 EPL 환경 • 아두이노(Arduino) IDE – 아두이노 보드 제어 – 텍스트 기반이며 C와 유사한 형태의 문법과 명령어로 코드 작성 – 디지털 및 아날로그 입 출력이 가능하며 다양 한 라이브러리를 통해 범용 언어로의 확장이 용이 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 15. 이론적 배경 – 피지컬 컴퓨팅 교육을 위한 EPL 환경 • Amici – 독일에서 개발한 그래 픽 인터페이스 형태의 아두이노 보드 제어 환 경 – 블록 형태로 아두이노 제어 코드를 작성하면 자동으로 아두이노 코 드로 변환 – 코드는 블록 형태와 텍 스트 형태를 모두 살펴 볼 수 있음 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 16. 이론적 배경 – 피지컬 컴퓨팅 교육을 위한 EPL 환경 • Scratch – MIT Media Lab에 서 만든 교육용 프로그래밍 언어 – 스크래치 2.0 버 전 에 서 는 Extension 기능을 통해 Picoboard를 연결하여 사용할 수 있으며, 센서별 값을 확인 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 17. 이론적 배경 – 피지컬 컴퓨팅 교육을 위한 EPL 환경 • S4A (Scratch for Arduino) – Scratch 1.4 버전에 아 두이노 보드를 연결하 여 사용할 수 있도록 개발된 환경 – 아두이노 보드에서 지 원하는 디지털, 아날로 그 입출력 값을 모두 제어 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 18. 이론적 배경 – 피지컬 컴퓨팅 교육을 위한 EPL 환경 • S2A (Snap for Arduino) – 버클리대학에서 개발 한 웹 기반 교육용 프 로그래밍 언어인 Snap 에 아두이노 보드를 제 어할 수 있도록 개발된 환경 – S4A보다 더 다양한 제 어 명령어 제공 – 사용자 블록 정의 기능 을 이용하여 다양하게 추상화된 명령어 제작 가능 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 19. 이론적 배경 – 피지컬 컴퓨팅 교육을 위한 EPL 환경 • Physical Etoys – 이토이상에서 아두이 노 보드 제어 환경 – 아두이노 보드에 연결 가능한 다양한 부품들 객체로 제공 – 디지털 및 아날로그 입 출력이 모두 가능 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 20. 이론적 배경 – 피지컬 컴퓨팅 교육을 위한 EPL 환경 • Picoblock – 스크래치와 유사한 형 태인 블럭 조립을 통해 프 로 그 래 밍 을 하 며 Picoboard를 제어하기 위한 환경 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 21. 연구방법 및 절차 • 첫째, 문헌연구를 통해 피지컬 컴퓨팅 교육을 위한 프로그래밍 환경에 요구되는 요소를 추출 • 둘째, 전문가 및 연구진의 평가를 통해 요소 선정 – 피지컬 컴퓨팅 및 프로그래밍 교육 경험이 있는 전문가 5명을 대상으로 세미 델파이 통한 요소 선정 • 셋째, 선정된 요소를 바탕으로 피지컬 컴퓨팅 교육을 위한 프로그래밍 언어 분석 • 넷째, 분석된 결과를 토대로 결론 및 시사점 제안 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 22. 연구결과 – 분석 요소 선정 • 피 지 컬 컴 퓨 팅 교 육 을 위한 프로그래밍 환경을 분석하기 위한 – 항목별 중요성을 5점 리 커 트 척 도 로 하 여 응답 받았으며, – 평 균 3 점 ( 보 통 이 다 ) 이상인 항목만 선택 InC Lab. Dept. Computer Science Education, Korea Univ. 항 목 중요성 평균 채택 여부 상용 여부 3.6 O 실행환경(설치형) 4.4 O 실행환경(비설치형) 3.8 O 지원되는 피지컬 보드 4.6 O 피드백 제공여부 3.6 O 지원되는 입출력 형태 4.0 O 피지컬 보드 연결방식 3.6 O 프로그래밍 스타일 3.6 O 프로그램 코딩방식 4.4 O 프로그래밍 난이도 4.2 O 학습 커뮤니티 규모 2.8 X 명령어 지원 수준 4.0 O
  • 23. 연구결과 – 분석 요소 선정 항 목 분 류 기능 영역 상용여부 유료/무료 실행환경(설치형) win/linux/mac/... 실행환경(비설치형) web/flash/기타 지원되는 보드 Arduino/Picoboard/... 보드연결방식 자동/수동 명령어 지원 단계 단순제어/확장가능 한글화 여부 지원/미지원 교육 영역 프로그래밍 스타일 객체지향/객체기반/절차형/함수형/이벤트형/기타 코딩방식 텍스트/비쥬얼(블럭조립)/혼합/기타 프로그래밍난이도 초등/중등/고등 피지컬 보드 입출력 지원 디지털입출력/아날로그입출력/모두 프로젝트 웹 공유 여부 지원/미지원 범용언어로의 확장성 여부 C/JAVA/... 구현 가능한 결과물 형태 피지컬컴퓨팅/게임/애니메이션/시뮬레이션/기타 피드백 도구 여부 지원/미지원 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 24. 연구결과 – 프로그래밍 언어 분석 결과 프로그래밍 언어 항 목 Scratch 2.0 extension S4A S2A InC Lab. Dept. Computer Science Education, Korea Univ. Physical Etoys Picoblock Amici Arduino 기능 영역 상용여부 무료 무료 무료 무료 무료 무료 무료 실행환경(설치형) win/linux/mac win/linux/mac/a ndroid win/linux/mac win/linux win/mac win/mac win/linux/mac/ android 실행환경(비설치형) flash - - - - - - 지원되는 보드 picoboard arduino arduino arduino arduino arduino arduino 보드연결방식 자동 수동 수동 수동 수동 수동 수동 명령어 지원 단계 단순제어 확장가능 확장가능 단순제어 단순제어 단순제어 확장가능 한글화 지원 지원 미지원 미지원 미지원 미지원 미지원 미지원 교육 영역 프로그래밍 스타일 객체기반 객체기반 객체기반 객체기반 객체기반 절차형 절차형 코딩방식 블럭조립 블럭조립 블럭조립 블럭조립 블럭조립 블럭조립 텍스트 프로그래밍난이도 초등 중등 중등 중등 초등 중등 중등 피지컬 보드 입출력 지원 디지털입출력/아날 로그입력 디지털 모두 디지털입출력/ 아날로그입력 모두 모두 모두 프로젝트 웹 공유 여부 지원 미지원 미지원 미지원 미지원 미지원 미지원 범용언어로의 확장 여부 - - - - - C C 구현 가능한 결과물 형태 피지컬컴퓨팅/게임 /애니메이션/시뮬 레이션 피지컬컴퓨팅/ 게임/애니메이 션/시뮬레이션 피지컬컴퓨팅/ 게임/애니메이 션/시뮬레이션 피지컬컴퓨팅/ 게임/애니메이 션/시뮬레이션 피지컬컴퓨팅/ 게임 피지컬컴퓨팅/ 게임 피지컬컴퓨팅/ 게임 피드백 도구 여부 미지원 미지원 미지원 미지원 미지원 미지원 미지원 (- 는 해당사항 없음을 의미함)
  • 25. 결론 및 제언 • 피지컬 컴퓨팅 환경은 좋은 프로그래밍 교육 환경이자 방법 – 피지컬 컴퓨팅 기술은 오픈소스화, 손쉬운 사용성, 메이커 문화와 접목되면서 폭발적으로 성장하고 있음 – 그러나 현재 개발중인 다양한 도구들을 프로그래밍 교육에 바로 적용하기에는 교사들의 준비 및 교육 효과 검증이 필요함 – 따라서 본 연구에서 제안한 피지컬 컴퓨팅 교육을 위한 프로그래밍 환경의 분석 결과는 피지컬 컴퓨팅 교육을 준비하는 교사들에게 도움이 될 것이다. InC Lab. Dept. Computer Science Education, Korea Univ.
  • 26. 결론 및 제언 • 향후 과제 – 첫째, 한글화 작업이 필요 – 둘째, 다양한 교육 적용 사례가 필요 – 셋째, 교육적 효과성 검증이 필요 InC Lab. Dept. Computer Science Education, Korea Univ.
  • 27. 감사합니다. QNA InC Lab. Dept. Computer Science Education, Korea Univ.