[앱리뷰] 애플의 어린이 코딩 교육 도구 ‘스위프트 플레이그라운드’

가 +
가 -

지난 6월 애플은 ‘세계개발자회의(WWDC) 2016’에서 재밌는 앱을 하나 공개했습니다. 바로 어린이 코딩 교육 도구 ‘스위프트 플레이그라운드’인데요. 스위프트 플레이그라운드는 9월13일 공식 출시돼 이제 누구나 무료로 내려받을 수 있습니다. 단, 이 앱은 아이패드에서만 이용할 수 있고 iOS10버전 이상에서만 작동됩니다.

스위프트 플레이그라운드는 애플이 처음으로 직접 개발한 코딩 교육 도구라는 점에서 의미가 큽니다. 경쟁사 구글을 비롯해 크고 작은 스타트업들이 이미 코딩 교육 콘텐츠를 만들고, 교사 연수를 진행하고 있습니다. 이번 스위프트 플레이그라운드로 애플도 소프트웨어 교육 시장에서 더 많은 입지를 넓힐 수 있을 것 같습니다. 사실 이미 애플은 이탈리아에 iOS 개발 학교를 세우겠다고 공식 발표했고, 애플 스토어에서 직접 코딩 교육 캠프를 운영하고 있기도 하죠.

스위프트 플레이그라운드는 원래 어린이에게 프로그래밍 원리를 쉽게 알려주려고 기획됐습니다. 하지만 직접 사용해보니 너무 어린 나이의 친구들은 이 앱이 조금 어려울 수 있을 것 같습니다. 대신 초등학생 고학년이나 청소년, 성인들에게 더 유용할 수 있으며, 실제 앱 개발로 넘어갈 수 있을 정도로 실용적인 개념을 넣은 것이 인상적입니다. 한 가지 아쉬운 점은 모든 콘텐가 다 영어로 작성된 부분인데요. 영어가 익숙치 않은 분들에게는 프로그래밍 보다 독해를 하는데 더 시간이 걸릴 수 있을 것 같습니다. 반대로 스위프트 플레이그라운드가 한글화된다면 관련 교사들이 즐겁게 활용할 수 있을 것 같습니다. 자, 그럼 자세히 한번 살펴볼까요?

스위프트 플레이그라운드를 시작하면 가운데 아래에 ‘피처드(Featured)’라는 탭과 ‘마이 플레이그라운드(My Playground)’ 탭이 있습니다. 피처드는 여러 앱 혹은 게임들이 들어 있고, 그 중 하나를 눌러 ‘받기(Get)’ 버튼을 눌러 다시 내려받아야 합니다. 앱스토어 원리와 같습니다. 현재 공개된 6개 앱과 게임은 전부 무료이고, 애플이 직접 만들었습니다. 내려받은 게임은 마이플레이그라운드로 들어갑니다. 향후 애플이 피처드 기능에 타사 기업이 만든 앱을 넣도록 허락해준다면 다양한 코딩 교육 콘텐츠 생태계가 만들어질 수 있다는 생각도 듭니다.

Swift_Playground_Review_01

가장 기초단계는 ‘코드배우기:스위프트 기초( Learn to Code 1 Fundamentals of Swift)’라는 앱입니다. 말 그대로 스위프트 언어의 기초를 배우는 시간입니다. 명령어 , 함수, 반복문, if 조건문, 논리연산자, while문, 알고리즘 단원이 있고, 각 단원마다 풀어야 할 과제를 10개 정도 줍니다.  왼쪽에는 풀어야 할 과제를 주고, 오른쪽에는 그 결과를 볼 수 있게 해두었네요.  예를 들어 아래 과제는 “‘앞으로 가다(moveFoward)’와 ‘보석을 모으다(collectGem)’ 명령어를 조합해서 캐릭터를 움직이고 보석을 모으세요”입니다. 저는 ‘앞으로 가다(moveForwar())’ 명령어 4번과 ‘보석을 모으다(collectGem())’ 명령어 1번을 입력했습니다. 오른쪽 창에서 ‘코드 실행하기(Run My Code)’를 입력하면 캐릭터가 움직입니다.

Swift_Playground_Review_02

이런 식의 학습 방식은 코드닷오아르지, 코드아카데미, 구글도 이미 많이 시도했습니다. 하지만 여기서 스위프트 플레이그라운드만 가지고 있는 몇 가지 독특한 특징들이 있습니다. 먼저 각 단원마다 가르쳐야 하는 개념을 그래픽으로 설명하는 부분입니다. 커맨드, 즉 명령어를 어린이들에게 어떻게 설명하시겠나요? 애플은 맛있는 음식을 만들기 위한 요리법, 장난감을 조립할 때 필요한 설명서를 이용했습니다 .

Swift_Playground_Review_04

▲명령어 개념 들어가기 전에 나오는 애니매이션. “맛있는 빵을 굽기 위해 레시피를 따라가본적이 있나요?”(사진 : 스위프트 플레이그라운드 앱)

Swift_Playground_Review_05

▲”혹은 뭔가 멋있는 장난감을 조립하려고 설명서를 따라간 적이 있나요?”(사진 : 스위프트 플레이그라운드 앱)

Swift_Playground_Review_06

▲”여러분은 순서대로 설명서를 잘 따라야 합니다. 그러지 않으면 뭔가 원하지 않는 방향으로 일이 진행될 거예요.”(사진 : 스위프트 플레이그라운드 앱)

Swift_Playground_Review_07

▲코드를 쓰는 것은 일정의 설명서를 만드는 것입니다. 아이패드가 이 설명서를 보고 잘 따라갈 수 있게요. 여러분의 목표는 어떤 설명서와 순서가 좋은 결과를 만들어낼지 알아내는 것입니다. (사진 : 스위프트 플레이그라운드 앱)

Swift_Playground_Review_08

▲명령어라는 것을 써보면서 시작해보죠. 여기 ‘바이트’라는 캐릭터가 있어요. 바이트를 움직여보세요. 바이트는 퍼즐 세상을 돌아다니고, 몇가지 임무를 수행해야 합니다.(사진 : 스위프트 플레이그라운드 앱)

Swift_Playground_Review_09

▲글씨가 왜 이렇게 으깨어졌냐고요? 커맨드들은 단어 사이에 원래 띄어쓰기를 하지 않습니다. 그리고 항상 괄호를 함께 쓰죠. (사진 : 스위프트 플레이그라운드 앱)

함수는 운동화 끈을 묶는 과정으로 설명했네요.

Swift_Playground_Review_10

Swift_Playground_Review_11

▲매일 머리속에서 생각할 필요없이 자동으로 행동하는 일들이 있을 거예요. (사진 : 스위프트 플레이그라운드 앱)

Swift_Playground_Review_12

▲신발끈 묶기같이 간단한 일도 몸에 완전 익숙해지기까지는 사실 시간이 걸립니다. (사진 : 스위프트 플레이그라운드 앱)

Swift_Playground_Review_13

▲프로그래밍 세계에서는 함수는 여러가지 명령어를 새로 만들고 이를 원할 때마다 꺼내서 실행할 수 있게 도와줍니다. (사진 : 스위프트 플레이그라운드 앱)

이러한 설명은 프로그래밍을 처음 배우는 성인이나 프로그래밍을 가르쳐야 하는 교사들에게도 좋은 자료가 될 것 같습니다.

아이패드의 장점, 터치 기능을 잘 활용한 것도 눈에 띕니다. 먼저 명령어는 다 타이핑하지 않아도 자동으로 앱 아래에 추천됩니다. ‘c’를 누르면 아래 자동으로 ‘collectGem()’이라는 명령어가 바로 뜨는 식이죠. 오른쪽 화면에 나온 애니매이션을 회전하거나 줌인·줌아웃할 수도 있고요. 캐릭터를 클릭하면 다른 캐릭터를 고르고 선택할 수 있습니다. ‘힌트’라는 버튼을 누르면 정답 코드를 보여줍니다. 하지만 난이도가 올라갈 수록 답을 보여주지 않고, 스스로 코드를 짤 수 있게 도와주고 있습니다.

Swift_Playground_Review_15

Swift_Playground_Review_16

코드 결과물을 공유할 수 있는 메뉴도 많이 마련했네요. 사진찍기나 녹화, 인쇄 , PDF 만들기 기능을 이용해 다른 사람에게 결과물을 쉽게 전달할 수 있습니다.

Swift_Playground_Review_17

Swift_Playground_Review_18

‘글로서리(Glossary)’는 용어 사전이란 뜻입니다. 글로서리를 클릭하면 스위프트 플레이그라운드에서 배운 용어와 개념을 한눈에 볼 수 있습니다.

Swift_Playground_Review_19

‘어드밴스드(Advanced)’라는 메뉴를 누르면 실제로 스위프트로 쓰여진 소스코드를 볼 수 있습니다.

Swift_Playground_Review_20

코드배우기2 : 기초 뛰어넘기(LEARN TO CODE 2 Beyond the Basics)에서는 실전에서 활용할 수 있는 프로그래밍 개념을 알려줍니다. 배열, 변수, 초기화 같은 개념을 배울 수 있죠. 코드도 어려워지고, 오류를 찾아내는 과제도 계속 제공하고 있네요. 사실 기존 프로그래밍 세계에선 이러한 소스코드 몇 줄을 실행하기 위해 여러 프로그램을 미리 내려받고 준비해야 하는데요. 스위프트 플레이그라운드에선 어떠한 개발환경을 구축하지 않고, 앱을 실행하면 바로 소스코드를 실행하고 디버그도 쉽게 할 수 있습니다. 학교에서 쓴다면 그만큼 수업 준비 시간이 줄어들겠네요.

Swift_Playground_Review_37

▲애플은 배열의 개념을 순서가 있는 목록이라고 설명했다.(사진 : 스위프트 플레이그라운드 앱)

Swift_Playground_Review_38

▲애플은 배열의 개념을 아이스크림을 만드는 과정으로 비유했다.(사진 : 스위프트 플레이그라운드 앱)

Swift_Playground_Review_21

▲배열의 개념을 익히는 프로그래밍 소스코드를 입력하면 오른쪽에 애니매이션 결과를 볼 수 있다(사진 : 스위프트 플레이그라운드 앱)

코드를 잘못 쓴 경우 아래와 같이 동그란 원이 코드 옆에 표시됩니다.

Swift_Playground_Review_24

▲소스코드를 잘못 입력하면 특정 위치에 주황색 원이 표시된다. (사진 : 스위프트 플레이그라운드 앱)

런투코드 외에 ‘도전(Challenges)’이라는 탭에 있는 게임도 받아봤습니다. ‘드로잉 사운드(Drawing Sounds)’라는 게임은 마치 피아노를 누르듯이 색깔을 클릭하면 서로 다른 음이 나옵니다. 게임도 할 수 있지만 코드를 조금씩 바꿔서 나만의 게임으로 변형할 수 있습니다.

‘벽돌깨기(Brick Breaker)’ 게임입니다. 실제 앱에서 바로 게임을 할 수 있습니다. 왼쪽에 쓰여진 코드를 고쳐 블록의 색깔이나 구성을 실시간으로 바꿀 수 있습니다.

Swift_Playground_Review_22

게임 외에도 나만의 코드를 짤 수 있는 공간도 있습니다. 플레이그라운드 탭에서 ‘+’ 버튼을 누르면 아래와 같은 템플릿이 나옵니다.

Swift_Playground_Review_25

‘질문 답변 입력하기(Answers)’을 클릭하면 간단히 질문과 답변을 어떻게 입력하고 프로그래밍할 수 있는지 배울 수 있습니다. 문자를 입력하는 방법은 아래와 같습니다 .

Swift_Playground_Review_26

날짜도 불러올 수 있고요.

Swift_Playground_Review_27

숫자도 입력해볼 수 있습니다.

Swift_Playground_Review_28

객관식 답안을 입력해보는 방법도 배울 수 있네요.

Swift_Playground_Review_29

‘그래프 그리기(Graphing)’로 이렇게 수치를 입력하고 원하는 그래프를 그릴 수도 있습니다.

Swift_Playground_Review_30

‘도형그리기(Shapes)’ 메뉴도 흥미롭습니다.

Swift_Playground_Review_31

그림을 쉽게 불러와 내 소스코드에 활용할 수도 있습니다.

Swift_Playground_Review_32

‘새로운 페이지(Blank)’를 클릭하면 빈 도화지가 나옵니다. 여기에 자신의 원하는 코드를 자유롭게 작성하고 테스트해볼 수 있습니다. 각 함수 개념을 아이콘화해서 내용을 보다 쉽게 이해할 수 있을 것 같습니다.

Swift_Playground_Review_33

소스코드를 작성했던 내용은 이렇게 플레이그라운드 안에 차곡차곡 쌓입니다.

Swift_Playground_Review_34

스위프트 플레이그라운드는 기존 소프트웨어 교육 도구와 비교했을 때 굉장히 많은 애니매이션과 정보를 한곳에 모아둔 게 눈에 띕니다. 다른 곳이 1회성 게임이나 플랫폼만 제공하고 있다면, 스위프트 플레이그라운드는 프로그래밍 원리를 처음부터 끝까지 알려주는 개념과 콘텐츠를 만드는 데 공을 들였습니다. 교사용 가이드를 먼저 제작하고 공개하기도 했죠. 애플은 이러한 앱으로 아이패드를 교육용 시장에 적극 제공할 수 있고, 스위프트에 대한 관심을 끄는 효과도 누릴 수 있을 것 같습니다.

Swift_Playground_Reveiw_39

▲교사용 가이드. 사용법, 프로그래밍 개념을 글, 그림, 동영상으로 함께 제공하고 있다.

Swift_Playground_Reveiw_40

▲교사용 가이드. 사용법, 프로그래밍 개념을 글, 그림, 동영상으로 함께 제공하고 있다.

UDEMY_SWIFT_AD