프로그래밍은 어떤 면에서 자전거 타기와 비슷합니다. 한동안 코드를 작성하지 않는다고 해서 코딩 방법 자체를 잊어버리지는 않죠. 다만 이 기술은 익히는 데 많은 연습이 필요하고, 실력을 유지하는 데는 더욱 꾸준한 노력이 요구됩니다.
프로그래밍 세계의 신입이든 베테랑이든, 결국 연습이 완벽을 만듭니다. 그래서 이번에는 이동 중에도, 짬 날 때마다 코딩하며 감각을 유지할 수 있도록 도와주는 코딩 학습 앱 6가지를 소개합니다.
1. Enki
Enki는 운동 앱에 비유하면 이해하기 쉽습니다. 매일 학습 워크아웃을 제공하지만, 지방을 태우고 근육을 만드는 대신 코딩 실력을 레벨업시켜 줍니다. 원하는 프로그래밍 언어를 선택하기만 하면 앱이 알아서 학습 진도를 관리해 줍니다.
이 앱은 완전 초보자부터 숙련된 개발자까지 폭넓게 지원합니다. 처음 시작하는 단계라면 웹 기술을 먼저 익힌 뒤 JavaScript로 넘어가는 식의 학습이 가능합니다. 또한 Enki는 단순히 프로그래밍 문법만 가르치지 않습니다. 리눅스 명령줄 사용법이나 Git을 활용한 버전 관리처럼 개발자에게 꼭 필요한 주변 지식도 함께 배울 수 있습니다.
Enki는 기본적으로 무료이며, 선택형 구독을 통해 추가 워크아웃 같은 프리미엄 기능을 이용할 수 있습니다. 이는 프로그래밍 학습 앱에서 흔히 볼 수 있는 방식이지만, Enki는 구독 없이도 충분히 배울 것이 많은 편입니다.
다운로드: Enki – Android | iOS (무료)
2. Grasshopper
여러 언어를 지원하는 다른 앱들과 달리, Grasshopper는 JavaScript 단 하나에 집중합니다. JavaScript는 배우기가 비교적 쉬우면서도 웹을 비롯해 다양한 분야에서 활용되기 때문에, 입문 언어로 아주 합리적인 선택입니다.
학습은 아주 기본적인 내용부터 시작해 점차 고급 개념과 언어 기능으로 확장됩니다. 진행하다 보면 D3 데이터 시각화 라이브러리를 활용해 그래픽으로 자신의 실력을 직접 보여줄 수도 있습니다. Grasshopper 팀이 꾸준히 새로운 강좌를 추가하고 있기 때문에 학습 자료가 부족해질 걱정은 없습니다.
또한 Grasshopper는 매일 접속해 학습을 이어가도록 동기를 부여하는 장치를 갖추고 있습니다. Todoist 같은 생산성 앱에서도 활용된 방식으로, 모든 사람에게 통하지는 않지만 꾸준함이 필요한 학습자에게는 딱 맞는 동력이 될 수 있습니다. 참고로 이 앱은 인앱 결제 없이 완전히 무료입니다.
다운로드: Grasshopper – Android | iOS (무료)
3. SoloLearn
손꼽히는 '코딩 배우기' 앱 중 하나인 SoloLearn은 방대한 학습 콘텐츠에서 가장 큰 강점을 보입니다. 다른 멀티 언어 코딩 앱들이 몇 가지 언어만 지원하는 경우가 많은 반면, SoloLearn은 C, C++, Java, JavaScript, PHP, Python, Ruby, Swift 등 놀라울 정도로 다양한 언어를 지원합니다.
SoloLearn 역시 게임화(Gamification) 요소를 적극적으로 활용해 학습 동기를 붙잡아 줍니다. 어떤 방식으로 공부하든 스킬 포인트와 업적을 쌓으며 레벨을 올릴 수 있고, 경쟁심이 강한 학습자라면 전 세계 학습자들과 순위를 다투는 도전도 즐길 수 있습니다.
SoloLearn의 대부분 기능은 무료지만, 전부는 아닙니다. 월 6.99달러 또는 연 47.99달러를 지불하면 SoloLearn PRO에 가입할 수 있는데, 광고가 제거되고 학습 목표 설정, 개인 맞춤형 학습 분석 열람 같은 기능이 추가됩니다.
다운로드: SoloLearn – Android | iOS (무료)
4. Codecademy Go
오랫동안 코딩 학습 정보를 접해 온 독자라면 이 앱이 목록에 포함된 점이 의외로 느껴질 수 있습니다. 과거에 Codecademy로 코딩을 배우는 데 한계가 있다는 지적이 있었기 때문입니다. 물론 그 비판은 여전히 유효하지만, 사실 이 목록의 대부분 앱에도 비슷한 한계가 존재합니다. 그 점을 염두에 두면, Codecademy Go는 기존 서비스를 모바일 환경에서 활용하기 좋은 보조 도구입니다.
특히 이미 Codecademy를 사용 중이라면 이 앱이 특히 유용합니다. 웹사이트의 강좌와 챌린지를 그대로 앱 형태로 옮겨 담았기 때문입니다. 화려한 기능은 없지만, 이름 그대로의 역할을 충실히 해내는 앱이라는 점에서 나쁘다고 할 수는 없습니다.
앱 자체는 인앱 결제 없이 완전히 무료입니다. Codecademy 서비스 전체가 유료인 것과는 별개로, 앱 사용에 추가 비용이 들지 않는다는 점은 분명한 장점입니다.
다운로드: Codecademy Go – Android | iOS (무료)
5. Hopscotch
마케팅 문구만 보면 Hopscotch가 아이들을 위한 앱이라고 생각하기 쉽습니다. 실제로 iOS App Store에서의 이름도 'Hopscotch: Coding for Kids'입니다. 하지만 아이 친화적이라는 이유만으로 외면할 필요는 없습니다. 이 앱은 단순한 어린이용 앱 그 이상입니다.
Hopscotch 공식 웹사이트의 FAQ를 살펴보면 이 앱은 모든 연령대에서 사용할 수 있다고 안내합니다. 개발 측은 7~13세 사용자를 염두에 두고 설계했다고 밝히면서도, 10대 후반이나 대학생들도 이 앱으로 학습하고 있다고 말합니다.
다른 앱들이 기초 이론부터 차근차근 다지는 데 집중하는 반면, Hopscotch는 곧바로 실전에 뛰어들게 해주는 것이 특징입니다. 몇 분 안에 간단한 앱이나 게임을 직접 만들어 보는 것이 목표로, 본격적인 학습에 들어가기 전에 코딩의 기본 개념을 재미있게 체감할 수 있습니다.
아쉬운 점은 현재 iOS 전용이라는 것입니다. 웹사이트의 문구로 미루어 Android 또는 브라우저 지원이 추후 추가될 가능성이 있지만, 구체적인 일정은 아직 발표되지 않았습니다. 다행히 Android 사용자를 위한 프로그래밍 학습 앱은 다른 좋은 선택지가 많습니다.
앱 자체는 무료로 다운로드할 수 있으며, 프리미엄 기능을 계속 사용하려면 월 7.99달러의 구독료가 필요합니다.
다운로드: Hopscotch – iOS (무료)
6. Encode
Encode는 JavaScript, Python, HTML, CSS를 지원해 웹 개발을 목표로 코딩을 배우려는 사람에게 특히 잘 맞는 앱입니다.
Android든 iOS든, Encode는 코딩에 자주 쓰이는 특수 문자를 모아둔 단축 바를 제공해 모바일 코딩을 한결 수월하게 만들어 줍니다. 덕분에 키보드에서 각종 괄호 기호를 일일이 찾아 헤맬 필요가 없습니다. 출시된 지 몇 년 된 앱이라 다른 경쟁작만큼 화려하지는 않지만, 확실히 살펴볼 가치가 있는 선택지입니다.
한동안 일부 사용자는 Android 전용이라는 이유로 Encode를 외면했습니다. 하지만 이제 iOS 버전도 출시되어 어떤 플랫폼을 사용하든 이용할 수 있습니다. 앱은 무료로 다운로드할 수 있고, 4.99달러의 인앱 결제로 Encode Plus를 구매하면 더 많은 강의와 챌린지가 잠금 해제됩니다.
다운로드: Encode – Android | iOS (무료)
그럼, 아이들을 위한 코딩 앱은?
위에서 소개한 앱 중 하나를 제외하면 대부분 전 연령대를 대상으로 합니다. 일부는 아이들에게도 무난할 수 있지만, 대체로 어린 학습자를 위해 설계된 앱은 아닙니다. CodePen이나 Pythonista처럼 어느 정도 프로그래밍 경험이 있는 사용자를 전제로 하는 앱도 있습니다.
더 어린 연령층을 위한 코딩 앱을 찾고 있다면 다행스럽게도 선택지는 넉넉합니다. 그만큼 종류가 다양해서 어린 학습자용 앱만 따로 정리한 글이 있을 정도입니다. 아이들이 프로그래밍을 재미있게 배울 수 있도록 도와주는 코딩 앱 목록을 확인해 보시기 바랍니다.