프로그래밍 어떻게 배우고 어떻게 가르칠까
프로그래밍을 어떻게 공부해야 좋냐는 질문은 전산학을 전공하는 대학생부터 10년차 개발자까지 다들 마음 속에 품고있는 화두 같은 게 아닌가 싶습니다. 또 프로그래밍을 가르치는 사람 입장에서는 어떻게 가르쳐야할까가 중요한 고민이 될 겁니다.

이 두 부류의 분들에게 도움이 되는 동영상 강의를 2015년도에 찍었습니다. 블로그에서는 처음 소개하게 되는 것 같습니다.

우선 첫번째 강의는 "프로그래밍 어떻게 공부할 것인가"입니다. 총 4시간 가량 되는 동영상 강의입니다. 대상은 프로그래밍을 효과적으로 공부하고 싶어하는 분들이며, 이미 프로그래머인 분들뿐만 아니라 향후 프로그래머가 되고 싶어하는 사람, 혹은 프로그래밍을 한 번 배워보고 싶어하는 타분야 종사자까지도 고려해서 만들었습니다. 하지만 사실 강의의 상당 부분은 프로그래밍과 관련이 없는 분들도 들으실 수 있습니다. 일례로 8강에서는 영어 공부법에 대한 이야기를 하기도 하고요.

이 강의의 특징은 근거 기반(evidence based)이라는 점이 아닐까 합니다. 되도록 교육학, 심리학, 소프트웨어공학 등의 연구 결과를 반영해 강의를 만들었습니다. 원래 이런 쪽 이야기는 개인의 제한된 경험에 기반하거나 혹은 주관적 의견에 좌우되는 경우가 많은데 그런 위험을 피하실 수 있을 겁니다.

현재 한 시간 분량의 강의를 무료로 공개해 두었습니다. (이제까지 무료로 2회차를 볼 수 있었는데 더 추가했습니다)

두번째 강의는 첫번째 강의의 원칙들을 적용해서 동영상 강의를 만들어 봤습니다. 그래서 효과적으로 가르치는 예를 보여드리기 위해서 만든 시범 강의입니다. 전체 4시간반 정도 되는 강의입니다. 주제는 정규식(Regular Expression)입니다. 정규식은 텍스트에서 패턴 검색을 할 때 자주 쓰는 도구인데요, 프로그래머라면 다들 어느 정도는 접해보셨을 겁니다. 하지만 이 강의는 제목이 "일상 정규식"입니다. 즉, 프로그래머뿐 아니라 데이터, 텍스트를 다루는 분들이 일상적으로 정규식을 잘 쓰게 도와주는 걸 목표로 합니다. 그리고, 정규식과는 관련없이 어떻게 가르쳐야할까 고민하는 분들에게 좋은 예시가 되는 강의라고 생각합니다.

이 강의의 특징 중 하나는 과정적, 생성적 접근을 했다는 점입니다. 노벨상을 수상한 머리 겔만(Murray Gell-Mann)의 유명한 일화가 있습니다. 어렸을 때부터 천재로 유명한 겔만은 19세에 MIT를 조기입학했는데요, 당시 물리학 수업을 듣던 친구 하나가 나중에 밝힌 일화입니다. 그 친구가 1주일 내내 고민해도 안풀리는 문제가 있어서 겔만의 기숙사 방을 두드렸다고 합니다. 겔만이 문을 열고 그 사이로 빼꼼히 문제지를 몇 초간 쳐다보더니 "-1"이라고 답하고는 문을 닫았다고 합니다. 그 몇 초 사이에 머리 속으로 문제를 푼 것이죠. 이 친구는 여기에 충격을 받고 MIT를 자퇴합니다. 그러고 나중에 알게 된 것이 겔만이 천재라서 아주 특이한 경우라는 것이었죠. 이런 해프닝이 벌어진 이유는 겔만이 답만 이야기를 해줬기 때문입니다. 그 과정은 빼먹고 말이죠. 그런데 많은 정규식 강의/교재가 그렇습니다. 이럴 때는 이런 정규식을 쓰면 된다는 말만 하지, 애초에 그 정규식을 생각해낸 사람이 머리 속에서 어떤 과정을 거쳤을지를 가르쳐주지 않습니다. 그래서 배워도 응용을 못하고 다 까먹는 것이지요. 그러나 본 강의에서는 정규식을 잘 쓰는 사람이 어떤 과정을 거쳐서 그런 기발한 정규식 패턴을 생각해내는지를 밝히고 있습니다. 이를 과정적 혹은 생성적이라고 부릅니다.

이 강의도 대략 한 시간 분량의 강의를 무료로 공개해 두었습니다. (이제까지 무료로 2회차를 볼 수 있었는데 더 추가했습니다) 아마 이 동영상만 보셔도 이제까지 봐온 정규식 교재나 강의들과 뭐가 다른가 바로 느낄 수 있지 않을까 합니다.

프로그래밍을 어떻게 배울까 어떻게 가르칠까 고민하시는 분들에게 지름길이 되기를 바랍니다.

--김창준
by 애자일컨설팅 | 2018/03/16 13:47 | 트랙백 | 덧글(0)
트랙백 주소 : http://agile.egloos.com/tb/5905451
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >