스크래치형 코딩
코딩 교육 뭘 배워야 하지?
지난 글에서 코딩교육의 현위치와 최근 유행하고 있는 코딩 교육 세 가지 분류를 알아봤습니다. 다시 언급해보자면, 코딩 교육시장은 다음의 세 가지로 분류할 수 있습니다.
스크래치형, 아두이노형, 알고리즘형
이 세 가지를 들어보신 분들도 계시겠지만, 아직 감이 잘 안 오시는 분들도 있을 거라 생각합니다. 정말이지 코딩을 포함한 소프트웨어 분야는 생소한 단어들 뿐이거든요.
그래서 이제부터 3번에 걸쳐 스크래치형, 아두이노형, 알고리즘형 코딩교육이 무엇인지 좀 더 자세히 알아보고, 어떤 서비스와 제품이 있는지 살펴보도록 하겠습니다!
- 대상 : 유아 / 초등
- 선행지식 : 없음
- 준비물 : PC, 인터넷
- 목적 : PC를 통해서 블록을 쌓아서 간단한 애니메이션과 프로젝트를 만들어봄으로써 창의적 사고와 논리적 사고(코딩적 사고)에 도움을 줌.
스크래치형 블록코딩은, 코딩 입문용 프로그램 중에서 가장 많이 사용되고 있는 방식입니다.
* 프로그래밍 언어란, 소프트웨어와 같은 컴퓨터에 필요한 프로그램을 만들기 위해 사용하는 컴퓨터 언어로서, 대표적으로 C 언어, Java(자바)와 그리고 Python(파이썬) 등이 있습니다. 각각에 대한 자세한 내용은 추후에 자세히 다루도록 하겠습니다!
대표적으로 2006년 MIT에서 개발한 유아/초등 대상 코딩교육 프로그램인 '스크래치' 가 있습니다. 지금 시장에 나와있는 유사한 블록코딩들은 '스크래치'에서 파생되었다고 볼 수 있습니다.
아래 사진은 스크래치를 통해서 프로그램을 만든 것 입니다.
이 프로그램은 고양이가 "앞으로 전진!"이라고 2초간 말하고 일정 거리만큼 이동"하도록 합니다.
고양이가 이런 행동을 하게 만들기 위해서 블록들을 순서에 맞게 다음과 같이 적절히 배치한 것을 볼 수 있습니다.
> 고양이를 눌렀을 때
고양이를 눌렀을 때 무엇을 할까?
> 10번 반복한다
10번 어떤 행동을 반복할까?
> (1) "앞으로 전진"을 2초간 말한다
> (2) 10만큼 오른쪽으로 이동한다
> (3) 1초 기다린다
스크래치는,
*변수 : 숫자와 문자 같은 값을 저장하기 위한 공간입니다. '변수'에 대해서는 프로그래밍 기초 원리에 대한 글에서 다룰 예정입니다.
** 반복문 : 어떤 작업을 일정 횟수 또는 무한번 반복을 할 수 있습니다. (예. 5번 앞으로 전진!)
*** 조건문 : 특정 조건을 만족할 때만 어떤 작업을 할 수 있도록 만들 수 있습니다. (예. 벽을 만나면 멈춰라!)
스크래치로 만들 수 있는 프로그램은 '숫자 맞추기 게임', '장애물 피하기 게임' 등이 있습니다. 프로그램을 만들 때는 본인이 가지고 있는 이미지들이나 스크래치에서 제공하는 기본적인 도형과 그림들을 활용할 수 있습니다.
- 예제 프로젝트1. 숫자 맞추기 게임과 코딩 블록 : https://scratch.mit.edu/projects/94391019/
- 예제 프로젝트2. 3D 장애물 피하기 게임과 코딩 블록 : https://scratch.mit.edu/projects/176673330/
2017.10.20 기준으로 25,467,816 개의 프로젝트들이 공유되고 있습니다.
생활코딩에서도 스크래치에 대한 강의가 있으니, 스스로 학습을 해보고 싶은 분들은 참고하세요!
엔트리는 국내 비영리 교육 단체인 '엔트리 교육 연구소' 에서 2013년에 개발한 초중등 학생들을 대상의 스크래치형 블록코딩 프로그램입니다. '엔트리 교육 연구소'는 2015년 네이버에 인수되어 현재 EBS, 국내 대학들과 업무협약을 맺었습니다. 뿐만 아니라 '소프트웨어야 놀자' 등을 운영하면서 소프트웨어 교육 확산에 가장 활발한 활동을 하고 있는 단체 중 하나입니다.
이외 다른 프로그램들
- code.org(코드닷오알지) : https://code.org/
- 로지콩 : http://logicong.com/main/logicong
- 코들리 : https://codly.co.kr
*또 다른 제품이나 서비스가 있으면 알려주세요!
센서가 달린 하드웨어 블록들을 조립하고, 스크래치로 이 블록들을 제어하는 프로그램을 만들 수 있습니다.
자동차와 같은 모양으로 조립을 한 후에 "앞에 장애물이 있으면 왼쪽으로 회전하라" 또는 "10초간 앞으로 직진하라"와 같은 명령을 할 수 있습니다.
큐브로이드는 블록으로 이루어져 있는 하드웨어와 센서를 조립한 다음, 스크래치로 소프트웨어(프로그램)를 만들어 제어할 수 있습니다. 가장 큰 특징은 다른 코딩 교육용 레고들에 비해 조립과 조작이 쉽다는 것입니다.
- 관련 제품들
예를 들어, "버튼 1을 눌렀을 때 화면 1을 띄운다" , "버튼 2를 눌렀을 때, 노래가 재생되도록 한다" 등 간단한 어플리케이션을 만들 수 있습니다.
대표적으로 MIT에서 개발한 "앱 인벤터" 가 있습니다.
스크래치형 블록코딩의 특징을 다음과 같이 정리해봤습니다.
그럼 무조건 스크래치부터 시작하는 게 좋을까요?
물론 그렇지 않습니다!
본인이 중고등학생이거나 성인인데, 굳이 유아/초등 교육용 프로그램을 쓸 필요가 없는 거죠. 몇 번 하다 보면 쉽고 다소 유치하게 느낄 수도 있죠! 이게 코딩인가? 하면서 말이죠.
다음 글에서는 중고등학생들에게 좀 더 맞는 학습 방법인 '아두이노형 코딩 교육'에 대해서 알아보도록 하겠습니다.
글은 쭉~ 이어집니다