로봇활용 SW 교육의필요성및현황 광운대학교로봇학부박광현
창의?
3
4
창의적이어야하는이유? 문제해결
통찰 예리한관찰력으로사물을꿰뚫어봄 사물의본질과핵심을한눈에총체적으로파악하는것
통찰적문제해결 각단계의지식 + 통합 쾰러의침팬지관찰실험
통찰적문제해결 각단계의지식 + 통합
창의 새로운생각이나개념을찾아내거나기존에있던생각이나개념들을새롭게조합해내는것 창의 통찰
창의적문제해결 어떤문제를해결하기위한창의적해결법을만들어내는정신적과정 독창성 + 적합성 혁신 널리사용 발명 시장적가치
창의적문제해결 목표발견사실발견문제발견아이디어발견해결책발견수용안발견 주제선정관찰, 분석문제정의아이디어도출해결책제시해결책적용
컴퓨팅사고력?
컴퓨팅사고력? 문제를수립하고해결책을만들어컴퓨팅시스템을통해효과적으로수행되도록표현하게하는사고과정초중등단계 Computational Thinking 도입을위한기초연구, 한국과학창의재단, 2014.06 컴퓨팅의기본적인개념과원리를기반으로문제를효율적으로해결할수있는사고능력 소프트웨어교육운영지침, 교육부, 2015.02
컴퓨팅사고력의구성요소 문제를컴퓨터로해결할수있는형태로구조화하기 자료를분석하고논리적으로조직하기 모델링이나시뮬레이션등의추상화를통해자료를표현하기 알고리즘적사고를통하여해결방법을자동화하기 효율적인해결방법을수행하고검증하기 문제해결과정을다른문제에적용하고일반화하기 소프트웨어교육운영지침, 교육부, 2015.02
컴퓨터의계산능력을활용한 문제해결과정
문제정의과정 문제구조화 실세계문제 관찰 추상적모델링 수학적모델링 추상화 불필요한세부사항제거 문제분해 문제정의 가정 단순화
문제정의과정의단순화 1 문제정의또는문제표현 사회 인문학적문제는요구사항분석을통해서! 자신의문제보다는다른사람의문제를해결해주자 관찰과질문을많이하자요구사항을말로표현하면서구체화 항목나열 우선순위표시 우선순위높은것 2~3 개만 요구사항을분석 체계화하여문제를명확하게표현 다른사람에게설명하여명확하지않은부분수정문제를여러개로나누기 추상화 ( 단순화 ) 문제분해
문제정의과정의단순화 1 문제정의또는문제표현 과학 공학적문제는관찰과데이터분석을통해서! 왜내로봇은똑바로가지않을까? 측정도구로주변환경및현상을측정및관찰측정데이터를표또는그래프로분석경향파악및가정을두어문제단순화 데이터를분석 체계화하여문제를명확하게표현 다른사람에게설명하여명확하지않은부분수정문제를여러개로나누기 추상화 ( 단순화 ) 문제분해
문제정의과정의단순화 관찰및이해 명확한표현
문제해결과정 실세계문제 관찰 추상적모델링 수학적모델링 설계 가설 분석 문제정의 알고리즘 구현 시험 평가 문제해결
문제해결과정 실세계문제 관찰 추상적모델링 문제해결 문제해결 문제해결 일반화 통합
문제해결과정의단순화 1 해결책찾고구현하기 생각을모두정리한후에구현하자 책상에앉아바로구현하기시작하는것금지! 정리된생각을구현하기전에시뮬레이션해보자 2 인 1 조로짝코딩하자 역할에충실하게, 역할을바꾸어가며 알고리즘 시뮬레이션
문제해결과정의단순화 2 시험, 디버깅, 수정 컴퓨터는시킨대로만동작한다디버깅 명령어를하나씩친구에게말하고친구가하나씩몸으로수행해보면서잘못된부분을찾자 생각대로동작한다고끝이아니다코드리뷰 더효율적으로구현할수있는방법은없는지생각해보자발표를통해다른친구는어떻게구현했는지살펴보자해결한방법을다른문제에적용하려면어떻게해야할까? 추상화 ( 일반화 )
문제해결과정의단순화 생각후구현 생각, 생각, 생각
컴퓨팅사고의목적은 비판적사고력 논리적사고력
컴퓨터의계산능력을활용한 문제해결과정
SW 교육?
프로그래밍? 컴퓨팅문제를해결하기위한방법을실행가능한컴퓨터프로그램으로만드는것 문제영역에대한다양한전문지식필요 요구사항분석, 이해, 구조설계, 알고리즘만들기, 알고리즘의요구사항검증 ( 무결함, 자원사용등 ), 알고리즘구현, 디버깅, 테스트, 유지보수, 빌드시스템등등 코딩
코딩 = 글쓰기 좋은코드를많이읽고많은코드를작성해본다 좋은글을많이읽고많은글을작성해본다 초고는가슴으로쓰고, 재고는머리로쓴다 파인딩포레스터
노력하지않는천재는없다 모짜르트작곡 600 여곡 피카소드로잉 12,000 점 아인슈타인논문 248 편 김연아연습시간 49,640 시간
코딩을학습하는단계 1 순차 2 횟수반복 명령어하나, 같은명령순서대로, 다른명령섞어서순서대로 단순반복 ( 한가지명령반복 ), 규칙 ( 패턴 ) 있는반복 ( 패턴을반복 ) 순차반복 ( 단순반복 + 순차, 단순반복 + 단순반복 ) 규칙 ( 패턴 ) 있는순차반복, 내포반복 * 3 디버깅 명령어추가, 삭제, 수정순차를반복으로수정 ( 패턴찾기 ) 반복내에서추가, 삭제, 수정 * 고급과정 4 조건 만약 ~ 이라면만약 ~ 이라면, 아니면 ~ ~ 까지반복과조합
코딩을학습하는단계 5 6 ~ 까지반복 ~ 동안반복 단순반복규칙 ( 패턴 ) 있는반복순차반복규칙 ( 패턴 ) 있는순차반복, 내포반복 * 7 논리 AND, OR, NOT 8 이벤트 이벤트처리
코딩을학습하는단계 9 함수호출 이미존재하는함수를호출만 10 변수 11 for 반복 12 함수만들기 함수구현 13 병렬처리 *
패턴찾기가중요 반복 추상화 함수
추상화 추상화는본질을발견하고재해석하는것이다.
학습도구에관하여...
스크래치엔트리 고급 초급 로보이드스튜디오 자바 C, C++, C# 초중급 안드로이드 ios... 파이썬자바스크립트프로세싱 고급 ~ 전문 중급
블록코딩에서텍스트코딩으로넘어가는시기 한번에생각할수있는단위는 컴퓨터화면에보이는범위만큼으로제한됨 블록구성이한화면을넘어가는시기가되면 - 함수를만들어생각의범위를분리하거나 - 좀더함축적으로표현할수있는다른그래픽도구 - 또는텍스트코딩으로넘어가서생각의범위를넓혀주어야함
로봇활용 SW 교육?
왜 SW 교육을하는가? 의도적학습 즉각적인피드백이중요 SW는즉각적인피드백이가능관찰과생각없는즉각적인피드백은독이될수있다 로봇은? 몰입도유지를위한수단도구로서만활용하고목적이되어서는안된다
교육용로봇 창작형교구로봇 일체형교구로봇 교사보조로봇 개인학습보조로봇 원격교육용로봇 연구용플랫폼 ( 기술교육용로봇 )
창작형교구로봇
일체형교구로봇
교사보조로봇
개인학습보조로봇
원격교육용로봇
연구용플랫폼
교육용로봇 교육을목적으로하는활동을위해사용되는로봇 교육을목적으로하는활동을위해사용되는로봇 창작형교구로봇 일체형교구로봇 교사보조로봇 개인학습보조로봇 원격교육용로봇 연구용플랫폼 로봇소양교육 STEAM 교육 SW 교육 기타교과교육 특수교육 전문기술교육
SW 교육용로봇 완제품로봇 ( 일체형교구로봇, 개인학습보조로봇 )
SW 교육용로봇 키트형로봇 보드형제품 블록 / 프레임형제품
로봇활용 SW 교육에서고려해야하는사항들 동력전달메커니즘, 센서와액추에이터구동원리 로봇교육을하는것이아님 HW 창작은최대한배제 키트제품은수업전에미리조립해둘것 모든센서값을실시간모니터링할수있는제품을선택 ( 가능한무선으로 ) 데이터관찰이중요 활용할수있는 SW 도구및추후개발계획확인 X
정리
국제학업성취도평가 (PISA) 창의적문제해결능력부문 (2012 년 ) 1 위싱가포르 (562) 2 위한국 (561) 3 위일본 (552) 4 위마카오 / 홍콩 (540) 5 위상하이 (536) 6 위대만 (534) 최상위 5 등급이상 20 위 권재원, 그많은똑똑한아이들은어디로갔을까, 2015
이상점 (Outlier) 낯선것에대한즐거움 특수 ( 전문 ) 교육 보편교육
지식통찰창의혁신발명 실세계문제 관찰 추상적모델링 수학적모델링 설계 가설 분석 문제정의 알고리즘 구현 시험 평가 문제해결
감사합니다 akaii@kw.ac.kr