햄스터로봇 산책하기

 

'2001 미래의 로봇 113가지 -10년이 지난 지금' 이라는 게시글...의 67번 산책로봇

 

그리고 햄코 교재의 '햄스터 산책하기 미션'을 참고하면서 계획하게 된 활동 아이디어...

 

목표>

1. 햄스터 4대를 패드 1대로 조종한다.

2. 앞의 물체를 따라 자유롭게 방향을 조절하며 한줄로 움직이도록 한다.

3. 앞의 물체와 부딪히지 않도록 너무 가까워지면 멈춘다.

4. 앞의 물체를 감지하지 못하면 멈춘다.

 

원하는 결과물은 이렇다.

 

 

이 미션을 학생들과 함께 하기 위해 만든 PPT

 

 

햄스터로봇 한줄로산책하기 from Changsuk Hyoun

 

잘 짜여졌는지는 모르겠지만... 암튼... 나름의 수확을 거두었음에 만족하며...

 

 

 

<수업 적용>

2001년 미래의 로봇 113가지 글을 같이 살펴보며 로봇이 주는 편리함에 대해 이야기 나눔...

이후 67번 산책로봇을 살펴보며, 이런 로봇이 있다면 어떤 점이 좋을까 이야기 나눔

 

수업에 적용은 못하였지만... 이런 산책로봇을 다른 어떤 분야에 적용할 수 있을지 이야기를 나누는 것도 의미있을 듯하다.

아마도 이런 것을 탐색하고 의견을 나누는 것이 더 SW교육적이지 않을까?

(마트에서 직접 끌지 않는 카트... 다둥이 엄마 아빠를 위한 다둥이 유모차... 암튼... 움직이는 주인을 따라다니는 캐리어 등으로도 응용이 가능하지 않을까? 싶다... 대충 생각해 본 것들...)

 

암튼 이후 상황을 제시하는 이야기글을 제시하고 

그 이야기글의 문구에 맞추어 코딩 요소를 찾도록 하였다.

물론 근 20시간의 햄스터 로직을 적용하긴 하였지만... 거의 교사 주도형인지라...

SW적 마인드가 적은 상황이라서 하나씩 같이 찾아가는 형식으로... 진행하였다.

만약 시간이 좀더 주어지는 상황이라면 코딩요소 탐색 과정을 1차시로 배정하여 분석적으로 다루며 이야기를 세세히 나누어 보면 코딩요소를 많이 찾아내고 좀더 학생 스스로 코딩을 찾아낼 수 있지 않을까 싶다.(갑작스런 동료장학에 햄스터 로봇을 다루며 무엇인가 미션을 수행한다고 보여주어야 한다는 압박에... ㅠㅠ)

 

코딩요소를 5분정도 찾아보도록 모둠별 활동으로 주고 난 후,

전체활동을 하나씩 이야기 나누면서 만들어가는 과정을 진행하였다.

 

먼저, 앞의 물체에 따라 햄스터가 물체 방향으로 회전을 하거나 앞으로 가는 알고리즘을 만들었다.

 

위 PPT 슬라이드의 11번, 12번 슬라이드에 나온 것 처럼

햄스터로봇의 왼쪽 / 오른쪽 근접센서의 감지에 따라 그 값을 상관관계를 갖는 햄스터 로봇 바퀴 속도로 지정하여 문제 해결...

물론 물체가 가까워지면 해당하는 센서 쪽 값이 상승하고

물체가 감지된 방향으로 햄스터로봇이 방향을 틀려면 방향을 틀려는 반대 쪽 바퀴에 속도를 높여야 한다.

즉... 물체가 감지된 쪽 센서값을 물체 감지 반대방향 햄스터 바퀴 속도로 지정하면 충분히 해결....

이 부분은 나보다는 코딩 실력이 좋은 한 학생의 앞 미션(라인트레이서) 해결 과정에서 제시하면서 학생들이 이전 학습 내용을 바탕으로 쉽게 이해할 수 있는 상황이 되었다.

이를 위해 학습 소재로 제작한 동영상은...

 

이를 패드로 코딩하면 다음 화면과 같다.

 

이를 실제로 코딩하여 학생들이 직접 경험해 보도록 하며 앞에서 '이러면 될 것이다.'라는 것을 직접 확인하는 과정을 거쳤다.

 

 

이 후에 해결해야 할 알고리즘은

3. 앞의 물체와 부딪히지 않도록 너무 가까워지면 멈춘다.

4. 앞의 물체를 감지하지 못하면 멈춘다.    내용으로...

앞의 물체를 감지하지 못하면 멈추고 감지하면 움직이며,

또 앞의 물체와 너무 가까우면 부딪히지 않도록 멈추도록 조건문을 달아 조절하는 것...

 

물체를 감지한다는 것을

햄스터의 왼쪽 또는 오른쪽 근접센서의 값이 10이상이 되는 것으로 하고

물체와 너무 가깝다는 것을

햄스터의 왼쪽 또는 오른쪽 근접센서의 값이 50~60...(햄스터의 감지 능력에 따라 조종) 이상이 되는 것으로 일단 값을 주어 테스트...

 

이 때 이중 조건문을 사용하게 되는 터라...

학생들에게는 위 PPT의 16번 17번 슬라이드와 같이

이중조건문을 통한 알고리즘 내용을 제시하여 적절한 값을 스스로 찾아 넣도록 함...

물론 알고리즘의 구조가 왜 이런 이중조건문이 되었는지는 설명...

 

이를 패드로 코딩하면 다음의 두 화면과 같다.

 

 

위 두 화면의 내용을 보면 알겠지만 첫 번째 코딩 내용이 이후 2, 3, 4번의 햄스터에도 똑같이 적용이 된다.

 

예시 동영상을 만들기 위해서 먼저 1대의 패드로 4대의 햄스터를 조종할 때에는 위 화면과 같이 코딩하여 실행시킨 후 4대의 햄스터가 한줄로 움직이는 영상을 촬영했다.

학생들과 수업할 때에는 1대의 햄스터 코딩을 다른 햄스터에도 같이 코딩하고 수치들만 조정하여 1패드 1햄스터가 되도록 하여 3~4명이 1조로 하여 미션을 완성하도록 하였다.

그 때에는 아래 화면에서 첫 번째 '클릭했을 때'에 딸린 명령만을 코딩하면 충분하다.

 

 

 

이 내용을 40분에 소화하겠다고 한 것 자체가 무리였는지는 모르겠지만...

그래도 기본적인 알고리즘을 제공하면서 경험한다는 생각에서 진행하니... 그럭저럭 40분에 소화는 가능했었다.

 

그래서 완성된 학생들의 결과물... 다소 장난스럽게 말하면서도 나름 잘 완성되어 목소리에는 힘이 들어간 듯 하다.

 

<수업 적용 후기>

#1.

1차시 40분 수업이 아닌 2차시 분량으로 1차시에는 코딩요소 찾기 / 2차시에는 학생들 스스로 코딩해 보기 활동으로 한다면 더 SW교육적인 수업에 가깝지 않았을까 싶다.

#2.

위와 같이 코딩한 경우 햄스터를 급하게 회전하는 경우(회전각이 큰 경우)에는 앞 햄스터와 충돌이 발생하는 경우가 있다.(특히 예제 동영상에서 중간 부분 쯤에...) 이는 어쩔 수 없는 듯...

해결책이 있는지 좀더 탐색이 필요할 듯 하다.

#3.

앞에 가이드하는 손을 너무 빨리 움직이면 근접센서 값의 급작스런 변화 만큼 햄스터가 반응하지 못하는 경우에는 자꾸 손을 놓치고 제자리에 멈추는 경우가 있다. 이는 아마도 물체 감지 센서의 값을 10보다 더 많이 30~40 대로 올렸을 때 더 자주 그런 경우가 나타났다. 이에 대해서는 학생들 스스로 적절한 값을 찾도록 해야 할 것이다.

 

# 전반적으로...

나름 만족스런 결과를 얻었고 40분이라는 시간에 해냈다는 생각에 더 만족스럽다.

하지만 거의 숟가락으로 떠 먹여준 형태의 수업이라 그 만큼 '좀 더 SW교육 스럽게 할 수 있었는데' 하는 아쉬움은 남았다.

이전까지 짜잘하게 진행하던 햄스터 미션들을 이런 식으로 총 정리할 수 있다고 한다면...

내년에는 좋은 자료가 될 것 같다. ㅠㅠㅠㅠ.... 언제할꼬....

 

==============

update 2017.11.29.  패드로 간략히 코딩한 캡쳐 파일 올림.

 

안드로이드 > '로보이드' 런처 설치 + '스택' 설치

 

Posted by 창석쌤
,

[커넥트재단X초등컴퓨팅교사협회 SW교재 9종 개발]

#커넥트재단 이 후원하고 #초등컴퓨팅교사협회 가 개발한 
SW교재 9종을 #소프트웨어야놀자 사이트에서 확인하세요!
교재 다운  http://www.playsw.or.kr/repo/material

[교재 목록]
1. [기초] 비트브릭과 함께하는 소프트웨어 여행
2. [기본] 비트브릭과 함께하는 소프트웨어 여행
3. 함께하는 즐거운SW캠프
4. 엔트리와 함께하는 생활 속 코드이노
5. 엔트리와 함께 떠나는 교과여행
6. 로봇을 활용한 주제중심 융합 프로젝트
7. 놀이로 배우는 소프트웨어 교육
8. 햄스터, 엔트리와 함께하는 소프트웨어 수업
9. 즐거운 동아리활동_생각반짝 엔트리


Posted by 창석쌤
,

구글이 진행하고 있는 SW 교육 프로젝트(링크)


구글 CS 아웃리치 이니셔티브 : SW 교육 관련 연구결과와 SW 교육 콘텐츠를 모아두었다.


CS 퍼스트 : SW 교육과 관련된 무료 자료들이 있다.


익스플로러 컴퓨테이셔널 씽킹 : 컴퓨팅적 사고를 배울 수 있는 동영상, 강의 자료 등이 모여 있

다.


컴퓨테이셔널 씽킹 에듀케이션 : SW 교사를 위한 무료 온라인 강의.


메이드위코드: 여학생을 위한 SW 교육 프로그램.


컴퓨터사이언스 포 하이스쿨 : 초·중·고교 교사를 위한 SW 교육 프로그램.


디지털 테크놀로지스 MOOC : SW 교사를 위한 무료 온라인 강의.


CS 언플러그드 : 컴퓨터 없이 SW 개념을 배울 수 있는 ‘언플러그드’ 수업 자료들.


CS 필드 가이드 : 고등학교를 위한 SW 교육 자료들.


커리어 위드 코드 : 컴퓨터과학과 연관된 직업 정보를 알려주고 있다.

 

Posted by 창석쌤
,