온라인 라이브로 어플 개발하기
바다의 색, 아쿠아, 시안(Cyan)이라고도 한다.
#00ffff
중간고사 이후에 면대면 교육으로 전환될 것이라 예상했지만
국가시책, 초중고 개학 시기 등과 맞물려
반드시 필요한 실습을 제외하고는 모두 온라인 교육으로 결정되었다.
멀티미디어와 컴퓨팅 사고력(심화) 강좌는 중간고사를 지나고
하반기 강좌로 접어들었다.
하반기에는 앱인벤터로 안드로이드 어플을 개발하는 것을 배운다.
학교 컴퓨터실에서 면대면 교육으로 실시할 경우
학생들의 상황을 관찰하고 막히는 부분을 바로 알려줄 수 있는데
온라인 라이브 수업에서는 학생들의 화면을 확인할 수 없으니
적절한 피드백을 주기 힘들다.
새로운 프로그램을 배우거나 난이도가 있는 내용을 가르칠 때는 더욱 그렇다.
오늘은 앱인벤터를 처음 가르치는 날이다.
앱인벤터(https://appinventor.mit.edu/)는 MIT에서 만든 안드로이드 어플 개발 도구로 구글 계정만 있으면 무료로 누구나 사용이 가능하다.
클라우드 기반이라 소스도 자동 저장되고, 관리할 수 있다.
앱인벤터로 개발한 소스는 자신의 안드로이드 폰에 빌드하여 확인할 수 있는데, 설치할 때 종종 오류가 나기도 한다. 면대면 교육에서는 내가 바로 오류를 발견하고 잡아줄 수 있으나 온라인 라이브에서는 원활하지 않을 것 같아서 수업 전에 고민이 되었다.
25명 학생들이 참여하는데 걱정했던 것과 달리 학생들이 잘 따라온다.
첫 번째 앱인 고양이 앱을 개발하고 기뻐한다.
앱을 개발하는 기쁨은 새로운 무언가를 알게 되었을 때의 소위 '앎의 기쁨'을 경험하게 해 준다.
작은 단위의 개발은 이런 작은 성취와 기쁨을 통해 더 큰 도전으로 나갈 수 있는 힘을 길러준다.
학생들에게 실패를 두려워하지 말라고 격려했다.
실패는 당연한 것이고, 버그는 필연이기에, 테스트하고 디버깅하는 과정을 통해 완성하는 과정을 체험해 보라고 강조하였다.
두 번째 앱은 페인트 통(https://appinventor.mit.edu/explore/ai2/paintpot-part1) 개발인데, 스마트폰의 카메라 기능을 이용하기도 하고 화면에 그림도 그릴 수 있다.
변수 개념도 있고, 초보자에게는 다소 복잡한 구조라 걱정했지만 다행히 잘 따라온다.
중간중간에 스스로 시도하는 코드 작업도 적절하게 제시해야 한다.
예를 들면 이런 식이다.
"자, 여기서 녹색 버튼을 누르면 컬러가 녹색으로 바뀌게 만들어 보세요.
지금까지 만든 버튼을 참조해서 스스로 만들어 보세요."
교육학에서는 이런 과정을 '비계(Scafolding)'이라고 한다.
처음에는 교수자가 많은 부분을 도와주지만 점차 도와주는 부분을 줄이면서 스스로 생각하고 코딩하도록 돕는다.
비계 설정은 학생들의 상황과 수준, 환경에 따라 매번 다르게 설정해야 하는데, 여기서 교수자의 역량이 드러난다.
온라인 라이브에서 컴퓨터 관련 실습을 진행한다면 이 '비계'를 적절하게 설정하는 것이 필요하다.
무조건 따라하기식이 아닌
생각하고 코딩하는 학생들을 기르려면, 컴퓨팅 사고력을 향상시키려면
코딩 과정에서 학생들의 사고를 자극하는 발문과 비계를 잘 배치해야 한다.
오늘은 온라인 라이브로 앱인벤터 코딩 수업의 가능성을 확인했다.
* 화면공유 팁) 앱인벤터는 클라우드 기반이고 크롬에서 가능하다. 교안은 PPT로 되어있다.
이럴 경우 화면공유 옮기기를 최소화하기 위해 PPT를 pdf로 변환해서 탭으로 띄워놓고, 크롬 자체를 화면공유하면 탭만 옮겨가므로 화면공유 재설정이 필요 없다. 화면공유 조작의 시간과 노력을 조금이라도 줄일 수 있다. 구글 클래스룸도 함께 탭으로 띄워 놓으면 금상첨화다.