코딩은 강력한 마술이고, 코드를 배운다는 것은 곰팡이 뒤덮인 마법책 더미를 읽으면서 연금술 재료를 고운 가루로 가는 것과도 같았다. 최소한 과거엔 그랬다. 하지만 새롭고 인터랙티브한 학습 툴은 연습과정을 강화해 사용자의 학습 속도에 맞춰 견습생에서 마법사로 성장시켜 준다. 일부 학습 툴은 진도를 나아가기 전에 사용자가 확실히 이해했는지 확인하여 학습 과정을 더욱 능동적으로 만들어 이해도를 높여주기도 한다. 초보자용만 있는 것도 아니다. 경험있는 코더들도 가끔씩 새 언어를 익혀야 한다. 하지만 이들 모두가 웹에 올라와있고, 대부분 무료다.
코드카데미 : 초보 친화적인 무료 학습
코드카데미(Codecademy)는 CSS, HTML, 자바스크립트 등에 대한 다양한 브라우저 기반 인터랙티브 튜토리얼을 제공하는데, 모두 무료다. 만약 짧은 강의 이상을 원한다면, 네 가지 “트랙” 중 하나를 선택할 수 있는데, 이들 트랙은 몇 가지 코스를 묶은 구조화된 학습 과정이다.
신택스 하이라이트와 실시간 오류 검사 기능을 갖춘 우아한 코드 편집기가 코드카데미 인터페이스 대부분을 차지하고 있다.
코드카데미에서 프로그래밍 시작하기(Getting Started With Programming)라는 다가가기 쉬우면서도 잘 구성된 초보단계 강좌를 테스트해 보았는데, 이미 아는 내용은 건너뛸 수 있었다. 또 이 사이트는 전문 프로그래머들이 자바스크립트, 파이썬(Python), 루비(Ruby) 교육을 위한 자체 강좌를 무료로 열 수 있게 해준다.
코드 스쿨 : 동영상 강좌와 코드가 만나다
코드카데미와 달리, 코드 스쿨(Code School)은 사용자들에게 월 25달러씩 받지만, 기트(Git) 튜토리얼과 레일스 포 좀비(Rails for Zombies)라는 루비 온 레일(Ruby on Rails) 프로그래밍 강좌 등 몇 가지 무료 강좌도 제공하고 있다.
코드 스쿨의 기트 튜토리얼 프로그램에서는 다운로드 없이 단순히 브라우저 내 가상 콘솔에 입력만 하면 된다.
기트 튜토리얼을 하는 데는 프로그래밍 지식이 필요치 않으며 순식간에 끝내버릴 수도 있다. 사용하려면 무료 기트허브(GitHub) 계정을 등록 설정해야 하고, 그 계정으로 리포지토리 푸시도 필요하다. 코드 스쿨의 기트 튜토리얼에는 설명 동영상은 없지만, 설명이 명료하고, 디자인이 깔끔하고 산만하지 않다.
레일스 포 좀비의 소개 영상에서는 좀비들이 루비 온 레일 학습을 어떻게 도와줄 수 있는지 설명이 나와있다. 그리고 좀비도 나온다.
조금 더 복잡한 레일스 포 좀비(Rails for Zombies) 튜토리얼에는 비디오와 함께 실용적인 연습문제가 있다. 코드카데미와 루비몽크 튜토리얼보다는 좀 더 높은 수준의 기본 지식을 가정하고 있으며, 단계를 건너뛸 수 없다. 즉 다음 단계로 넘어가기 전에 각 단계를 모두 끝마쳐야 한다. 비디오를 다운로드하고 연습문제를 풀면서 리뷰를 남길 수도 있다. 이 강좌는 아주 진도가 빠른데, 가끔 너무 빨라 따라가기 힘들 때도 있다.
네오 툴 : 루비 코안스와 기트 이머전
네오(Neo)(이전의 에지케이스EdgeCase)는 루비 프로그래밍 언어용 루비 코안(Ruby Koans)과 기트 버전 제어 시스템용 기트 이머전(Git Immersion)의 두 가지 무료 인터랙티브 튜토리얼을 제공한다. 코드 스쿨처럼, 이 튜토리얼들은 학생들이 어느 정도 기본적인 코딩 지식을 가지고 있다고 가정하고 진행된다.
실제 불교의 선문답과 달리, 루비 코안의 질문들에는 논리적 솔루션이 있다.
루비 코안(Ruby Koans)은 브라우저 내에서 이용할 수도 있고, 루비를 설치하고 코안을 다운로드하는 방식 모두 사용할 수 있다. 각각의 코안들은 예상 결과물을 얻기 위해 빈칸을 채우는 단순 연습문제들이다.