이벤트

[김은우의 에듀테크 트렌드 따라잡기] 코딩 교육 사이트 LeetCode가 보여주는 코딩교육의 핵심

2018/04/17 09:50:26

인터뷰를 대비하기 위해 프로그래머들이 활용하는 사이트가 있습니다. ‘LeetCode’ 인데요. 이 사이트에는 수준별로 다양한 코딩 문제가 있습니다. 일종에 문제 은행이죠. 문제를 푼 후에는 코드가 정상적으로 작동하는지 확인까지 해줍니다.

이 사이트는 코딩 교육 사이트라기보다는 ‘코딩’이라는 문제 해결 기술을 훈련하는 사람들을 위한 공동체, 커뮤니티 사이트라고 보는 게 더 정확합니다. 문제은행은 물론, 인터뷰를 준비하는 사람뿐 아니라 회사도 뛰어난 재능을 ‘LeetCode’를 통해 찾을 수 있습니다. 정답이 있지 않고, 문제를 해결할 수 있는 다양한 방법이 있는 코딩이기에 가능한 커뮤니티겠죠.

‘LeetCode’의 사례를 듣고, 직접 웹사이트를 보면서 코딩 교육의 본질이 무엇일지 다시금 생각해보게 되었습니다. 언론을 통해 전해 듣는 코딩교육에 현실은 부작용에 초점이 맞춰져 있습니다. 고액의 학원에서 기계적으로 코딩을 가르친다는 비판이지요.

코딩 교육이 미국 실리콘 밸리를 중심으로 세계의 대세가 된 건 사실입니다. 하지만 기계적으로 빠르게 진도를 나가고 외울 때까지 체화시키는 코딩 학원은 분명 세계 대세와는 좀 다르게 느껴집니다. ‘문제를 외워서 푸는’ 한국의 고시 시스템에서 내용만 ‘코딩’으로 바뀌었기 때문은 아닐까요?

설사 서양이 방식과 다르다고 해도, 열심히 공부한다면 뭐든 상관없지 않을까요? 그렇지는 않습니다. 코딩에서 핵심 능력을 키우기에, 현재 전형적인 입시학원식 컬리큘럼이 적합할지 의문이 들기 때문입니다.

‘LeetCode’의 핵심은 커뮤니티입니다. 스스로 문제 해결을 위해 프로그램을 설계합니다. 설계를 위해 필요한 언어를 스스로 배웁니다. 이를 문제를 스스로 ‘LeetCode’ 등의 문제은행에서 문제를 찾아 풀어보지요. 본인의 정답을 다른 사람과 공유하고 토론하면서 점점 이해도가 깊어집니다. 강사가 만든 ‘지옥훈련’을 견뎌내서, 강사가 미리 준비한 문제를 누구보다 빠르게, 기계적으로 풀어낼 수 있게 만드는 ‘공포의 외인구단’이 연상되는 훈련과는 사뭇 다르게 느껴집니다.

문제는 이런 과거 지향적인 교수법이 코딩과는 전혀 맞지 않는다는 사실입니다. 사실, 코딩교육에서 코딩 그 자체는 전혀 중요하지 않습니다. 프로그래밍은 너무도 빠르게 바뀌기 때문이죠. 10년, 아니 5년 후에 어떤 방식으로 코딩할지는 아무도 모릅니다. 따라서 프로그래머는 쉼 없이 배워야 합니다. 본인의 실력을 스스로 알아야 합니다. 그리고 자신의 실력에 맞게 스스로 배우는 방법 또한 알아야겠지요. 어디서 프로그래밍을 배울 수 있는지. 어디서 문제를 풀어볼 수 있을지. 어디서 더 좋은 문제 풀이법을 살펴보고 비교할 수 있는지를 아는 게 중요합니다.

목록