수업의 특징
본 수업은 Python(파이썬)과 Ruby(루비), Ruby와 Python을 동시에 배우는 수업입니다. 저는 이것을 병렬학습이라고 부릅니다. 이를 통해서 프로그래밍 언어들을 관통하는 보편적인 원리를 파악하고, 각 언어가 가지고 있는 특성을 드러내고 싶습니다. 두 개의 언어를 각각 배우는 것보다 빠르게 익힐 수 있다는 것은 덤으로 따라오는 효과입니다.
수업의 대상
본 수업은 프로그래밍 언어의 문법과 기능을 익히는 수업입니다. 수준은 초심자도 이해할 수 있도록 쉽게 진행됩니다. 언어를 먼저 공부하고 싶다면 여기서 시작하시면 됩니다. 하지만 프로그래밍을 통해서 무엇을 할 수 있는지를 먼저 경험하고 싶다면 '웹 애플리케이션 만들기' 수업을 먼저 볼 것을 추천합니다. 웹 애플리케이션 수업에서는 Ruby와 Python이 등장하지 않지만, 프로그래밍이 동작하는 일반적인 원리를 체험할 수 있을 것입니다.
수업의 한계
본 수업은 두 언어의 모든 기능을 알려드리지 않습니다. 프로그래밍 언어는 대단히 많은 기능을 가지고 있습니다. 모든 기능이 '언젠가'는 필요한 것이기는 합니다만, 처음부터 필요한 것은 아닙니다. 빠르게 무엇인가를 만들어 볼 수 있는 최소한의 도구를 알려드리는 것이 수업의 1차적인 목적입니다. 제작자가 수업을 위해서 하는 고민은 크게 두가지입니다.
- 무엇을 수업하지 않을것인가?
- 수업의 내용을 어떻게 충실히 전달할 것인가?
너무 많은 지식의 전달은 초심자에게 중요한 것과 덜 중요한 것을 분별하기 어렵게 합니다. 최소한 본 수업에서 등장하는 내용은 초심자에게는 꼭 필요한 것이면서, 프로그래밍이라는 분야를 지배하는 핵심적인 도구들입니다. 여기에 집중할 수 있도록 수업의 분량이 커지지 않도록 노력하고 있습니다.
또 본 수업의 제작자는 두 언어의 권위자가 아닙니다. 단지 두 언어를 여러분처럼 더 잘 이해하고 싶은 마음에 이 수업을 만들었습니다. 그런 점에서 우리 모두 같은 출발점에 서 있습니다. 혹 제작자가 잘못된 정보를 전달한다면 넓은 마음으로 이해해주시고 정정해주시면 감사한 마음으로 수용해서 반영하겠습니다. 제작자가 언어에 대해서 명함 정도는 내밀 수 있는 수준이 된다면, 고급기능을 파악하고 싶은 중급자를 위한 수업을 꼭 만들어보고 싶습니다. 하지만 지금은 아닙니다.
수업의 효과
각 언어를 통해서 할 수 있는 일은 아래 링크로 대체하겠습니다.
학습방법
제가 제시하는 접근 방법은 최소한의 도구를 익힌 후에 무엇인가를 만들어 보는 것입니다. 그 과정에서 만나는 문제는 검색 & 질문을 통해서 해결하는 것입니다. 이 과정을 반복하다 보면 덜 유용한 지식은 도태 될 것이고, 유용한 지식은 자신의 것이 될 것입니다. 그 과정에서 자신에게 최적화된 체계를 갖게 될 것입니다. 점차 기술적인 부분으로부터 자유로워지는 자신을 발견하게 될 것입니다.
표지소개
프로그래밍은 일종의 표현입니다. 아이는 무엇인가를 표현하는데 주저함이 없습니다. 잘하고 못하고는 상관하지 않습니다. 어른은 아이의 좋은 관객이 되어 줍니다. 잘하고 못하고는 상관하지 않습니다. 그런데 이런 아이들이 학교에 들어가고 직장생활을 하면서 마침내 어른이 되었을 때 이상한 일이 일어납니다. 표현을 못 하고, 피하고, 두려워합니다. 무슨 일이 있었던 걸까요? 어른들은 아이에게 해서는 안 되는 두 가지 일을 하고 있습니다. 수십 년 동안 관객의 삶을 살도록 강요합니다. 잘하는지 못하는지를 평가한 후에 못하면 소외시고, 잘하면 못하게 될까봐 불안하게 합니다. 우리는 무엇인가를 프로그래밍적으로 표현하기 위해서 이곳에 모였습니다. 프로그래밍에 대한 지식을 익히기에 앞서서 표현에 즐거움을 회복해야 합니다. 아이로 돌아가야 합니다. 그래서 아이는 어른의 스승이라고 하나 봅니다.
각 강의의 표지로 사용할 아이의 그림을 찾고 있습니다. 잘 그리고 못 그리고는 중요하지 않습니다. 자신감 있게 무엇인가를 표현하고 있다면 어떤 그림도 괜찮습니다. 꼭 그림이 아니어도 됩니다. 각 수업에 적합한 주제의 그림을 채택해서 알려드리겠습니다. 강의의 수에 한계가 있어서 모든 그림을 표지로 사용하지 못하는 점 미리 양해를 부탁드립니다.
- 이미지의 크기는 가로방향 1280 X 720으로 해주세요.
- 이름과 소속을 알려주세요. 익명으로 하셔도 됩니다
(예:청주 창신 초등학교 4학년 최진혁) - egoing+participate@gmail.com 으로 보내주세요.
보내주신 귀한 작품이 보람될 수 있도록 열심히 수업을 만들겠습니다. ^^