저자는 튜토리얼 제작 초기, 이론적으로는 좋다고 생각했던 아이디어들이 실제로는 효과적이지 않음을 경험했습니다. 하지만 사용자들과의 적극적인 소통을 통해 막히는 부분을 파악하고 지속적으로 내용을 수정하며 튜토리얼의 품질을 점진적으로 향상시켰습니다. 몇 년 후 튜토리얼은 상당한 수준에 도달했고, 이를 기반으로 책을 출간하는 기회를 얻어 추가적인 노력 끝에 완성도 높은 서적으로 거듭났습니다. 이 과정에는 수백 명의 독자와 리뷰어들의 도움이 결정적이었습니다.
교사를 위한 교육 철학
교사를 위한 교육 철학으로는 다음 원칙들을 강조합니다.
-
개념 분리: 학습자가 한 번에 하나의 개념에만 집중할 수 있도록 최대한 분리하여 제시합니다. 이는 학습 과정을 훨씬 부드럽게 만들고, 프로그래밍 학습의 난이도를 낮추는 데 기여합니다.
-
단일 방법 제시: 초보자에게는 한 가지 방법만을 가르쳐 혼란을 줄이고, 문제 해결에 대한 창의적 사고를 장려합니다. 프로그래밍의 많은 부분이 문제 해결 능력에 달려있으므로, 이러한 접근 방식은 매우 중요합니다.
-
직관 활용: 새로운 프로그래머가 이미 가지고 있는 개념에 프로그래밍 개념을 연결하여 직관적으로 이해하도록 돕습니다. 예를 들어, 객체 지향 프로그래밍 개념을 초기에 “객체” 또는 “객체의 종류”와 같은 용어로 자연스럽게 도입하여 학습 부담을 줄였습니다.
-
정확한 용어 사용: 불필요한 전문 용어는 피하되, 필요한 경우 “string”이나 “method”와 같이 정확한 용어를 사용하도록 하여 나중에 다시 배울 필요가 없도록 합니다.
-
흥미로운 연습 문제: 지루한 연습 문제는 학습 의욕을 떨어뜨리므로, 재미있고 도전적인 연습 문제를 고안하는 데 많은 시간을 할애해야 한다고 강조합니다. 완벽한 연습 문제는 학습자가 스스로 답을 찾고 싶게 만드는 ‘가려움’을 유발합니다.
또한, 이 튜토리얼은 Ruby 프로그램으로 자동 생성되며, 모든 코드 샘플은 자동으로 실행되어 출력 결과의 정확성을 보장합니다.