LEGO Education SPIKE Prime 으로 블록 코딩하기
컴퓨터 전공하는 아빠가 요즘 아들에게 본업을 하고 있다. 이번 겨울 방학부터 3학년 아들과 함께 Scratch 블록 코딩을 본격적으로 가르쳐주고 있는데, 겨울방학 특강으로 LEGO Education SPIKE Prime을 이용해서 블록코딩을 체험할 수 있는 곳이 있어 다녀왔다. 아들은 5세부터 LEGO를 했기 때문에 Lego에 완전 푹빠져있다. 게다가 최근 배우는 블록코딩을 이용해서 자동차를 움직일 수 있다니!! LEGO + Coding 이 조합은 아이가 열광할 수 밖에 없을 것 같아서 서둘러 예약했다.
LEGO Education SPIKE Prime
LEGO를 이용하여 과학 및 수학의 교육을 할 수 있게 만든 교보재 페키지이다. 예전에 LEGO MINDSTORMS 이 있었다면, 지금은 LEGO SPIKE 가 있다고 생각하면 된다. 공대생인 아빠가 진심으로 레고를 좋아하니 아들도 자연스럽게 레고에 빠져있는것 같다. 올해 최고의 선문을 Star Wards 의 Imperial Star Destoyer(75394) 였는데, 3학년이 되면서 1500 피스가 넘는 블록도 잘 조립하게 되었다. 그래서 이젠 레고에 코딩을 접목해서 컴퓨터학과 물리학을 같이 접하면 좋지 않을까 생각하고 있었는데 LEGO Education SPIKE Prime이 이런 요구를 잘 반영해서 접할 수 있는것 같다. 하지만 구매하긴 가격이 부담되기 때문에 과학관이나 수학관 등에서 물리학과 수학, 최근에는 코딩 수업을 위해서 무/유료 교육들이 있으니 활용하는 것을 추천한다.

https://www.lego.com/ko-kr/product/lego-education-spike-prime-set-45678
Scratch Coding
요즘은 블록코딩 플랫폼이 많다. 네이버에서 만든 것도 있고, 마이크로소프트에서 만든 것도 있지만 가장 보편적으로 많이 사용하는 Scratch 를 추천 한다.

Scratch를 시작하는 방법은 블로그에서 소개한 적이 있으니 참조하면 도움이 될 것 같다.
블록코딩은 초등학교 3학년초에 시작했는데, 여러 일정 때문에 초등학교 3학년 겨울방학에 본격적으로 가르쳐주고 있다. 개인적으로는 3학년 겨울 방학에 배우는 것이 최적으로 보인다. 훨씬 이해도 빠르고, 배운 내용을 스스로 다양하게 응용하면서 즐기는 것 같다. 파이썬 코딩 보다 블록코딩이 훨씬 직관적이고 재밌다. 학생들에게 두가지 모두 가려쳐본 입장에서 반드시 블록 코딩을 경험하는 것을 권하고 싶다. 너무 재밌다. 이번 LEGO Education SPIKE Prime 교육에 가서 컴퓨터 전공자인 아빠가 아들보다 더 신나서 이것 저것 물어봤으니.. 블록코딩이 얼마나 재밌는지 따로 설명 하지 않아도 될 것 같다. (강사분께서 많이 놀라신듯 했지만, 우리는 거리 센스를 이용해 장애물을 감지하는 코드까지 추가했다)
Differential
이번 교육은 LEGO Education SPIKE Prime 교육은 2개의 모터를 회전 반경에 따라 다른 속도로 동작하게 코딩하여 자동차의 "차동장치(Differential)"의 원리를 이해하고 직접 코딩하는 것을 배웠다.

레고 조립은 익숙해서 너무 쉽게 진행되었다. 코딩도 Scratch 에 센서가 추가되어 블록코딩을 할 수 있게 만들어져 있어서 익숙하게 따라할 수 있었다.
LEGO Education SPIKE Prime은 코어 패키지 안에 전력을 공급하는 Hub와 모터, 그리고 각종 센스가 있다. 이 것을 사용해서 차동장치 매커니즘을 알고리즘으로 코딩할 수 있다.

차동장치에 알고리즘은 초등학생에게는 조금 어려운 원리였는데, 블록코딩에서 알고리즘을 블록으로 만드는 부분을 진행할 때는 부모님들의 도움이 필요했다. 그외 다른 코딩은 3학년 아들이 따라가면서 잘 해낼수 있었다.
LEGO Education SPIKE Prime의 최고 장점은 블록코딩을 블루투스로 바로 실행할 수 있는 것이다. 이전에는 (레고 마인드스톰 같은) USB 케이블을 연결하던지, 유선 인터페이스를 연겨래서 코드를 실행했기 때문에 실행 반경이나 여러가지 제한 사항이 많았다. 하지만 블루투스로 원격에서 코드를 바로 실행하니 컴퓨터 연결된 제한에서 벗어나 다양한 명령어를 실행할 수 있다.
좁은 책상에서만 코드를 실행하는 것이 아니라, 실제 넓은 필드에서 내가 작성한 코드를 실행할 수 있다. 차동장치와 거리센서를 이용하여 충돌을 회피하는 코드를 작성했는데 실제 동작하는 것을 보면서 코드의 동작을 확인할 수 있었다.
초등학교 3학년 블록코딩을 하면서 코드가 화면에서만 동작하는 것만 봤었는데, 이렇게 물리적으로 기계를 움직이게 만드는 경험을 하면서 코딩에 대해 더 흥미를 가질 수 있게 되었다.
짧은 교육 시간으로 센서에 대해 충분히 경험할 수 없었지만 아이에게 충분히 유익한 시간이였다.